src/mess/drivers/mephisto.c
| r891 | r892 | |
| 6 | 6 | |
| 7 | 7 | /* |
| 8 | 8 | |
| 9 | | Keyboard is not working !!!!!! |
| 10 | 9 | |
| 11 | 10 | CPU 65C02 P4 |
| 12 | 11 | Clock 4.9152 MHz |
| r891 | r892 | |
| 66 | 65 | |
| 67 | 66 | static WRITE8_HANDLER ( write_lcd ) |
| 68 | 67 | { |
| 69 | | output_set_digit_value(lcd_shift_counter,data ^ mephisto_ram[0x109]); // 0x109 MM IV // 0x040 MM V |
| 68 | output_set_digit_value(lcd_shift_counter,data ^ mephisto_ram[0x0040]); // 0x109 MM IV // 0x040 MM V |
| 70 | 69 | lcd_shift_counter--; |
| 71 | 70 | lcd_shift_counter&=3; |
| 72 | 71 | } |
| r891 | r892 | |
| 82 | 81 | |
| 83 | 82 | static READ8_HANDLER(read_board) |
| 84 | 83 | { |
| 85 | | return 0x00; |
| 84 | return 0xff; // Mephisto needs it for working |
| 86 | 85 | } |
| 87 | 86 | |
| 88 | 87 | static WRITE8_HANDLER ( write_led ) |
| r891 | r892 | |
| 100 | 99 | AM_RANGE( 0x0000, 0x1fff) AM_RAM AM_BASE(&mephisto_ram)// |
| 101 | 100 | AM_RANGE( 0x2000, 0x2000) AM_WRITE( write_lcd) |
| 102 | 101 | AM_RANGE( 0x2c00, 0x2c07) AM_READ( read_keys) |
| 103 | | // AM_RANGE( 0x2c00, 0x2c07) AM_RAM |
| 104 | 102 | AM_RANGE( 0x3400, 0x3407) AM_WRITE( write_led) // Status LEDs+ buzzer |
| 105 | | // AM_RANGE( 0x3400, 0x3407) AM_RAM // Status LEDs+ buzzer |
| 106 | 103 | AM_RANGE( 0x2400, 0x2407) AM_RAM // Chessboard |
| 107 | 104 | AM_RANGE( 0x2800, 0x2800) AM_RAM // Chessboard |
| 108 | 105 | AM_RANGE( 0x3800, 0x3800) AM_RAM // unknwon write access |
| r891 | r892 | |
| 153 | 150 | |
| 154 | 151 | static TIMER_CALLBACK( update_nmi ) |
| 155 | 152 | { |
| 156 | | //cpunum_set_input_line(0, INPUT_LINE_NMI,irq ? ASSERT_LINE: CLEAR_LINE ); |
| 153 | |
| 157 | 154 | cpunum_set_input_line(0, INPUT_LINE_NMI,PULSE_LINE); |
| 158 | 155 | DAC_data_w(0,led_status&64?128:0); |
| 159 | 156 | } |
| r891 | r892 | |
| 194 | 191 | |
| 195 | 192 | ROM_START(mephisto) |
| 196 | 193 | ROM_REGION(0x10000,REGION_CPU1,0) |
| 197 | | // ROM_LOAD("mephisto5.rom", 0x8000, 0x8000, CRC(89c3d9d2) SHA1(77cd6f8eeb03c713249db140d2541e3264328048)) |
| 198 | | ROM_LOAD("mephisto4.rom", 0x8000, 0x8000, CRC(f68a4124) SHA1(d1d03a9aacc291d5cb720d2ee2a209eeba13a36c)) |
| 199 | | //ROM_LOAD("hg550.rom", 0x4000, 0x4000, CRC(f68a4124) SHA1(d1d03a9aacc291d5cb720d2ee2a209eeba13a36c)) |
| 194 | ROM_LOAD("mephisto5.rom", 0x8000, 0x8000, CRC(89c3d9d2) SHA1(77cd6f8eeb03c713249db140d2541e3264328048)) |
| 195 | ROM_SYSTEM_BIOS( 0, "none", "No Opening Library" ) |
| 196 | ROM_SYSTEM_BIOS( 1, "hg550", "HG550 Opening Library" ) |
| 197 | ROMX_LOAD("hg550.rom", 0x4000, 0x4000, CRC(0359f13d) SHA1(833cef8302ad8d283d3f95b1d325353c7e3b8614),ROM_BIOS(2)) |
| 198 | // ROMX_LOAD( "hg440.rom", 0x4000, 0x4000, CRC(81ffcdfd) SHA1(b0f7bcc11d1e821daf92cde31e3446c8be0bbe19), ROM_BIOS(2)) |
| 199 | //ROM_LOAD("mephisto4.rom", 0x8000, 0x8000, CRC(f68a4124) SHA1(d1d03a9aacc291d5cb720d2ee2a209eeba13a36c)) |
| 200 | //ROM_LOAD("hg440.rom", 0x4000, 0x4000, CRC(81ffcdfd) SHA1(b0f7bcc11d1e821daf92cde31e3446c8be0bbe19)) |
| 200 | 201 | ROM_END |
| 201 | 202 | |
| 202 | 203 | /*************************************************************************** |
| r891 | r892 | |
| 210 | 211 | |
| 211 | 212 | static DRIVER_INIT( mephisto ) |
| 212 | 213 | { |
| 213 | | //rriot_init(0,&riot); |
| 214 | lcd_shift_counter=3; |
| 214 | 215 | } |
| 215 | 216 | |
| 216 | 217 | /* YEAR NAME PARENT COMPAT MACHINE INPUT INIT CONFIG COMPANY FULLNAME */ |
| 217 | | CONS( 1983, mephisto, 0, 0, mephisto, mephisto, mephisto, NULL, "Hegener & Glaser", "Mephisto Schach Computer", 0) |
| 218 | /*CONSB( 1983, mephisto, 0, 0, mephisto, mephisto, mephisto, NULL, "Hegener & Glaser", "Mephisto Schach Computer", 0)*/ |
| 219 | CONSB( 1983, mephisto, 0, mephisto, 0, mephisto, mephisto, mephisto, NULL, "Hegener & Glaser", "Mephisto Schach Computer", 0) |
| 218 | 220 | // second design sold (same computer/program?) |