src/mess/drivers/digel804.c
| r13351 | r13352 | |
| 12 | 12 | * tentatively figure out how flow control from ACIA works (/NMI)? |
| 13 | 13 | * hook up the speaker/beeper (port 0x45) |
| 14 | 14 | * hook up vfd controller (done to stderr, no artwork) |
| 15 | | * hook up leds on front panel (done to stderr) |
| 15 | * hook up leds on front panel (done to stderr for now) |
| 16 | 16 | * hook up r6551 serial and attach terminal for sending to ep804 |
| 17 | * /nmi is emulated correctly (i.e. its tied to +5v. that was easy!) |
| 17 | 18 | * |
| 18 | 19 | * TODO: |
| 19 | 20 | * figure out the rest of the i/o map |
| 20 | 21 | * figure out why banked ram on 4.x causes glitches/sys errors; it works on 2.2 |
| 21 | | * actually hook up interrupts and nmi |
| 22 | | * attach terminal to 6551 serial for recieving from ep804 |
| 23 | | * correctly hook up 10937 vfd controller |
| 24 | | * hook up keypad and mode buttons |
| 22 | * actually hook up interrupts: they fire on keypresses and 6551/ACIA receives |
| 23 | * attach terminal to 6551/ACIA serial for recieving from ep804 |
| 24 | * correctly hook up 10937 vfd controller: por is not hooked up |
| 25 | * hook up keypad via 74C923 and mode buttons via logic gate mess |
| 25 | 26 | * artwork |
| 26 | 27 | * |
| 27 | 28 | ******************************************************************************/ |
| r13351 | r13352 | |
| 215 | 216 | |
| 216 | 217 | WRITE8_MEMBER( digel804_state::speaker_w ) |
| 217 | 218 | { |
| 218 | | // it APPEARS all writes here invert the speaker state, at least |
| 219 | // all writes to here invert the speaker state, verified from schematics |
| 219 | 220 | #ifdef PORT45_W_VERBOSE |
| 220 | 221 | logerror("Digel804: port 0x45 speaker had %02x written to it!\n", data); |
| 221 | 222 | #endif |
| 222 | | if ((data != 0x00) && (data != 0x01) && (data != 0x03)) |
| 223 | | logerror("Digel804: port 0x45 speaker control had unexpected data %02x written to it!\n", data); |
| 224 | 223 | speaker_state ^= 0xFF; |
| 225 | 224 | speaker_level_w(m_speaker, speaker_state); |
| 226 | 225 | } |
| r13351 | r13352 | |
| 235 | 234 | * F* takes precedence over E* |
| 236 | 235 | * higher numbers take precedence over lower ones |
| 237 | 236 | * this value auto-latches on a key press and remains through multiple reads |
| 237 | * this is done by a 74C923 integrated circuit |
| 238 | 238 | */ |
| 239 | 239 | #ifdef PORT46_R_VERBOSE |
| 240 | 240 | logerror("Digel804: returning 0xF0 for port 46 keypad read\n"); |
| r13351 | r13352 | |
| 489 | 489 | ******************************************************************************/ |
| 490 | 490 | |
| 491 | 491 | /* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME FLAGS */ |
| 492 | | COMP( 1985, digel804, 0, 0, digel804, digel804, digel804, "Digelec, Inc", "Digelec 804 EPROM Programmer", GAME_NO_SOUND_HW ) |
| 493 | | COMP( 1982, ep804, digel804, 0, ep804, digel804, digel804, "Wavetek/Digelec, Inc", "EP804 EPROM Programmer", GAME_NO_SOUND_HW ) |
| 492 | COMP( 1985, digel804, 0, 0, digel804, digel804, digel804, "Digelec, Inc", "Digelec 804 EPROM Programmer", GAME_NOT_WORKING ) |
| 493 | COMP( 1982, ep804, digel804, 0, ep804, digel804, digel804, "Wavetek/Digelec, Inc", "EP804 EPROM Programmer", GAME_NOT_WORKING ) |