trunk/src/mess/drivers/cat.c
| r25414 | r25415 | |
| 1132 | 1132 | 0x01E0-0x02DF: ? table (may be part of next table) |
| 1133 | 1133 | 0x02E0-0x03DF: ? table |
| 1134 | 1134 | 0x03E0-0x0B3F: int16-packed jump table (expanded to int32s at ram at 0x46000-0x46EC0 on boot) |
| 1135 | | 0x0B40-0x108F: ?binary code of forth interpreter? |
| 1136 | | 0x1090-0xCD3B: tForth bytecode, even the fonts?: |
| 1137 | | 0x1090-0x24CF: ? |
| 1138 | | **Fonts: |
| 1139 | | 0x24D0-0x254F: ? (likely font 1 width lookup table) |
| 1140 | | 0x2550-0x2BCF: Font 1 data |
| 1141 | | 0x2BD0-0x2C4F: ? (likely font 2 width lookup table) |
| 1142 | | 0x2C50-0x32CF: Font 2 data |
| 1143 | | **unknown?: |
| 1144 | | 0x32D0-0x360F: String data (and control codes?) |
| 1145 | | 0x3610-0x364F: ? fill (0x03 0xe8) |
| 1146 | | 0x3650-0x369F: ? fill (0x03 0x20) |
| 1147 | | 0x36A0-0x384d: ? forth code? |
| 1148 | | 0x384e-0x385d: Lookup table for phone keypad |
| 1149 | | 0x385e-...: ? |
| 1150 | | ...-0xC951: ? |
| 1151 | | 0xC952: boot vector |
| 1152 | | 0xC952-...: boot code? |
| 1135 | 0x0B40-0x0E83: ? function index tables? |
| 1136 | 0x0E84-0x1544: binary code (purpose?) |
| 1137 | 0x1545-0x24CF: ? |
| 1138 | **Fonts: |
| 1139 | 0x24D0-0x254F: ? (likely font 1 width lookup table) |
| 1140 | 0x2550-0x2BCF: Font 1 data |
| 1141 | 0x2BD0-0x2C4F: ? (likely font 2 width lookup table) |
| 1142 | 0x2C50-0x32CF: Font 2 data |
| 1143 | **unknown?: |
| 1144 | 0x32D0-0x360F: String data (and control codes?) |
| 1145 | 0x3610-0x364F: ? fill (0x03 0xe8) |
| 1146 | 0x3650-0x369F: ? fill (0x03 0x20) |
| 1147 | 0x36A0-0x384d: ? forth code? |
| 1148 | 0x384e-0x385d: Lookup table for phone keypad |
| 1149 | 0x385e-...: ? |
| 1150 | ...-0xC951: ? |
| 1151 | 0xC952: boot vector |
| 1152 | 0xC952-0xCAAE: binary code (purpose?) |
| 1153 | 1153 | 0xCD26-0xCD3B: ?init forth bytecode? |
| 1154 | 1154 | 0xCD3C-0xCEBA: 0xFF fill (unused?) |
| 1155 | 1155 | 0xCEEB-0xFFFE: Forth dictionaries for compiling, with <word> then <3 bytes> afterward? (or before it? most likely afterward) |
| r25414 | r25415 | |
| 1317 | 1317 | READ8_MEMBER( cat_state::swyft_via0_r ) |
| 1318 | 1318 | { |
| 1319 | 1319 | if (offset&0x000C3F) fprintf(stderr,"VIA0: read from invalid offset in 68k space: %06X!\n", offset); |
| 1320 | | UINT8 data = m_via0->read(space, (offset>>5)&0xF); |
| 1320 | UINT8 data = m_via0->read(space, (offset>>6)&0xF); |
| 1321 | 1321 | #ifdef DEBUG_SWYFT_VIA0 |
| 1322 | 1322 | logerror("VIA0 register %s read by cpu: returning %02x\n", swyft_via_regnames[(offset>>5)&0xF], data); |
| 1323 | 1323 | #endif |
| r25414 | r25415 | |
| 1330 | 1330 | logerror("VIA0 register %s written by cpu with data %02x\n", swyft_via_regnames[(offset>>5)&0xF], data); |
| 1331 | 1331 | #endif |
| 1332 | 1332 | if (offset&0x000C3F) fprintf(stderr,"VIA0: write to invalid offset in 68k space: %06X, data: %02X!\n", offset, data); |
| 1333 | | m_via1->write(space, (offset>>5)&0xF, data); |
| 1333 | m_via1->write(space, (offset>>6)&0xF, data); |
| 1334 | 1334 | } |
| 1335 | 1335 | |
| 1336 | 1336 | READ8_MEMBER( cat_state::swyft_via1_r ) |
| 1337 | 1337 | { |
| 1338 | 1338 | if (offset&0x000C3F) fprintf(stderr," VIA1: read from invalid offset in 68k space: %06X!\n", offset); |
| 1339 | | UINT8 data = m_via1->read(space, (offset>>5)&0xF); |
| 1339 | UINT8 data = m_via1->read(space, (offset>>6)&0xF); |
| 1340 | 1340 | #ifdef DEBUG_SWYFT_VIA1 |
| 1341 | 1341 | logerror(" VIA1 register %s read by cpu: returning %02x\n", swyft_via_regnames[(offset>>5)&0xF], data); |
| 1342 | 1342 | #endif |
| r25414 | r25415 | |
| 1349 | 1349 | logerror(" VIA1 register %s written by cpu with data %02x\n", swyft_via_regnames[(offset>>5)&0xF], data); |
| 1350 | 1350 | #endif |
| 1351 | 1351 | if (offset&0x000C3F) fprintf(stderr," VIA1: write to invalid offset in 68k space: %06X, data: %02X!\n", offset, data); |
| 1352 | | m_via0->write(space, (offset>>5)&0xF, data); |
| 1352 | m_via0->write(space, (offset>>6)&0xF, data); |
| 1353 | 1353 | } |
| 1354 | 1354 | |
| 1355 | 1355 | // first via |