src/mess/drivers/rx78.c
| r8610 | r8611 | |
| 1 | 1 | /*************************************************************************** |
| 2 | 2 | |
| 3 | | Bandai Gundam RX-78 |
| 3 | Gundam RX-78 (c) 1983 Bandai |
| 4 | 4 | |
| 5 | | 13/07/2010 Skeleton driver. |
| 5 | preliminary driver by Angelo Salese |
| 6 | 6 | |
| 7 | TODO: |
| 8 | - Rewrite vram routines, they aren't quite right (we're currently drawing |
| 9 | stuff from the work ram and not the proper bitmap buffer) |
| 10 | |
| 7 | 11 | ****************************************************************************/ |
| 8 | 12 | |
| 9 | 13 | #include "emu.h" |
| 10 | 14 | #include "cpu/z80/z80.h" |
| 11 | 15 | #include "sound/sn76496.h" |
| 16 | #include "devices/cartslot.h" |
| 12 | 17 | |
| 13 | 18 | static VIDEO_START( rx78 ) |
| 14 | 19 | { |
| r8610 | r8611 | |
| 85 | 90 | static ADDRESS_MAP_START(rx78_mem, ADDRESS_SPACE_PROGRAM, 8) |
| 86 | 91 | ADDRESS_MAP_UNMAP_HIGH |
| 87 | 92 | AM_RANGE(0x0000, 0x1fff) AM_ROM |
| 88 | | |
| 89 | | AM_RANGE(0x2000, 0xffff) AM_RAM AM_REGION("maincpu", 0x2000) |
| 93 | AM_RANGE(0x2000, 0x5fff) AM_ROM AM_REGION("cart_img", 0x0000) |
| 94 | AM_RANGE(0x6000, 0xffff) AM_RAM AM_REGION("maincpu", 0x6000) |
| 90 | 95 | /* |
| 91 | 96 | base memory map: |
| 92 | 97 | AM_RANGE(0x0000, 0x1fff) AM_ROM |
| 93 | 98 | AM_RANGE(0x2000, 0x5fff) AM_ROM //cart |
| 94 | 99 | AM_RANGE(0x6000, 0xafff) AM_RAM //ext ram |
| 95 | | AM_RANGE(0xb000, 0xefff) AM_RAM //work ram |
| 96 | | AM_RANGE(0xf000, 0xffff) AM_NOP |
| 100 | AM_RANGE(0xb000, 0xebff) AM_RAM //work ram |
| 101 | AM_RANGE(0xec00, 0xffff) AM_RAM //bitmap vram (banked) |
| 97 | 102 | */ |
| 98 | 103 | ADDRESS_MAP_END |
| 99 | 104 | |
| r8610 | r8611 | |
| 258 | 263 | MDRV_VIDEO_START(rx78) |
| 259 | 264 | MDRV_VIDEO_UPDATE(rx78) |
| 260 | 265 | |
| 266 | MDRV_CARTSLOT_ADD("cart") |
| 267 | MDRV_CARTSLOT_EXTENSION_LIST("rom") |
| 268 | MDRV_CARTSLOT_NOT_MANDATORY |
| 269 | |
| 261 | 270 | MDRV_SPEAKER_STANDARD_MONO("mono") |
| 262 | 271 | |
| 263 | 272 | MDRV_SOUND_ADD("sn1", SN76489A, 1996800) // unknown clock / divider |
| r8610 | r8611 | |
| 268 | 277 | ROM_START( rx78 ) |
| 269 | 278 | ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASEFF ) |
| 270 | 279 | ROM_LOAD( "ipl.rom", 0x0000, 0x2000, CRC(a194ea53) SHA1(ba39e73e6eb7cbb8906fff1f81a98964cd62af0d)) |
| 280 | |
| 281 | ROM_REGION( 0x4000, "cart_img", ROMREGION_ERASEFF ) |
| 282 | ROM_CART_LOAD("cart", 0x0000, 0x4000, ROM_OPTIONAL | ROM_NOMIRROR) |
| 271 | 283 | ROM_END |
| 272 | 284 | |
| 273 | 285 | /* Driver */ |