Previous 199869 Revisions Next

r20724 Monday 4th February, 2013 at 10:37:32 UTC by Jonathan Gevaryahu
(MESS) cat.c(Canon Cat): added another v2.40 romset dumped from two original developer's machines and made it the parent set. Lots and lots of documentation updates. [Lord Nightmare, Dwight Elvey, Sandy Bumgarner]
[src/mess/drivers]cat.c

trunk/src/mess/drivers/cat.c
r20723r20724
11/***************************************************************************
22
3    Canon Cat driver by Miodrag Milanovic and Lord Nightmare
3    Canon Cat, Model V777
4    IAI Swyft Model P0001
5    driver by Miodrag Milanovic and Lord Nightmare
6    With information and help from John "Sandy" Bumgarner, Dwight Elvey,
7    Charles Springer, Terry Holmes, Jonathan Sand, Aza Raskin and others.
48
9    This driver is dedicated in memory of Jef Raskin and Dave Boulton
10
511    12/06/2009 Skeleton driver.
612    15/06/2009 Working driver
713
814Pictures: http://www.regnirps.com/Apple6502stuff/apple_iie_cat.htm
915
16Canon cat blue "Use Front Labels":
17` (really degree, +-, paragraph-mark and section-mark): LEFT MARGIN
18-_: INDENT
19+=: RIGHT MARGIN
20UNDO: SPELL CHECK LEAP (this is actually a red LEAP label)
21PERM SPACE/TAB: SET/CLEAR TAB
22Q: UNDER LINE
23W: BOLD
24E: CAPS
25T: Paragraph STYLE
26U: LINE SPACE
27O: ADD SPELLING
28[ (really 1/4, 1/2, double-underline and |): SETUP
29Backspace (really ERASE): ANSWER
30LOCK: DOCUMENT LOCK
31A: COPY
32D: SEND CONTROL
33G: CALC
34J: PRINT
35L: DISK
36Colon: FORMAT/WIPE DISK (only when wheel! mode is enabled, see below)
37"': PHONE
38Enter (really RETURN): SEND
39X: LOCAL LEAP
40V: LEARN
41N: EXPLAIN
42,: SORT
43?/: KBI/II
44Pgup (really DOCUMENT/PAGE): TITLES
45Leap Left: LEAP AGAIN (left)
46Leap Right: LEAP AGAIN (right)
47
48
1049How to enable the FORTH interpreter (http://canoncat.org/canoncat/enableforth.html)
1150
1251The definitive instructions of going Forth on a Cat, tested on a living Cat.
r20723r20724
2564* when the Cat boots, type (without quotes) "Enable Forth Language"
2665* hold left-alt(leap left) and type E n a, release left-alt (the left cursor is now at the first character)
2766* simultaneously press both alt keys for a moment and release both (the whole "Enable Forth Language" line will be selected)
28* press control(use front) and press backspace(Erase) (If beeping actually worked the cat would beep here)
67* press control(use front) and press backspace(ERASE) (If beeping actually worked the cat would beep here)
2968* press control(use front), shift, and space (the cursor should stop blinking)
3069* press enter and the forth "ok" prompt should appear. you can type 'page' and enter to clear the screen 
70Optional further steps:
71* type without quotes "-1 wheel! savesetup re" at the forth prompt to permanently
72  enable shift + use front + space to dump to forth mode easily
73* change the keyboard setting in the setup menu (use front + [ ) to ASCII so you can type < and >
74* after doing the -1 wheel! thing, you can compile a selected forth program in the editor
75  by selecting it and hitting ANSWER (use front + ERASE)
3176
77If ever in forth mode you can return to the editor with the forth word (without quotes) "re"
78
79
80Canon cat credits easter egg:
81* hold either leap key, then simultaneously hold shift, then type Q W E R A S D F Z X C V and release all the keys
82* hit EXPLAIN (use front + N) and the credits screen will be displayed
83
84Canon Cat credits details: (WIP)
85Scott Kim - responsible for fonts on swyft and cat
86
87
88Swyft versions:
89There are at least 4 variants of machines called 'swyft':
90* The earliest desktop units which use plexi or rubber-tooled case and an
91  angled monitor; about a dozen were made and at least two of clear plexi.
92  These are sometimes called "wrinkled" swyfts. 5.25" drive, may be able to
93  read Apple2 Swyftware and Swyftcard-created disks.
94 It is possible no prototypes of this type got beyond the 'runs forth console only' stage.
95  http://archive.computerhistory.org/resources/access/physical-object/2011/09/102746929.01.01.lg.JPG
96  http://www.digibarn.com/collections/systems/swyft/Swyft-No2-05-1271.jpg
97  http://www.digibarn.com/friends/jef-raskin/slides/iai/A%20-687%20SWYFTPRO.JPG
98* The early "flat cat" or "roadkill" portable LCD screen units with a white
99  case and just a keyboard. Model SP0001
100  http://www.digibarn.com/collections/systems/swyft/Image82.jpg
101* The later "ur-cat" desktop units which use a machine tooled case and look
102  more or less like the canon cat. about 100-200 were made. 3.5" drive.
103  These have a fully functional EDDE editor as the cat does, and can even compile forth programs.
104  (the 'swyft' driver is based on one of these)
105* The very late portable LCD units with a dark grey case and a row of hotkey
106  buttons below the screen.
107  http://www.digibarn.com/collections/systems/swyft/swyft.jpg
108
109Canon Cat versions:
110There is really only one version of the cat which saw wide release, the US version.
111* It is possible a very small number of UK/European units were released as a test.
112  If so, these will have slightly different keyboard key caps and different
113  system and spellcheck roms.
114
115As for prototypes/dev cat machines, a few minor variants exist:
116* Prototype cat motherboards used 16k*4bit drams instead of 64k*4bit as the
117  final system did and hence max out at 128k of dram instead of 512k.
118  The final system included 256k of dram and can be upgraded to 512k.
119* At least some developer units were modified to have an external BNC
120  connector, ostensibly to display the internal screen's video externally.
121  http://www.digibarn.com/collections/systems/canon-cat/Image55.jpg
122
123
32124Canon Cat:
33125<insert guru-diagram here once drawn>
34126Crystals:
r20723r20724
36128X2: 3.579545Mhz, used by the DTMF generator chip AMI S2579 at IC40
37129X3: 2.4576Mhz, used by the modem chip AMI S35213 at IC37
38130
131IAI Swyft:
132<insert guru-diagram here once drawn>
39133
40134
41135ToDo:
42136* Canon Cat
43137- Find the mirrors for the write-only video control register and figure out
44138  what the writes actually do; hook these up properly to screen timing etc
45- The 2.40 (bios 0) firmware gets annoyed and thinks it has a phone call at
139- The 2.40 firmwares both get annoyed and think they have a phone call at
46140  random.
47  (hit ctrl a few times to make it shut up for a bit or go into forth mode);
48  The 1.74 (bios 1) firmware doesn't have this issue.
141  (hit shift or usefront a few times to make it shut up for a bit or go into
142  forth mode); The 1.74 firmware doesn't have this issue.
49143  Figure out what causes it and make it stop. May be OFFHOOK or more likely
50  the DUART thinks the phone is ringing constantly.
144  the DUART thinks the phone is ringing constantly due to incomplete duart or
145  an ip bit hooked up wrong.
146  You can alsp make it stop by going to SETUP and change the serial port from
147  'alternate printer' to SEND.
51148- Floppy drive (3.5", Single Sided Double Density MFM, ~400kb)
52149  * Cat has very low level control of data being read or written, much like
53150    the Amiga does
r20723r20724
71168- Hook duart IP2 up to the 6ms timer
72169- Correctly hook the duart interrupt to the 68k, including autovector using the vector register on the duart
73170- Watchdog timer/powerfail at 0x85xxxx
74- Canon Cat released versions known: 1.74 (dumped), 2.40 (dumped), 2.42 (NEED DUMP)
171- Canon Cat released versions known: 1.74 US (dumped), 2.40 US (dumped; is this actually original, or compiled from the released source code?), 2.42 (NEED DUMP)
172  It is possible a few prototype UK 1.74 or 2.40 units were produced; the code roms of these will differ (they contain different spellcheck "core" code) as well as the spellcheck roms, the keyboard id and the keycaps.
75173- Known Spellcheck roms: NH7-0684 (US, dumped); NH7-0724 (UK, NEED DUMP);
76174  NH7-0813/0814 (Quebec/France, NEED DUMP); NH7-1019/1020/1021 (Germany, NEED DUMP)
77175  It is possible the non-US roms were never officially released.
78176  Wordlist sources: American Heritage (US and UK), Librarie Larousse (FR), Langenscheidt (DE)
177- (would-be-really-nice-but-totally-unnecessary feature): due to open bus, the
178  svrom1 and svrom2 checksums in diagnostics read as 01A80000 and 01020000
179  respectively on a real machine (and hence appear inverted/'fail'-state).
180  This requires sub-cycle accurate 68k open bus emulation to pull off, as well
181  as emulating the fact that UDS/LDS are ?not connected? (unclear because this
182  happens inside an asic) for the SVROMS (or the svram or the code roms, for
183  that matter!)
184- Hook Battery Low input to a dipswitch.
185- Document what every IPx and OPx bit on the DUART connects to.
186 
79187
80188* Swyft
81189- Figure out the keyboard (interrupts are involved? or maybe an NMI on a
82190  timer/vblank?)
83- Communications ports (Duart? or some other plain UART?)
191- Beeper
192- Communications port (Duart? or some other plain UART?)
84193- Floppy (probably similar to the Cat)
85194- Centronics port (probably similar to the Cat)
195- Joystick port
196- Forth button (keep in mind shift-usefront-space ALWAYS enables forth on a swyft)
86197- Multple undumped firmware revisions exist
87198
88199****************************************************************************/
r20723r20724
428539}
429540
430541/* 0x840001: 'opr' Output Port Register
431 * writing 0x1c (or possibly anything) here resets the watchdog
542 * writing 0x1c (or probably anything with bit 3 set) here resets the watchdog
432543 * if the watchdog expires an NMI is sent to the cpu
433544 */
434545WRITE16_MEMBER( cat_state::cat_opr_w )
r20723r20724
445556    * \--------- ?
446557    */
447558#ifdef DEBUG_VIDEO_ENABLE_W
448   //if ((data&0xef)!= 0x0c)
449559   fprintf(stderr, "Video enable reg write: offset %06X, data %04X\n", 0x840000+(offset<<1), data);
450560#endif
451561   m_video_enable = BIT( data, 2 );
452562   m_video_invert = 1-BIT( data, 4 );
453563}
454564
455// 0x850000: watchdog timer/video status
565// 0x850000: 'wdt' watchdog timer/video status
456566// implement me!
457567
458// 0x860000: test regitser
568// 0x860000: 'tcb' test regitser
459569// the power fail status reset bit also lives here somewhere?
460570WRITE16_MEMBER( cat_state::cat_tcb_w )
461571{
r20723r20724
4956050   0   1   x   x   0   *   *   *   *   *   *   *   *   *   *   *   *   *   *   *   *   *   1       R   SVROM 0 ic6 (MASK ROM tc531000) [controlled via GA2 /SVCS0]
4966060   0   1   x   x   1   *   *   *   *   *   *   *   *   *   *   *   *   *   *   *   *   *   0       O   OPEN BUS (reads as 0x2e) [controlled via GA2 /SVCS1] *SEE BELOW*
4976070   0   1   x   x   1   *   *   *   *   *   *   *   *   *   *   *   *   *   *   *   *   *   1       R   SVROM 1 ic8 (not present on cat as sold, open bus reads as 0x80) [controlled via GA2 /SVCS1] *SEE BELOW*
498                                                                                                    *NOTE: on developer units, two 128K SRAMS are mapped in place of the two entries immediately above!* (this involves some creative wiring+sockets or an official IAI 'shadow ram board')
608                                                                                                    *NOTE: on Dwight E's user-made developer unit, two 128K SRAMS are mapped in place of the two entries immediately above!* (this involves some creative wiring+sockets); the official IAI 'shadow ram board' maps the ram to the A00000-A3FFFF area instead)
4996090   1   *   *   *   *   *   *   *   *   *   *   *   *   *   *   *   *   *   *   *   *   *   *       *BOTH GATE ARRAYS 1 and 2 DECODE THIS AREA; 2 DEALS WITH ADDR AND 1 WITH DATA/CAS/RAS*
5006100   1   0   x   x   a   b   *   *   *   *   *   *   *   *   *   *   *   *   *   *   *   *   *       RW  VIDEO/SYSTEM DRAM (ab: 00=row 0, ic26-29; 01=row 1, ic22-25; 10=row 2; ic18-21; 11=row 3; ic14-17)
501611                                                                                                    *NOTE: DRAM rows 2 and 3 above are only usually populated in cat developer units!*
r20723r20724
5206301   0   0   x   x   1   1   0   x   x   x   x   x   x   x   x   x   x   x   x   x   x   x   *       R?W {'tcb'} test control bits: powerfail status in bit <?> (reads as 0x0000)
5216311   0   0   x   x   1   1   1   x   x   x   x   x   x   x   x   x   x   x   x   x   x   x   *       ?   Unknown (reads as 0x2e80)
522632
5231   0   1   x   x   x   x   x   x   x   x   x   x   x   x   x   x   x   x   x   x   x   x   x       O   OPEN BUS (reads as 0x2e80)
5241   1   x   x   x   x   x   x   x   x   x   x   x   x   x   x   x   x   x   x   x   x   x   x       O   OPEN BUS (reads as 0x2e80)
6331   0   1   x   x   x   x   x   x   x   x   x   x   x   x   x   x   x   x   x   x   x   x   x       O   OPEN BUS (reads as 0x2e80) [68k DTACK is asserted by gate array 1 when accessing this area, for testing?] On real IAI shadow rom board, at least 0x40000 of ram lives here.
6341   1   x   x   x   x   x   x   x   x   x   x   x   x   x   x   x   x   x   x   x   x   x   x       O   OPEN BUS (reads as 0x2e80) [68k VPA is asserted by gate array 1 when accessing this area, for testing?]
525635*/
526636
527637
r20723r20724
548658   //AM_RANGE(0x850000, 0x850001) AM_READ(cat_video_status) AM_MIRROR(0x18FFFE) // video status and watchdog read: hblank, vblank or draw?
549659   AM_RANGE(0x860000, 0x860001) AM_READWRITE(cat_0000_r, cat_tcb_w) AM_MIRROR(0x18FFFE) // Test mode
550660   AM_RANGE(0x870000, 0x870001) AM_READ(cat_2e80_r) AM_MIRROR(0x18FFFE) // Open bus?
551   AM_RANGE(0xA00000, 0xA00001) AM_READ(cat_2e80_r) AM_MIRROR(0x1FFFFE) // Open bus?
552   AM_RANGE(0xC00000, 0xC00001) AM_READ(cat_2e80_r) AM_MIRROR(0x3FFFFE) // Open bus?
661   AM_RANGE(0xA00000, 0xA00001) AM_READ(cat_2e80_r) AM_MIRROR(0x1FFFFE) // Open bus/dtack? The 0xA00000-0xA3ffff area is ram used for shadow rom storage on cat developer machines, which is either banked over top of, or jumped to instead of the normal rom
662   AM_RANGE(0xC00000, 0xC00001) AM_READ(cat_2e80_r) AM_MIRROR(0x3FFFFE) // Open bus/vme?
553663ADDRESS_MAP_END
554664
555665static ADDRESS_MAP_START(swyft_mem, AS_PROGRAM, 16, cat_state)
r20723r20724
8911001ROM_START( cat )
8921002   ROM_REGION( 0x40000, "maincpu", ROMREGION_ERASEFF )
8931003   // SYS ROM
894   ROM_SYSTEM_BIOS( 0, "r240", "Canon Cat V2.40 Firmware")
895   ROMX_LOAD( "r240l0.ic2", 0x00001, 0x10000, CRC(1b89bdc4) SHA1(39c639587dc30f9d6636b46d0465f06272838432), ROM_SKIP(1) | ROM_BIOS(1))
896   ROMX_LOAD( "r240h0.ic4", 0x00000, 0x10000, CRC(94f89b8c) SHA1(6c336bc30636a02c625d31f3057ec86bf4d155fc), ROM_SKIP(1) | ROM_BIOS(1))
897   ROMX_LOAD( "r240l1.ic3", 0x20001, 0x10000, CRC(1a73be4f) SHA1(e2de2cb485f78963368fb8ceba8fb66ca56dba34), ROM_SKIP(1) | ROM_BIOS(1))
898   ROMX_LOAD( "r240h1.ic5", 0x20000, 0x10000, CRC(898dd9f6) SHA1(93e791dd4ed7e4afa47a04df6fdde359e41c2075), ROM_SKIP(1) | ROM_BIOS(1))
899   ROM_SYSTEM_BIOS( 1, "r174", "Canon Cat V1.74 Firmware")
900   // Canon cat v1.74 roms are labeled as r74; they only added the major number to the rom label after 2.0
901   ROMX_LOAD( "r74__0l__c18c.blue.ic2", 0x00001, 0x10000, CRC(b19aa0c8) SHA1(85b3e549cfb91bd3dd32335e02eaaf9350e80900), ROM_SKIP(1) | ROM_BIOS(2))
902   ROMX_LOAD( "r74__0h__75a6.yellow.ic4", 0x00000, 0x10000, CRC(75281f77) SHA1(ed8b5e37713892ee83413d23c839d09e2fd2c1a9), ROM_SKIP(1) | ROM_BIOS(2))
903   ROMX_LOAD( "r74__1l__c8a3.green.ic3", 0x20001, 0x10000, CRC(93275558) SHA1(f690077a87076fd51ae385ac5a455804cbc43c8f), ROM_SKIP(1) | ROM_BIOS(2))
904   ROMX_LOAD( "r74__1h__3c37.white.ic5", 0x20000, 0x10000, CRC(5d7c3962) SHA1(8335993583fdd30b894c01c1a7a6aca61cd81bb4), ROM_SKIP(1) | ROM_BIOS(2))
1004   /* This 2.40 code came from two development cat machines owned or formerly
1005    * owned by former IAI employees Sandy Bumgarner and Dave Boulton.
1006    * Dave Boulton's machine is interesting in that it has a prototype cat
1007    * motherboard in it, which it has less space for dram than a 'released'
1008    * cat does: it uses 16k*4 dram chips instead of 64k*4 as in the final
1009    * cat, and hence can only support 128k of ram with all 4 rows of drams
1010    * populated, as opposed to 256k-standard (2 rows) and 512k-max with all
1011    * 4 rows populated on a "released" cat.
1012    */
1013   ROM_SYSTEM_BIOS( 0, "r240", "Canon Cat V2.40 US Firmware")
1014   ROMX_LOAD( "boultl0.ic2", 0x00001, 0x10000, CRC(77b66208) SHA1(9D718C0A521FEFE4F86EF328805B7921BADE9D89), ROM_SKIP(1) | ROM_BIOS(1))
1015   ROMX_LOAD( "boulth0.ic4", 0x00000, 0x10000, CRC(f1e1361a) SHA1(0A85385527E2CC55790DE9F9919EB44AC32D7F62), ROM_SKIP(1) | ROM_BIOS(1))
1016   ROMX_LOAD( "boultl1.ic3", 0x20001, 0x10000, CRC(c61dafb0) SHA1(93216c26c2d5fc71412acc548c96046a996ea668), ROM_SKIP(1) | ROM_BIOS(1))
1017   ROMX_LOAD( "boulth1.ic5", 0x20000, 0x10000, CRC(bed1f761) SHA1(D177E1D3A39B005DD94A6BDA186221D597129AF4), ROM_SKIP(1) | ROM_BIOS(1))
1018   /* This 2.40 code was compiled by Dwight Elvey based on the v2.40 source
1019    * code disks recovered around 2004. It does NOT exactly match the above
1020    * set exactly but has a few small differences.
1021    * It is as of yet unknown whether it is earlier or later code than the
1022    * set above.
1023    */
1024   ROM_SYSTEM_BIOS( 1, "r240r", "Canon Cat V2.40 US Firmware compiled from recovered source code")
1025   ROMX_LOAD( "r240l0.ic2", 0x00001, 0x10000, CRC(1b89bdc4) SHA1(39c639587dc30f9d6636b46d0465f06272838432), ROM_SKIP(1) | ROM_BIOS(2))
1026   ROMX_LOAD( "r240h0.ic4", 0x00000, 0x10000, CRC(94f89b8c) SHA1(6c336bc30636a02c625d31f3057ec86bf4d155fc), ROM_SKIP(1) | ROM_BIOS(2))
1027   ROMX_LOAD( "r240l1.ic3", 0x20001, 0x10000, CRC(1a73be4f) SHA1(e2de2cb485f78963368fb8ceba8fb66ca56dba34), ROM_SKIP(1) | ROM_BIOS(2))
1028   ROMX_LOAD( "r240h1.ic5", 0x20000, 0x10000, CRC(898dd9f6) SHA1(93e791dd4ed7e4afa47a04df6fdde359e41c2075), ROM_SKIP(1) | ROM_BIOS(2))
1029   /* This v1.74 code comes from (probably) the 'main us release' of first-run
1030    * Canon cats, and was dumped from machine serial number R12014979
1031    * Canon cat v1.74 roms are labeled as r74; they only added the major number
1032    * to the rom label after v2.0?
1033    */
1034   ROM_SYSTEM_BIOS( 2, "r174", "Canon Cat V1.74 US Firmware")
1035   ROMX_LOAD( "r74__0l__c18c.blue.ic2", 0x00001, 0x10000, CRC(b19aa0c8) SHA1(85b3e549cfb91bd3dd32335e02eaaf9350e80900), ROM_SKIP(1) | ROM_BIOS(3))
1036   ROMX_LOAD( "r74__0h__75a6.yellow.ic4", 0x00000, 0x10000, CRC(75281f77) SHA1(ed8b5e37713892ee83413d23c839d09e2fd2c1a9), ROM_SKIP(1) | ROM_BIOS(3))
1037   ROMX_LOAD( "r74__1l__c8a3.green.ic3", 0x20001, 0x10000, CRC(93275558) SHA1(f690077a87076fd51ae385ac5a455804cbc43c8f), ROM_SKIP(1) | ROM_BIOS(3))
1038   ROMX_LOAD( "r74__1h__3c37.white.ic5", 0x20000, 0x10000, CRC(5d7c3962) SHA1(8335993583fdd30b894c01c1a7a6aca61cd81bb4), ROM_SKIP(1) | ROM_BIOS(3))
9051039
9061040   ROM_REGION( 0x80000, "svrom", ROMREGION_ERASE00 )
9071041   // SPELLING VERIFICATION ROM (SVROM)
908   // since ROM_FILL16BE(0x0, 0x80000, 0x2e80) doesn't exist, the even bytes and latter chunk of the svrom space are filled in in DRIVER_INIT
909   // Romspace here is a little strange: there are 3 rom sockets on the board:
910   // svrom-0 maps to 200000-21ffff every ODD byte (d8-d0)
911   ROMX_LOAD( "uv1__nh7-0684__hn62301apc11__7h1.ic6", 0x00000, 0x20000, CRC(229ca210) SHA1(564b57647a34acdd82159993a3990a412233da14), ROM_SKIP(1)) // this is a 28pin tc531000 mask rom, 128KB long
912   // svrom-1 maps to 200000-21ffff every EVEN byte (d15-d7)
913   // no rom is in the socket; it reads as open bus 0x2E
914   // svrom-2 maps to 240000-25ffff every ODD byte (d8-d0)
915   // no rom is in the socket; it reads as open bus 0x80
916   // there is no svrom-3; 240000-25ffff EVEN always reads as 0x2E
1042   /* Romspace here is a little strange: there are 3 rom sockets on the board:
1043    * svrom-0 maps to 200000-21ffff every ODD byte (d8-d0)
1044    * svrom-1 maps to 200000-21ffff every EVEN byte (d15-d7)
1045    *  (since no rom is in the socket; it reads as open bus 0x2E)
1046    * svrom-2 maps to 240000-25ffff every ODD byte (d8-d0)
1047    *  (since no rom is in the socket; it reads as open bus 0x80)
1048    * there is no svrom-3; 240000-25ffff EVEN always reads as 0x2E
1049    * since ROM_FILL16BE(0x0, 0x80000, 0x2e80) doesn't exist, the
1050    * even bytes and latter chunk of the svrom space need to be filled in
1051    * DRIVER_INIT or some other means needs to be found to declare them as
1052    * 'open bus' once the mame/mess core supports that.
1053    * NOTE: there are at least 6 more SVROMS which existed (possibly in
1054    * limited form), and are not dumped:
1055    * UK (1 rom)
1056    * French (2 roms)
1057    * German (3 roms)
1058    * Each of these will also have its own code romset as well.
1059    */
1060   ROMX_LOAD( "uv1__nh7-0684__hn62301apc11__7h1.ic6", 0x00000, 0x20000, CRC(229ca210) SHA1(564b57647a34acdd82159993a3990a412233da14), ROM_SKIP(1)) // this is a 28pin tc531000 mask rom, 128KB long; "US" SVROM
1061
9171062ROM_END
9181063
9191064/* Driver */

Previous 199869 Revisions Next


© 1997-2024 The MAME Team