PCem

changeset 131:f22b6152c221

Fixed memory mapping on ISA video cards - should now work on Award 430VX PCI.
author TomW
date Wed Jul 16 20:00:34 2014 +0100
parents a10f75a7a701
children 2b9cea0be424
files src/vid_ati18800.c src/vid_ati28800.c src/vid_cl5429.c src/vid_ega.c src/vid_et4000.c src/vid_oti067.c src/vid_paradise.c src/vid_tgui9440.c src/vid_tvga.c src/vid_vga.c
diffstat 10 files changed, 12 insertions(+), 12 deletions(-) [+]
line diff
     1.1 --- a/src/vid_ati18800.c	Tue Jul 15 20:42:48 2014 +0100
     1.2 +++ b/src/vid_ati18800.c	Wed Jul 16 20:00:34 2014 +0100
     1.3 @@ -125,7 +125,7 @@
     1.4          ati18800_t *ati18800 = malloc(sizeof(ati18800_t));
     1.5          memset(ati18800, 0, sizeof(ati18800_t));
     1.6          
     1.7 -        rom_init(&ati18800->bios_rom, "roms/vgaedge16.vbi", 0xc0000, 0x8000, 0x7fff, 0, 0);
     1.8 +        rom_init(&ati18800->bios_rom, "roms/vgaedge16.vbi", 0xc0000, 0x8000, 0x7fff, 0, MEM_MAPPING_EXTERNAL);
     1.9          
    1.10          svga_init(&ati18800->svga, ati18800, 1 << 19, /*512kb*/
    1.11                     NULL,
     2.1 --- a/src/vid_ati28800.c	Tue Jul 15 20:42:48 2014 +0100
     2.2 +++ b/src/vid_ati28800.c	Wed Jul 16 20:00:34 2014 +0100
     2.3 @@ -146,7 +146,7 @@
     2.4          ati28800_t *ati28800 = malloc(sizeof(ati28800_t));
     2.5          memset(ati28800, 0, sizeof(ati28800_t));
     2.6          
     2.7 -        rom_init(&ati28800->bios_rom, "roms/bios.bin", 0xc0000, 0x8000, 0x7fff, 0, 0);
     2.8 +        rom_init(&ati28800->bios_rom, "roms/bios.bin", 0xc0000, 0x8000, 0x7fff, 0, MEM_MAPPING_EXTERNAL);
     2.9          
    2.10          svga_init(&ati28800->svga, ati28800, 1 << 19, /*512kb*/
    2.11                     ati28800_recalctimings,
     3.1 --- a/src/vid_cl5429.c	Tue Jul 15 20:42:48 2014 +0100
     3.2 +++ b/src/vid_cl5429.c	Wed Jul 16 20:00:34 2014 +0100
     3.3 @@ -819,7 +819,7 @@
     3.4          svga_t *svga = &gd5429->svga;
     3.5          memset(gd5429, 0, sizeof(gd5429_t));
     3.6  
     3.7 -        rom_init(&gd5429->bios_rom, "roms/5429.vbi", 0xc0000, 0x8000, 0x7fff, 0, 0);
     3.8 +        rom_init(&gd5429->bios_rom, "roms/5429.vbi", 0xc0000, 0x8000, 0x7fff, 0, MEM_MAPPING_EXTERNAL);
     3.9          
    3.10          svga_init(&gd5429->svga, gd5429, 1 << 21, /*2mb*/
    3.11                     gd5429_recalctimings,
     4.1 --- a/src/vid_ega.c	Tue Jul 15 20:42:48 2014 +0100
     4.2 +++ b/src/vid_ega.c	Wed Jul 16 20:00:34 2014 +0100
     4.3 @@ -812,7 +812,7 @@
     4.4          ega_t *ega = malloc(sizeof(ega_t));
     4.5          memset(ega, 0, sizeof(ega_t));
     4.6          
     4.7 -        rom_init(&ega->bios_rom, "roms/ibm_6277356_ega_card_u44_27128.bin", 0xc0000, 0x8000, 0x7fff, 0, 0);
     4.8 +        rom_init(&ega->bios_rom, "roms/ibm_6277356_ega_card_u44_27128.bin", 0xc0000, 0x8000, 0x7fff, 0, MEM_MAPPING_EXTERNAL);
     4.9  
    4.10          if (ega->bios_rom.rom[0x3ffe] == 0xaa && ega->bios_rom.rom[0x3fff] == 0x55)
    4.11          {
     5.1 --- a/src/vid_et4000.c	Tue Jul 15 20:42:48 2014 +0100
     5.2 +++ b/src/vid_et4000.c	Wed Jul 16 20:00:34 2014 +0100
     5.3 @@ -133,7 +133,7 @@
     5.4          et4000_t *et4000 = malloc(sizeof(et4000_t));
     5.5          memset(et4000, 0, sizeof(et4000_t));
     5.6  
     5.7 -        rom_init(&et4000->bios_rom, "roms/et4000.bin", 0xc0000, 0x8000, 0x7fff, 0, 0);
     5.8 +        rom_init(&et4000->bios_rom, "roms/et4000.bin", 0xc0000, 0x8000, 0x7fff, 0, MEM_MAPPING_EXTERNAL);
     5.9                  
    5.10          io_sethandler(0x03c0, 0x0020, et4000_in, NULL, NULL, et4000_out, NULL, NULL, et4000);
    5.11  
     6.1 --- a/src/vid_oti067.c	Tue Jul 15 20:42:48 2014 +0100
     6.2 +++ b/src/vid_oti067.c	Wed Jul 16 20:00:34 2014 +0100
     6.3 @@ -126,7 +126,7 @@
     6.4          oti067_t *oti067 = malloc(sizeof(oti067_t));
     6.5          memset(oti067, 0, sizeof(oti067_t));
     6.6          
     6.7 -        rom_init(&oti067->bios_rom, bios_fn, 0xc0000, 0x8000, 0x7fff, 0, 0);
     6.8 +        rom_init(&oti067->bios_rom, bios_fn, 0xc0000, 0x8000, 0x7fff, 0, MEM_MAPPING_EXTERNAL);
     6.9  
    6.10          oti067->vram_size = vram_size;
    6.11          oti067->vram_mask = (vram_size << 10) - 1;
     7.1 --- a/src/vid_paradise.c	Tue Jul 15 20:42:48 2014 +0100
     7.2 +++ b/src/vid_paradise.c	Wed Jul 16 20:00:34 2014 +0100
     7.3 @@ -322,7 +322,7 @@
     7.4          paradise_t *paradise = paradise_pvga1a_init();
     7.5          
     7.6          if (paradise)
     7.7 -                rom_init(&paradise->bios_rom, "roms/pc2086/40186.ic171", 0xc0000, 0x8000, 0x7fff, 0, 0);
     7.8 +                rom_init(&paradise->bios_rom, "roms/pc2086/40186.ic171", 0xc0000, 0x8000, 0x7fff, 0, MEM_MAPPING_EXTERNAL);
     7.9                  
    7.10          return paradise;
    7.11  }
    7.12 @@ -331,7 +331,7 @@
    7.13          paradise_t *paradise = paradise_pvga1a_init();
    7.14  
    7.15          if (paradise)
    7.16 -                rom_init(&paradise->bios_rom, "roms/pc3086/c000.bin", 0xc0000, 0x8000, 0x7fff, 0, 0);
    7.17 +                rom_init(&paradise->bios_rom, "roms/pc3086/c000.bin", 0xc0000, 0x8000, 0x7fff, 0, MEM_MAPPING_EXTERNAL);
    7.18                  
    7.19          return paradise;
    7.20  }
    7.21 @@ -344,7 +344,7 @@
    7.22                  rom_init_interleaved(&paradise->bios_rom,
    7.23                                       "roms/megapc/41651-bios lo.u18",
    7.24                                       "roms/megapc/211253-bios hi.u19",
    7.25 -                                     0xc0000, 0x8000, 0x7fff, 0, 0);
    7.26 +                                     0xc0000, 0x8000, 0x7fff, 0, MEM_MAPPING_EXTERNAL);
    7.27          
    7.28          return paradise;
    7.29  }
     8.1 --- a/src/vid_tgui9440.c	Tue Jul 15 20:42:48 2014 +0100
     8.2 +++ b/src/vid_tgui9440.c	Wed Jul 16 20:00:34 2014 +0100
     8.3 @@ -475,7 +475,7 @@
     8.4          tgui->vram_size = device_get_config_int("memory") << 20;
     8.5          tgui->vram_mask = tgui->vram_size - 1;
     8.6  
     8.7 -        rom_init(&tgui->bios_rom, "roms/9440.vbi", 0xc0000, 0x8000, 0x7fff, 0, 0);
     8.8 +        rom_init(&tgui->bios_rom, "roms/9440.vbi", 0xc0000, 0x8000, 0x7fff, 0, MEM_MAPPING_EXTERNAL);
     8.9  
    8.10          svga_init(&tgui->svga, tgui, tgui->vram_size,
    8.11                     tgui_recalctimings,
     9.1 --- a/src/vid_tvga.c	Tue Jul 15 20:42:48 2014 +0100
     9.2 +++ b/src/vid_tvga.c	Wed Jul 16 20:00:34 2014 +0100
     9.3 @@ -259,7 +259,7 @@
     9.4          tvga->vram_size = device_get_config_int("memory") << 10;
     9.5          tvga->vram_mask = tvga->vram_size - 1;
     9.6          
     9.7 -        rom_init(&tvga->bios_rom, "roms/trident.bin", 0xc0000, 0x8000, 0x7fff, 0, 0);
     9.8 +        rom_init(&tvga->bios_rom, "roms/trident.bin", 0xc0000, 0x8000, 0x7fff, 0, MEM_MAPPING_EXTERNAL);
     9.9          
    9.10          svga_init(&tvga->svga, tvga, tvga->vram_size,
    9.11                     tvga_recalctimings,
    10.1 --- a/src/vid_vga.c	Tue Jul 15 20:42:48 2014 +0100
    10.2 +++ b/src/vid_vga.c	Wed Jul 16 20:00:34 2014 +0100
    10.3 @@ -81,7 +81,7 @@
    10.4          vga_t *vga = malloc(sizeof(vga_t));
    10.5          memset(vga, 0, sizeof(vga_t));
    10.6  
    10.7 -        rom_init(&vga->bios_rom, "roms/ibm_vga.bin", 0xc0000, 0x8000, 0x7fff, 0, 0);
    10.8 +        rom_init(&vga->bios_rom, "roms/ibm_vga.bin", 0xc0000, 0x8000, 0x7fff, 0, MEM_MAPPING_EXTERNAL);
    10.9  
   10.10          svga_init(&vga->svga, vga, 1 << 18, /*256kb*/
   10.11                     NULL,