Previous 15994 Revisions Next

r844 Saturday 18th August, 2007 at 13:44:27 UTC by Nathan Woods
[X68000] Sprite fixes, made SRAM executable. [Barry Rodewald]
[docs]messnew.txt
[src/mess/drivers]x68k.c
[src/mess/video]x68k.c

src/mess/video/x68k.c
r843r844
248248   if(val == 1)  // VBlank on
249249   {
250250      mfp_timer_a_callback(machine, 0);
251      if(!(sys.mfp.aer & 0x10))
251//      if(!(sys.mfp.aer & 0x10))
252252         mfp_trigger_irq(MFP_IRQ_GPIP4);  // V-DISP
253253      vblank_line = sys.crtc.reg[6];
254254      if(vblank_line > sys.crtc.reg[4])
r843r844
262262   }
263263   if(val == 0)  // VBlank off
264264   {
265      if(sys.mfp.aer & 0x10)
266         mfp_trigger_irq(MFP_IRQ_GPIP4);  // V-DISP
265//      if(sys.mfp.aer & 0x10)
266//         mfp_trigger_irq(MFP_IRQ_GPIP4);  // V-DISP
267267      vblank_line = sys.crtc.reg[7];
268268      if(sys.crtc.height == 256)
269269         irq_time = video_screen_get_time_until_pos(0,vblank_line / 2,2);
r843r844
954954         x68k_draw_gfx(bitmap);
955955
956956      // Sprite / BG Tiles
957      if(priority == sys.video.sprite_pri && (x68k_spritereg[0x404] & 0x0200) && (sys.video.reg[2] & 0x0040))
957      if(priority == sys.video.sprite_pri /*&& (x68k_spritereg[0x404] & 0x0200)*/ && (sys.video.reg[2] & 0x0040))
958958      {
959959         x68k_draw_sprites(bitmap,1);
960960         if((x68k_spritereg[0x404] & 0x0008))
r843r844
973973            }
974974         }
975975         x68k_draw_sprites(bitmap,2);
976         if(x68k_spritereg[0x404] & 0x0001)
976         if((x68k_spritereg[0x404] & 0x0001))
977977         {
978978            if((x68k_spritereg[0x404] & 0x0006) == 0x02)  // BG0 TXSEL
979979            {
src/mess/drivers/x68k.c
r843r844
7575   ...plus a number of custom chips for video and other stuff...
7676
7777
78   *** Current status (16/01/07)
78   *** Current status (12/08/07)
7979   FDC/FDD : Uses the uPD765A code with a small patch to handle Sense Interrupt Status being invalid if not in seek mode
8080             Extra uPD72065 commands not yet implemented, although I have yet to see them used.
8181
r843r844
8686
8787   HDC/HDD : SASI and SCSI are not implemented, not a requirement at this point.
8888
89   RTC : Needs a lot of work, but relatively unimportant at this point.
89   RTC : Seems to work. (Tested using SX-Windows' Timer application)
9090
9191   DMA : FDD reading mostly works, other channels should work for effective memory copying (channel 2, often
9292         used to copy data to video RAM or the palette in the background).
9393
9494   Sound : FM works, ADPCM is unimplemented as yet.
9595
96   SCC : Unimplemented as yet.
96   SCC : Works enough to get the mouse running
9797
9898   Video : Text mode works, but is rather slow, especially scrolling up (uses multple "raster copy" commands).
9999           16 and 256 graphic layers work, but colours on a 65,536 colour layer are wrong.
r843r844
117117     Baraduke:      Corrupt background, locks up on demo mode.
118118     Viewpoint:     Corrupt graphics on title screen, phantom movements on title screen, corrupt sprites, locks up.
119119     Mr. Do:        Locks up or resets after some time.  Happens on Mr Do vs. Unicorns, as well.
120     Tetris:        Black dots over screen.
120     Tetris:        Black dots over screen (text layer).
121121     Parodius Da!:  Water isn't animated (beginning of stage 1), black squares (raster effects?)
122122
123123
r843r844
14271427   AM_RANGE(0xeb0000, 0xeb7fff) AM_READWRITE(x68k_spritereg_r, x68k_spritereg_w)
14281428   AM_RANGE(0xeb8000, 0xebffff) AM_READWRITE(x68k_spriteram_r, x68k_spriteram_w)
14291429   AM_RANGE(0xec0000, 0xecffff) AM_NOP  // User I/O
1430   AM_RANGE(0xed0000, 0xed3fff) AM_READWRITE(x68k_sram_r, x68k_sram_w) AM_BASE(&generic_nvram16) AM_SIZE(&generic_nvram_size)
1430//   AM_RANGE(0xed0000, 0xed3fff) AM_READWRITE(x68k_sram_r, x68k_sram_w) AM_BASE(&generic_nvram16) AM_SIZE(&generic_nvram_size)
1431   AM_RANGE(0xed0000, 0xed3fff) AM_RAMBANK(4) AM_BASE(&generic_nvram16) AM_SIZE(&generic_nvram_size)
14311432   AM_RANGE(0xed4000, 0xefffff) AM_NOP
14321433   AM_RANGE(0xf00000, 0xffffff) AM_ROM
14331434ADDRESS_MAP_END
r843r844
17711772   memset(mess_ram,0,mess_ram_size);
17721773   memcpy(mess_ram,romdata,8);
17731774
1774   memset(&sys,0,sizeof(sys));
1775
17761775   // init keyboard
17771776   sys.keyboard.delay = 500;  // 3*100+200
17781777   sys.keyboard.repeat = 110;  // 4^2*5+30
r843r844
18211820   memory_install_read16_handler(0,ADDRESS_SPACE_PROGRAM,0xe00000,0xe7ffff,0x07ffff,0,(read16_handler)x68k_tvram_r);
18221821   memory_install_write16_handler(0,ADDRESS_SPACE_PROGRAM,0xe00000,0xe7ffff,0x07ffff,0,(write16_handler)x68k_tvram_w);
18231822   memory_set_bankptr(3,tvram);  // so that code in VRAM is executable - needed for Terra Cresta
1823   memory_install_read16_handler(0,ADDRESS_SPACE_PROGRAM,0xed0000,0xed3fff,0x003fff,0,(read16_handler)x68k_sram_r);
1824   memory_install_write16_handler(0,ADDRESS_SPACE_PROGRAM,0xed0000,0xed3fff,0x003fff,0,(write16_handler)x68k_sram_w);
1825   memory_set_bankptr(4,generic_nvram16);  // so that code in SRAM is executable, there is an option for booting from SRAM
18241826
18251827   // start keyboard timer
18261828   mame_timer_adjust(kb_timer,time_zero,0,MAME_TIME_IN_MSEC(5));  // every 5ms
r843r844
18571859   scc_init(&scc_interface);
18581860   rp5c15_init(&rtc_intf);
18591861
1862   memset(&sys,0,sizeof(sys));
1863
18601864   cpunum_set_irq_callback(0, x68k_int_ack);
18611865
18621866   // init keyboard
r843r844
19121916   CONFIG_DEVICE(x68k_floppy_getinfo)
19131917   CONFIG_RAM(0x100000)
19141918   CONFIG_RAM(0x200000)
1919   CONFIG_RAM(0x300000)
19151920   CONFIG_RAM_DEFAULT(0x400000)  // 4MB - should be enough for most things
1921   CONFIG_RAM(0x500000)
1922   CONFIG_RAM(0x600000)
1923   CONFIG_RAM(0x700000)
19161924   CONFIG_RAM(0x800000)
1925   CONFIG_RAM(0x900000)
1926   CONFIG_RAM(0xa00000)
1927   CONFIG_RAM(0xb00000)
19171928   CONFIG_RAM(0xc00000)  // 12MB - maximum possible
19181929SYSTEM_CONFIG_END
19191930
docs/messnew.txt
r843r844
1010----------------------
1111- [MK1] Fixed interrupt issues and re-enabled driver.  [Wilbert Pol]
1212
13- [X68000] Sprite fixes, made SRAM executable.  [Barry Rodewald]
1314
1415
16
1517User Interface Changes:
1618-----------------------
1719(none)

Previous 15994 Revisions Next


© 1998-2018 The MESS Team