diff options
Diffstat (limited to 'src/mess/drivers/ti85.c')
-rw-r--r-- | src/mess/drivers/ti85.c | 931 |
1 files changed, 0 insertions, 931 deletions
diff --git a/src/mess/drivers/ti85.c b/src/mess/drivers/ti85.c deleted file mode 100644 index 179149c33d6..00000000000 --- a/src/mess/drivers/ti85.c +++ /dev/null @@ -1,931 +0,0 @@ -// license:BSD-3-Clause -// copyright-holders:Krzysztof Strzecha,Jon Sturm -/*************************************************************************** -TI-85 and TI-86 drivers by Krzysztof Strzecha -TI-83 Plus, TI-84 Plus, and Siliver Edition support by Jon Sturm - -Notes: -1. After start TI-85 waits for ON key interrupt, so press ON key to start - calculator. ************* PRESS THE "Q" KEY TO TURN IT ON. ******************** -2. Only difference between all TI-85 drivers is ROM version. -3. TI-86 is TI-85 with more RAM and ROM. -4. Only difference between all TI-86 drivers is ROM version. -5. Video engine (with grayscale support) based on the idea found in VTI source - emulator written by Rusty Wagner. -6. NVRAM is saved properly only when calculator is turned off before exiting MESS. -7. To receive data from TI press "R" immediately after TI starts to send data. -8. To request screen dump from calculator press "S". -9. TI-81 does not have a serial link. - -Needed: -1. Info about ports 3 (bit 2 seems to be allways 0) and 4. -2. Any info on TI-81 hardware. -3. ROM dumps of unemulated models. -4. Artworks. - -New: -05/10/2002 TI-85 serial link works again. -17/09/2002 TI-85 snapshots loading fixed. Few code cleanups. - TI-86 SNAPSHOT LOADING DOESNT WORK. - TI-85, TI-86 SERIAL LINK DOESNT WORK. -08/09/2001 TI-81, TI-85, TI-86 modified to new core. - TI-81, TI-85, TI-86 reset corrected. -21/08/2001 TI-81, TI-85, TI-86 NVRAM corrected. -20/08/2001 TI-81 ON/OFF fixed. - TI-81 ROM bank switching added (port 5). - TI-81 NVRAM support added. -15/08/2001 TI-81 kayboard is now mapped as it should be. -14/08/2001 TI-81 preliminary driver added. -05/07/2001 Serial communication corrected (transmission works now after reset). -02/07/2001 Many source cleanups. - PCR added. -01/07/2001 Possibility to request screen dump from TI (received dumps are saved - as t85i file). -29/06/2001 Received variables can be saved now. -19/06/2001 Possibility to receive variables from calculator (they are nor saved - yet). -17/06/2001 TI-86 reset fixed. -15/06/2001 Possibility to receive memory backups from calculator. -07/06/2001 TI-85 reset fixed. - Work on receiving data from calculator started. -04/06/2001 TI-85 is able to receive variables and memory backups. -14/05/2001 Many source cleanups. -11/05/2001 Release years corrected. Work on serial link started. -26/04/2001 NVRAM support added. -25/04/2001 Video engine totally rewritten so grayscale works now. -17/04/2001 TI-86 snapshots loading added. - ti86grom driver added. -16/04/2001 Sound added. - Five TI-86 drivers added (all features of TI-85 drivers without - snapshot loading). -13/04/2001 Snapshot loading (VTI 2.0 save state files). -18/02/2001 Palette (not perfect). - Contrast control (port 2) implemented. - LCD ON/OFF implemented (port 3). - Interrupts corrected (port 3) - ON/OFF and APD works now. - Artwork added. -09/02/2001 Keypad added. - 200Hz timer interrupts implemented. - ON key and its interrupts implemented. - Calculator is now fully usable. -02/02/2001 Preliminary driver - -To do: -- port 7 (TI-86) -- port 4 (all models) -- artwork (all models) -- port 0 link (TI-82 and TI-83) -- add TI-73, TI-83+ and T84+ drivers - - -TI-81 memory map - - CPU: Z80 2MHz - 0000-7fff ROM - 8000-ffff RAM (?) - -TI-82 memory map - - CPU: Z80 6MHz - 0000-3fff ROM 0 - 4000-7fff ROM 1-7 (switched) - 8000-ffff RAM - -TI-83 memory map - - CPU: Z80 6MHz - 0000-3fff ROM 0 - 4000-7fff ROM 1-15 (switched) - 8000-ffff RAM - -TI-83Plus memory map - - CPU: Z80 8MHz (running at 6 MHz) - 0000-3fff ROM 0 - 4000-7fff ROM 0-31 or RAM 0-1 (switched) - 7000-bfff ROM 0-31 or RAM 0-1 (switched) - c000-ffff RAM 0-31 or RAM 0-1 (switched) - -TI-85 memory map - - CPU: Z80 6MHz - 0000-3fff ROM 0 - 4000-7fff ROM 1-7 (switched) - 8000-ffff RAM - -TI-86 memory map - - CPU: Z80 6MHz - 0000-3fff ROM 0 - 4000-7fff ROM 0-15 or RAM 0-7 (switched) - 7000-bfff ROM 0-15 or RAM 0-7 (switched) - c000-ffff RAM 0 - -Interrupts: - - IRQ: 200Hz timer - ON key - -TI-81 ports: - 0: Video buffer offset (write only) - 1: Keypad - 2: Contrast (write only) - 3: ON status, LCD power - 4: Video buffer width, interrupt control (write only) - 5: ? - 6: - 7: ? - -TI-82 ports: - 0: Link - 1: Keypad - 2: Memory page - 3: ON status, LCD power - 4: Video buffer width, interrupt control (write only) - 10: Control port for the display controller - 11: Data port for the display controller - -TI-83 ports: - 0: Link + Memory page - 1: Keypad - 2: Memory page - 3: ON status, LCD power - 4: Video buffer width, interrupt control (write only) - 10: Control port for the display controller - 11: Data port for the display controller - 14: Battery Status - -TI-83Plus ports: - 0: Link - 1: Keypad - 2: ? - 3: ON status, LCD power - 4: Interrupt status - 6: Memory page 1 - 7: Memory page 2 - 10: Control port for the display controller - 11: Data port for the display controller - -TI-83PlusSE ports: - 0: Link - 1: Keypad - 2: ? - 3: ON status, LCD power - 4: Interrupt status - 5: Memory page 3 - 6: Memory page 1 - 7: Memory page 2 - 10: Controll port for the display controller - 11: Data port for the display controller - 15: Asic Version - -TI-85 ports: - 0: Video buffer offset (write only) - 1: Keypad - 2: Contrast (write only) - 3: ON status, LCD power - 4: Video buffer width, interrupt control (write only) - 5: Memory page - 6: Power mode - 7: Link - -TI-86 ports: - 0: Video buffer offset (write only) - 1: Keypad - 2: Contrast (write only) - 3: ON status, LCD power - 4: Power mode - 5: Memory page - 6: Memory page - 7: Link - -***************************************************************************/ - -#include "emu.h" -#include "cpu/z80/z80.h" -#include "imagedev/snapquik.h" -#include "includes/ti85.h" -#include "machine/bankdev.h" - -/* port i/o functions */ - -static ADDRESS_MAP_START( ti81_io, AS_IO, 8, ti85_state ) - ADDRESS_MAP_GLOBAL_MASK(0xff) - AM_RANGE(0x0000, 0x0000) AM_READWRITE(ti85_port_0000_r, ti85_port_0000_w ) - AM_RANGE(0x0001, 0x0001) AM_READWRITE(ti8x_keypad_r, ti8x_keypad_w ) - AM_RANGE(0x0002, 0x0002) AM_READWRITE(ti85_port_0002_r, ti85_port_0002_w ) - AM_RANGE(0x0003, 0x0003) AM_READWRITE(ti85_port_0003_r, ti85_port_0003_w ) - AM_RANGE(0x0004, 0x0004) AM_READWRITE(ti85_port_0004_r, ti85_port_0004_w ) - AM_RANGE(0x0005, 0x0005) AM_READWRITE(ti85_port_0005_r, ti85_port_0005_w ) - AM_RANGE(0x0007, 0x0007) AM_WRITE(ti81_port_0007_w) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( ti85_io, AS_IO, 8, ti85_state ) - ADDRESS_MAP_GLOBAL_MASK(0xff) - AM_RANGE(0x0000, 0x0000) AM_READWRITE(ti85_port_0000_r, ti85_port_0000_w ) - AM_RANGE(0x0001, 0x0001) AM_READWRITE(ti8x_keypad_r, ti8x_keypad_w ) - AM_RANGE(0x0002, 0x0002) AM_READWRITE(ti85_port_0002_r, ti85_port_0002_w ) - AM_RANGE(0x0003, 0x0003) AM_READWRITE(ti85_port_0003_r, ti85_port_0003_w ) - AM_RANGE(0x0004, 0x0004) AM_READWRITE(ti85_port_0004_r, ti85_port_0004_w ) - AM_RANGE(0x0005, 0x0005) AM_READWRITE(ti85_port_0005_r, ti85_port_0005_w ) - AM_RANGE(0x0006, 0x0006) AM_READWRITE(ti85_port_0006_r, ti85_port_0006_w ) - AM_RANGE(0x0007, 0x0007) AM_READWRITE(ti8x_serial_r, ti8x_serial_w ) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( ti82_io, AS_IO, 8, ti85_state ) - ADDRESS_MAP_GLOBAL_MASK(0xff) - AM_RANGE(0x0000, 0x0000) AM_READWRITE(ti8x_serial_r, ti8x_serial_w ) - AM_RANGE(0x0001, 0x0001) AM_READWRITE(ti8x_keypad_r, ti8x_keypad_w ) - AM_RANGE(0x0002, 0x0002) AM_READWRITE(ti82_port_0002_r, ti82_port_0002_w ) - AM_RANGE(0x0003, 0x0003) AM_READWRITE(ti85_port_0003_r, ti85_port_0003_w ) - AM_RANGE(0x0004, 0x0004) AM_READWRITE(ti85_port_0004_r, ti85_port_0004_w ) - AM_RANGE(0x0010, 0x0010) AM_DEVREADWRITE("t6a04", t6a04_device, control_read, control_write) - AM_RANGE(0x0011, 0x0011) AM_DEVREADWRITE("t6a04", t6a04_device, data_read, data_write) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( ti81v2_io, AS_IO, 8, ti85_state ) - ADDRESS_MAP_GLOBAL_MASK(0xff) - AM_RANGE(0x0001, 0x0001) AM_READWRITE(ti8x_keypad_r, ti8x_keypad_w ) - AM_RANGE(0x0002, 0x0002) AM_READWRITE(ti82_port_0002_r, ti82_port_0002_w ) - AM_RANGE(0x0003, 0x0003) AM_READWRITE(ti85_port_0003_r, ti85_port_0003_w ) - AM_RANGE(0x0004, 0x0004) AM_READWRITE(ti85_port_0004_r, ti85_port_0004_w ) - AM_RANGE(0x0010, 0x0010) AM_DEVREADWRITE("t6a04", t6a04_device, control_read, control_write) - AM_RANGE(0x0011, 0x0011) AM_DEVREADWRITE("t6a04", t6a04_device, data_read, data_write) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( ti83_io, AS_IO, 8, ti85_state ) - ADDRESS_MAP_GLOBAL_MASK(0xff) - AM_RANGE(0x0000, 0x0000) AM_READWRITE(ti83_port_0000_r, ti83_port_0000_w ) //TODO - AM_RANGE(0x0001, 0x0001) AM_READWRITE(ti8x_keypad_r, ti8x_keypad_w ) - AM_RANGE(0x0002, 0x0002) AM_READWRITE(ti83_port_0002_r, ti83_port_0002_w ) - AM_RANGE(0x0003, 0x0003) AM_READWRITE(ti83_port_0003_r, ti83_port_0003_w ) - AM_RANGE(0x0004, 0x0004) AM_READWRITE(ti85_port_0004_r, ti85_port_0004_w ) - AM_RANGE(0x0010, 0x0010) AM_DEVREADWRITE("t6a04", t6a04_device, control_read, control_write) - AM_RANGE(0x0011, 0x0011) AM_DEVREADWRITE("t6a04", t6a04_device, data_read, data_write) - AM_RANGE(0x0014, 0x0014) AM_READ_PORT( "BATTERY" ) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( ti83p_io, AS_IO, 8, ti85_state ) - ADDRESS_MAP_GLOBAL_MASK(0xff) - AM_RANGE(0x0000, 0x0000) AM_READWRITE(ti8x_plus_serial_r, ti8x_plus_serial_w) - AM_RANGE(0x0001, 0x0001) AM_READWRITE(ti8x_keypad_r, ti8x_keypad_w ) - AM_RANGE(0x0002, 0x0002) AM_READ(ti83p_port_0002_r) - AM_RANGE(0x0003, 0x0003) AM_READWRITE(ti83_port_0003_r, ti83p_int_mask_w ) - AM_RANGE(0x0004, 0x0004) AM_READWRITE(ti83p_port_0004_r, ti83p_port_0004_w ) - AM_RANGE(0x0006, 0x0006) AM_READWRITE(ti86_port_0005_r, ti83p_port_0006_w ) - AM_RANGE(0x0007, 0x0007) AM_READWRITE(ti86_port_0006_r, ti83p_port_0007_w ) - AM_RANGE(0x0010, 0x0010) AM_DEVREADWRITE("t6a04", t6a04_device, control_read, control_write) - AM_RANGE(0x0011, 0x0011) AM_DEVREADWRITE("t6a04", t6a04_device, data_read, data_write) - AM_RANGE(0x0007, 0x0007) AM_WRITE(ti83p_port_0014_w ) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( ti83pse_io, AS_IO, 8, ti85_state ) - ADDRESS_MAP_GLOBAL_MASK(0xff) - AM_RANGE(0x0000, 0x0000) AM_READWRITE(ti8x_plus_serial_r, ti8x_plus_serial_w) - AM_RANGE(0x0001, 0x0001) AM_READWRITE(ti8x_keypad_r, ti8x_keypad_w ) - AM_RANGE(0x0002, 0x0002) AM_READWRITE(ti83pse_port_0002_r, ti83pse_int_ack_w ) - AM_RANGE(0x0003, 0x0003) AM_READWRITE(ti83_port_0003_r, ti83p_int_mask_w ) - AM_RANGE(0x0004, 0x0004) AM_READWRITE(ti83p_port_0004_r, ti83pse_port_0004_w ) - AM_RANGE(0x0005, 0x0005) AM_READWRITE(ti83pse_port_0005_r, ti83pse_port_0005_w ) - AM_RANGE(0x0006, 0x0006) AM_READWRITE(ti86_port_0005_r, ti83pse_port_0006_w ) - AM_RANGE(0x0007, 0x0007) AM_READWRITE(ti86_port_0006_r, ti83pse_port_0007_w ) - AM_RANGE(0x0009, 0x0009) AM_READ(ti83pse_port_0009_r) - AM_RANGE(0x0010, 0x0010) AM_DEVREADWRITE("t6a04", t6a04_device, control_read, control_write) - AM_RANGE(0x0011, 0x0011) AM_DEVREADWRITE("t6a04", t6a04_device, data_read, data_write) - AM_RANGE(0x0012, 0x0012) AM_DEVREADWRITE("t6a04", t6a04_device, control_read, control_write) - AM_RANGE(0x0013, 0x0013) AM_DEVREADWRITE("t6a04", t6a04_device, data_read, data_write) - AM_RANGE(0x0014, 0x0014) AM_WRITE(ti83p_port_0014_w ) - AM_RANGE(0x0015, 0x0015) AM_READ(ti83pse_port_0015_r) - AM_RANGE(0x0020, 0x0020) AM_READWRITE(ti83pse_port_0020_r, ti83pse_port_0020_w ) - AM_RANGE(0x0021, 0x0021) AM_READWRITE(ti83pse_port_0021_r, ti83pse_port_0021_w ) - - AM_RANGE(0x0030, 0x0030) AM_READWRITE(ti83pse_ctimer1_setup_r, ti83pse_ctimer1_setup_w ) - AM_RANGE(0x0031, 0x0031) AM_READWRITE(ti83pse_ctimer1_loop_r, ti83pse_ctimer1_loop_w ) - AM_RANGE(0x0032, 0x0032) AM_READWRITE(ti83pse_ctimer1_count_r, ti83pse_ctimer1_count_w ) - AM_RANGE(0x0033, 0x0033) AM_READWRITE(ti83pse_ctimer2_setup_r, ti83pse_ctimer2_setup_w ) - AM_RANGE(0x0034, 0x0034) AM_READWRITE(ti83pse_ctimer2_loop_r, ti83pse_ctimer2_loop_w ) - AM_RANGE(0x0035, 0x0035) AM_READWRITE(ti83pse_ctimer2_count_r, ti83pse_ctimer2_count_w ) - AM_RANGE(0x0036, 0x0036) AM_READWRITE(ti83pse_ctimer3_setup_r, ti83pse_ctimer3_setup_w ) - AM_RANGE(0x0037, 0x0037) AM_READWRITE(ti83pse_ctimer3_loop_r, ti83pse_ctimer3_loop_w ) - AM_RANGE(0x0038, 0x0038) AM_READWRITE(ti83pse_ctimer3_count_r, ti83pse_ctimer3_count_w ) - - AM_RANGE(0x0055, 0x0055) AM_READ(ti84pse_port_0055_r) - AM_RANGE(0x0056, 0x0056) AM_READ(ti84pse_port_0056_r) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( ti86_io, AS_IO, 8, ti85_state ) - ADDRESS_MAP_GLOBAL_MASK(0xff) - AM_RANGE(0x0000, 0x0000) AM_READWRITE(ti85_port_0000_r, ti85_port_0000_w ) - AM_RANGE(0x0001, 0x0001) AM_READWRITE(ti8x_keypad_r, ti8x_keypad_w ) - AM_RANGE(0x0002, 0x0002) AM_READWRITE(ti85_port_0002_r, ti85_port_0002_w ) - AM_RANGE(0x0003, 0x0003) AM_READWRITE(ti85_port_0003_r, ti85_port_0003_w ) - AM_RANGE(0x0004, 0x0004) AM_READWRITE(ti85_port_0006_r, ti85_port_0006_w ) - AM_RANGE(0x0005, 0x0005) AM_READWRITE(ti86_port_0005_r, ti86_port_0005_w ) - AM_RANGE(0x0006, 0x0006) AM_READWRITE(ti86_port_0006_r, ti86_port_0006_w ) - AM_RANGE(0x0007, 0x0007) AM_READWRITE(ti8x_serial_r, ti8x_serial_w ) -ADDRESS_MAP_END - -/* memory w/r functions */ - -static ADDRESS_MAP_START( ti81_mem , AS_PROGRAM, 8, ti85_state ) - AM_RANGE(0x0000, 0x3fff) AM_ROMBANK("bank1") - AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank2") - AM_RANGE(0x8000, 0xffff) AM_RAM AM_SHARE("nvram") -ADDRESS_MAP_END - -static ADDRESS_MAP_START( ti86_mem , AS_PROGRAM, 8, ti85_state ) - AM_RANGE(0x0000, 0x3fff) AM_ROMBANK("bank1") - AM_RANGE(0x4000, 0x7fff) AM_RAMBANK("bank2") - AM_RANGE(0x8000, 0xbfff) AM_RAMBANK("bank3") - AM_RANGE(0xc000, 0xffff) AM_RAMBANK("bank4") -ADDRESS_MAP_END - -static ADDRESS_MAP_START( ti83pse_banked_mem , AS_PROGRAM, 8, ti85_state ) - AM_RANGE(0x0000, 0x1fffff) AM_DEVREADWRITE("flash", intelfsh8_device, read, write) - AM_RANGE(0x200000, 0x21BFFF) AM_RAM AM_SHARE("nvram") -ADDRESS_MAP_END - - -static ADDRESS_MAP_START( ti84p_banked_mem , AS_PROGRAM, 8, ti85_state ) - AM_RANGE(0x0000, 0xfffff) AM_DEVREADWRITE("flash", intelfsh8_device, read, write) - AM_RANGE(0x200000, 0x21BFFF) AM_RAM AM_SHARE("nvram") -ADDRESS_MAP_END - -static ADDRESS_MAP_START( ti83p_banked_mem , AS_PROGRAM, 8, ti85_state ) - AM_RANGE(0x00000, 0x7ffff) AM_DEVREADWRITE("flash", intelfsh8_device, read, write) - AM_RANGE(0x100000, 0x107fff) AM_RAM AM_SHARE("nvram") -ADDRESS_MAP_END - -static ADDRESS_MAP_START( ti83p_asic_mem , AS_PROGRAM, 8, ti85_state ) - AM_RANGE(0x0000, 0x3fff) AM_DEVREADWRITE("membank1", address_map_bank_device, read8, write8) - AM_RANGE(0x4000, 0x7fff) AM_DEVREADWRITE("membank2", address_map_bank_device, read8, write8) - AM_RANGE(0x8000, 0xbfff) AM_DEVREADWRITE("membank3", address_map_bank_device, read8, write8) - AM_RANGE(0xc000, 0xffff) AM_DEVREADWRITE("membank4", address_map_bank_device, read8, write8) -ADDRESS_MAP_END - -/* keyboard input */ - -static INPUT_PORTS_START (ti81) - PORT_START("BIT0") /* bit 0 */ - PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Down") PORT_CODE(KEYCODE_DOWN) - PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("ENTER") PORT_CODE(KEYCODE_ENTER) - PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("(-)") PORT_CODE(KEYCODE_M) - PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME(".") PORT_CODE(KEYCODE_STOP) - PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("0") PORT_CODE(KEYCODE_0) - PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("GRAPH") PORT_CODE(KEYCODE_F5) - PORT_START("BIT1") /* bit 1 */ - PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Left") PORT_CODE(KEYCODE_LEFT) - PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("+") PORT_CODE(KEYCODE_EQUALS) - PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("3") PORT_CODE(KEYCODE_3) - PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("2") PORT_CODE(KEYCODE_2) - PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("1") PORT_CODE(KEYCODE_1) - PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("STORE") PORT_CODE(KEYCODE_TAB) - PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("TRACE") PORT_CODE(KEYCODE_F4) - PORT_START("BIT2") /* bit 2 */ - PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Right") PORT_CODE(KEYCODE_RIGHT) - PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("-") PORT_CODE(KEYCODE_MINUS) - PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("6") PORT_CODE(KEYCODE_6) - PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("5") PORT_CODE(KEYCODE_5) - PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("4") PORT_CODE(KEYCODE_4) - PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("LN") PORT_CODE(KEYCODE_BACKSLASH) - PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("ZOOM") PORT_CODE(KEYCODE_F3) - PORT_START("BIT3") /* bit 3 */ - PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Up") PORT_CODE(KEYCODE_UP) - PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("*") PORT_CODE(KEYCODE_L) - PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("9") PORT_CODE(KEYCODE_9) - PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("8") PORT_CODE(KEYCODE_8) - PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("7") PORT_CODE(KEYCODE_7) - PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("LOG") PORT_CODE(KEYCODE_QUOTE) - PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("RANGE") PORT_CODE(KEYCODE_F2) - PORT_START("BIT4") /* bit 4 */ - PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("/") PORT_CODE(KEYCODE_SLASH) - PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME(")") PORT_CODE(KEYCODE_CLOSEBRACE) - PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("(") PORT_CODE(KEYCODE_OPENBRACE) - PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("EE") PORT_CODE(KEYCODE_END) - PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("x^2") PORT_CODE(KEYCODE_COLON) - PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Y=") PORT_CODE(KEYCODE_F1) - PORT_START("BIT5") /* bit 5 */ - PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("^") PORT_CODE(KEYCODE_P) - PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("TAN") PORT_CODE(KEYCODE_PGUP) - PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("COS") PORT_CODE(KEYCODE_HOME) - PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("SIN") PORT_CODE(KEYCODE_INSERT) - PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("x^-1") PORT_CODE(KEYCODE_COMMA) - PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("2nd") PORT_CODE(KEYCODE_LALT) - PORT_START("BIT6") /* bit 6 */ - PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("CLEAR") PORT_CODE(KEYCODE_PGDN) - PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("VARS") PORT_CODE(KEYCODE_F9) - PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("PRGM") PORT_CODE(KEYCODE_F8) - PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("MATRX") PORT_CODE(KEYCODE_F7) - PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("MATH") PORT_CODE(KEYCODE_F6) - PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("INS") PORT_CODE(KEYCODE_TILDE) - PORT_START("BIT7") /* bit 7 */ - PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("MODE") PORT_CODE(KEYCODE_ESC) - PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("X|T") PORT_CODE(KEYCODE_X) - PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("ALPHA") PORT_CODE(KEYCODE_CAPSLOCK) - PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("DEL") PORT_CODE(KEYCODE_DEL) - PORT_START("ON") /* ON */ - PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("ON/OFF") PORT_CODE(KEYCODE_Q) -INPUT_PORTS_END - -static INPUT_PORTS_START (ti85) - PORT_START("BIT0") /* bit 0 */ - PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Down") PORT_CODE(KEYCODE_DOWN) - PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("ENTER (ENTRY)") PORT_CODE(KEYCODE_ENTER) - PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("(-) (ANS |_|)") PORT_CODE(KEYCODE_M) - PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME(". (: Z)") PORT_CODE(KEYCODE_STOP) - PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("0 (CHAR Y)") PORT_CODE(KEYCODE_0) - PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("F5 (M5)") PORT_CODE(KEYCODE_F5) - PORT_START("BIT1") /* bit 1 */ - PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Left") PORT_CODE(KEYCODE_LEFT) - PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("+ (MEM X)") PORT_CODE(KEYCODE_EQUALS) - PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("3 (VARS W)") PORT_CODE(KEYCODE_3) - PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("2 (TEST V)") PORT_CODE(KEYCODE_2) - PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("1 (BASE U)") PORT_CODE(KEYCODE_1) - PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("STORE (RCL =)") PORT_CODE(KEYCODE_TAB) - PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("F4 (M4)") PORT_CODE(KEYCODE_F4) - PORT_START("BIT2") /* bit 2 */ - PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Right") PORT_CODE(KEYCODE_RIGHT) - PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("- (LIST T)") PORT_CODE(KEYCODE_MINUS) - PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("6 (STRNG S)") PORT_CODE(KEYCODE_6) - PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("5 (CONV R)") PORT_CODE(KEYCODE_5) - PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("4 (CONS Q)") PORT_CODE(KEYCODE_4) - PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME(", (ANGLE P)") PORT_CODE(KEYCODE_COMMA) - PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("F3 (M3)") PORT_CODE(KEYCODE_F3) - PORT_START("BIT3") /* bit 3 */ - PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Up") PORT_CODE(KEYCODE_UP) - PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("* (MATH O)") PORT_CODE(KEYCODE_L) - PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("9 (CPLX N)") PORT_CODE(KEYCODE_9) - PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("8 (VECTR M)") PORT_CODE(KEYCODE_8) - PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("7 (MATRX L)") PORT_CODE(KEYCODE_7) - PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("x^2 (SQRT K)") PORT_CODE(KEYCODE_COLON) - PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("F2 (M2)") PORT_CODE(KEYCODE_F2) - PORT_START("BIT4") /* bit 4 */ - PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("/ (CALC J)") PORT_CODE(KEYCODE_SLASH) - PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME(") (] I)") PORT_CODE(KEYCODE_CLOSEBRACE) - PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("( ([ H)") PORT_CODE(KEYCODE_OPENBRACE) - PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("EE (X^-1 G)") PORT_CODE(KEYCODE_END) - PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("LN (e^x F)") PORT_CODE(KEYCODE_BACKSLASH) - PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("F1 (M1)") PORT_CODE(KEYCODE_F1) - PORT_START("BIT5") /* bit 5 */ - PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("^ (PI E)") PORT_CODE(KEYCODE_P) - PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("TAN (TAN^-1 D)") PORT_CODE(KEYCODE_PGUP) - PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("COS (COS^-1 C)") PORT_CODE(KEYCODE_HOME) - PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("SIN (SIN^-1 B)") PORT_CODE(KEYCODE_INSERT) - PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("LOG (10^x A)") PORT_CODE(KEYCODE_QUOTE) - PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("2nd") PORT_CODE(KEYCODE_LALT) - PORT_START("BIT6") /* bit 6 */ - PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("CLEAR (TOLER)") PORT_CODE(KEYCODE_PGDN) - PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("CUSTOM (CATALOG)") PORT_CODE(KEYCODE_F9) - PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("PRGM (POLY)") PORT_CODE(KEYCODE_F8) - PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("STAT (SIMULT)") PORT_CODE(KEYCODE_F7) - PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("GRAPH (SOLVER)") PORT_CODE(KEYCODE_F6) - PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("EXIT (QUIT)") PORT_CODE(KEYCODE_ESC) - PORT_START("BIT7") /* bit 7 */ - PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("DEL (INS)") PORT_CODE(KEYCODE_DEL) - PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("x-VAR (LINK x)") PORT_CODE(KEYCODE_LCONTROL) - PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("ALPHA (alpha)") PORT_CODE(KEYCODE_CAPSLOCK) - PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("MORE (MODE)") PORT_CODE(KEYCODE_TILDE) - PORT_START("ON") /* ON */ - PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("ON/OFF") PORT_CODE(KEYCODE_Q) -INPUT_PORTS_END - -static INPUT_PORTS_START (ti82) - PORT_START("BIT0") /* bit 0 */ - PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Down") PORT_CODE(KEYCODE_DOWN) - PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("ENTER") PORT_CODE(KEYCODE_ENTER) - PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("(-)") PORT_CODE(KEYCODE_M) - PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME(".") PORT_CODE(KEYCODE_STOP) - PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("0") PORT_CODE(KEYCODE_0) - PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("GRAPH") PORT_CODE(KEYCODE_F5) - PORT_START("BIT1") /* bit 1 */ - PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Left") PORT_CODE(KEYCODE_LEFT) - PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("+") PORT_CODE(KEYCODE_EQUALS) - PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("3") PORT_CODE(KEYCODE_3) - PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("2") PORT_CODE(KEYCODE_2) - PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("1") PORT_CODE(KEYCODE_1) - PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("STORE") PORT_CODE(KEYCODE_S) - PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("TRACE") PORT_CODE(KEYCODE_F4) - PORT_START("BIT2") /* bit 2 */ - PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Right") PORT_CODE(KEYCODE_RIGHT) - PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("-") PORT_CODE(KEYCODE_MINUS) - PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("6") PORT_CODE(KEYCODE_6) - PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("5") PORT_CODE(KEYCODE_5) - PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("4") PORT_CODE(KEYCODE_4) - PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("LN") PORT_CODE(KEYCODE_BACKSLASH) - PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("ZOOM") PORT_CODE(KEYCODE_F3) - PORT_START("BIT3") /* bit 3 */ - PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Up") PORT_CODE(KEYCODE_UP) - PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("*") PORT_CODE(KEYCODE_L) - PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("9") PORT_CODE(KEYCODE_9) - PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("8") PORT_CODE(KEYCODE_8) - PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("7") PORT_CODE(KEYCODE_7) - PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("LOG") PORT_CODE(KEYCODE_QUOTE) - PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("WINDOW") PORT_CODE(KEYCODE_F2) - PORT_START("BIT4") /* bit 4 */ - PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("/") PORT_CODE(KEYCODE_SLASH) - PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME(")") PORT_CODE(KEYCODE_CLOSEBRACE) - PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("(") PORT_CODE(KEYCODE_OPENBRACE) - PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME(",") PORT_CODE(KEYCODE_END) - PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("x^2") PORT_CODE(KEYCODE_COLON) - PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Y=") PORT_CODE(KEYCODE_F1) - PORT_START("BIT5") /* bit 5 */ - PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("^") PORT_CODE(KEYCODE_P) - PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("TAN") PORT_CODE(KEYCODE_PGUP) - PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("COS") PORT_CODE(KEYCODE_HOME) - PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("SIN") PORT_CODE(KEYCODE_INSERT) - PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("x^-1") PORT_CODE(KEYCODE_COMMA) - PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("2nd") PORT_CODE(KEYCODE_LALT) - PORT_START("BIT6") /* bit 6 */ - PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("CLEAR") PORT_CODE(KEYCODE_PGDN) - PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("VARS") PORT_CODE(KEYCODE_F9) - PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("PRGM") PORT_CODE(KEYCODE_F8) - PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("MATRX") PORT_CODE(KEYCODE_F7) - PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("MATH") PORT_CODE(KEYCODE_F6) - PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("MODE") PORT_CODE(KEYCODE_ESC) - PORT_START("BIT7") /* bit 7 */ - PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("STAT") PORT_CODE(KEYCODE_TILDE) - PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("x-VAR") PORT_CODE(KEYCODE_X) - PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("ALPHA") PORT_CODE(KEYCODE_LSHIFT) - PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("DEL") PORT_CODE(KEYCODE_DEL) - PORT_START("ON") /* ON */ - PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("ON/OFF") PORT_CODE(KEYCODE_Q) -INPUT_PORTS_END - -static INPUT_PORTS_START (ti83) - PORT_INCLUDE( ti82 ) - - PORT_START("BATTERY") - PORT_DIPNAME( 0x01, 0x01, "Battery Status" ) - PORT_DIPSETTING( 0x01, DEF_STR( Normal ) ) - PORT_DIPSETTING( 0x00, "Low Battery" ) -INPUT_PORTS_END - -/* machine definition */ -static MACHINE_CONFIG_START( ti81, ti85_state ) - /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", Z80, 2000000) /* 2 MHz */ - MCFG_CPU_PROGRAM_MAP(ti81_mem) - MCFG_CPU_IO_MAP(ti81_io) - - /* video hardware */ - MCFG_SCREEN_ADD("screen", LCD) - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_VBLANK_TIME(0) - MCFG_SCREEN_SIZE(96, 64) - MCFG_SCREEN_VISIBLE_AREA(0, 96-1, 0, 64-1) - MCFG_SCREEN_UPDATE_DRIVER(ti85_state, screen_update_ti85) - MCFG_SCREEN_PALETTE("palette") - - MCFG_PALETTE_ADD("palette", 224) - MCFG_PALETTE_INDIRECT_ENTRIES(224) - MCFG_PALETTE_INIT_OWNER(ti85_state, ti85) - - MCFG_NVRAM_ADD_0FILL("nvram") -MACHINE_CONFIG_END - - -static MACHINE_CONFIG_DERIVED( ti85, ti81 ) - MCFG_CPU_MODIFY("maincpu") - MCFG_CPU_CLOCK(6000000) /* 6 MHz */ - MCFG_CPU_IO_MAP(ti85_io) - - MCFG_MACHINE_RESET_OVERRIDE(ti85_state, ti85 ) - - MCFG_SCREEN_MODIFY("screen") - MCFG_SCREEN_SIZE(128, 64) - MCFG_SCREEN_VISIBLE_AREA(0, 128-1, 0, 64-1) - - /* sound hardware */ - MCFG_SPEAKER_STANDARD_MONO("mono") - MCFG_SOUND_ADD("speaker", SPEAKER_SOUND, 0) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) -MACHINE_CONFIG_END - - -static MACHINE_CONFIG_DERIVED( ti85d, ti85 ) - MCFG_SNAPSHOT_ADD("snapshot", ti85_state, ti8x, "sav", 0) - //MCFG_TI85SERIAL_ADD( "tiserial" ) -MACHINE_CONFIG_END - - -static MACHINE_CONFIG_DERIVED( ti82, ti81 ) - MCFG_CPU_MODIFY("maincpu") - MCFG_CPU_CLOCK(6000000) /* 6 MHz */ - MCFG_CPU_IO_MAP(ti82_io) - - MCFG_MACHINE_RESET_OVERRIDE(ti85_state, ti85 ) - - MCFG_SCREEN_MODIFY("screen") - MCFG_SCREEN_UPDATE_DEVICE("t6a04", t6a04_device, screen_update) - - MCFG_PALETTE_MODIFY("palette") - MCFG_PALETTE_ENTRIES(2) - MCFG_PALETTE_INIT_OWNER(ti85_state, ti82 ) - - MCFG_DEVICE_ADD("t6a04", T6A04, 0) - MCFG_T6A04_SIZE(96, 64) - - MCFG_SPEAKER_STANDARD_MONO("mono") - MCFG_SOUND_ADD("speaker", SPEAKER_SOUND, 0) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) - - //MCFG_TI82SERIAL_ADD( "tiserial" ) -MACHINE_CONFIG_END - -static MACHINE_CONFIG_DERIVED( ti81v2, ti82 ) - MCFG_CPU_MODIFY("maincpu") - MCFG_CPU_IO_MAP(ti81v2_io) - - //MCFG_DEVICE_REMOVE( "tiserial" ) -MACHINE_CONFIG_END - -static MACHINE_CONFIG_DERIVED( ti83, ti81 ) - MCFG_CPU_MODIFY("maincpu") - MCFG_CPU_CLOCK(6000000) /* 6 MHz */ - MCFG_CPU_IO_MAP(ti83_io) - - MCFG_MACHINE_RESET_OVERRIDE(ti85_state, ti85 ) - - MCFG_SCREEN_MODIFY("screen") - MCFG_SCREEN_UPDATE_DEVICE("t6a04", t6a04_device, screen_update) - - MCFG_PALETTE_MODIFY("palette") - MCFG_PALETTE_ENTRIES(2) - MCFG_PALETTE_INIT_OWNER(ti85_state, ti82 ) - - MCFG_DEVICE_ADD("t6a04", T6A04, 0) - MCFG_T6A04_SIZE(96, 64) -MACHINE_CONFIG_END - -static MACHINE_CONFIG_DERIVED( ti86, ti85 ) - MCFG_CPU_MODIFY("maincpu") - MCFG_CPU_PROGRAM_MAP(ti86_mem) - MCFG_CPU_IO_MAP(ti86_io) - - MCFG_MACHINE_START_OVERRIDE(ti85_state, ti86 ) - MCFG_MACHINE_RESET_OVERRIDE(ti85_state, ti85 ) - - MCFG_SNAPSHOT_ADD("snapshot", ti85_state, ti8x, "sav", 0) - //MCFG_TI86SERIAL_ADD( "tiserial" ) -MACHINE_CONFIG_END - -static MACHINE_CONFIG_DERIVED( ti83p, ti81 ) - MCFG_CPU_MODIFY("maincpu") - MCFG_CPU_CLOCK(6000000) /* 8 MHz running at 6 MHz */ - MCFG_CPU_PROGRAM_MAP(ti83p_asic_mem) - MCFG_CPU_IO_MAP(ti83p_io) - - MCFG_MACHINE_START_OVERRIDE(ti85_state, ti83p ) - MCFG_MACHINE_RESET_OVERRIDE(ti85_state, ti83p ) - - MCFG_SCREEN_MODIFY("screen") - MCFG_SCREEN_UPDATE_DEVICE("t6a04", t6a04_device, screen_update) - - MCFG_PALETTE_MODIFY("palette") - MCFG_PALETTE_ENTRIES(2) - MCFG_PALETTE_INIT_OWNER(ti85_state, ti82 ) - - MCFG_DEVICE_ADD("membank1", ADDRESS_MAP_BANK, 0) - MCFG_DEVICE_PROGRAM_MAP(ti83p_banked_mem) - MCFG_ADDRESS_MAP_BANK_ENDIANNESS(ENDIANNESS_LITTLE) - MCFG_ADDRESS_MAP_BANK_DATABUS_WIDTH(8) - MCFG_ADDRESS_MAP_BANK_STRIDE(0x4000) - - MCFG_DEVICE_ADD("membank2", ADDRESS_MAP_BANK, 0) - MCFG_DEVICE_PROGRAM_MAP(ti83p_banked_mem) - MCFG_ADDRESS_MAP_BANK_ENDIANNESS(ENDIANNESS_LITTLE) - MCFG_ADDRESS_MAP_BANK_DATABUS_WIDTH(8) - MCFG_ADDRESS_MAP_BANK_STRIDE(0x4000) - - MCFG_DEVICE_ADD("membank3", ADDRESS_MAP_BANK, 0) - MCFG_DEVICE_PROGRAM_MAP(ti83p_banked_mem) - MCFG_ADDRESS_MAP_BANK_ENDIANNESS(ENDIANNESS_LITTLE) - MCFG_ADDRESS_MAP_BANK_DATABUS_WIDTH(8) - MCFG_ADDRESS_MAP_BANK_STRIDE(0x4000) - - MCFG_DEVICE_ADD("membank4", ADDRESS_MAP_BANK, 0) - MCFG_DEVICE_PROGRAM_MAP(ti83p_banked_mem) - MCFG_ADDRESS_MAP_BANK_ENDIANNESS(ENDIANNESS_LITTLE) - MCFG_ADDRESS_MAP_BANK_DATABUS_WIDTH(8) - MCFG_ADDRESS_MAP_BANK_STRIDE(0x4000) - - MCFG_DEVICE_ADD("t6a04", T6A04, 0) - MCFG_T6A04_SIZE(96, 64) - - MCFG_SPEAKER_STANDARD_MONO("mono") - MCFG_SOUND_ADD("speaker", SPEAKER_SOUND, 0) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) - - MCFG_AMD_29F400T_ADD("flash") - - //MCFG_TI83PSERIAL_ADD( "tiserial" ) -MACHINE_CONFIG_END - -static MACHINE_CONFIG_DERIVED( ti83pse, ti83p ) - MCFG_CPU_MODIFY("maincpu") - MCFG_CPU_CLOCK( 15000000) - MCFG_CPU_IO_MAP(ti83pse_io) - - MCFG_DEVICE_MODIFY("membank1") - MCFG_DEVICE_PROGRAM_MAP(ti83pse_banked_mem) - - MCFG_DEVICE_MODIFY("membank2") - MCFG_DEVICE_PROGRAM_MAP(ti83pse_banked_mem) - - MCFG_DEVICE_MODIFY("membank3") - MCFG_DEVICE_PROGRAM_MAP(ti83pse_banked_mem) - - MCFG_DEVICE_MODIFY("membank4") - MCFG_DEVICE_PROGRAM_MAP(ti83pse_banked_mem) - - MCFG_MACHINE_START_OVERRIDE(ti85_state, ti83pse ) - MCFG_DEVICE_REPLACE("flash", FUJITSU_29F160T, 0) - - //MCFG_TI83PSERIAL_ADD( "tiserial" ) -MACHINE_CONFIG_END - -static MACHINE_CONFIG_DERIVED( ti84p, ti83pse ) - MCFG_DEVICE_MODIFY("membank1") - MCFG_DEVICE_PROGRAM_MAP(ti84p_banked_mem) - - MCFG_DEVICE_MODIFY("membank2") - MCFG_DEVICE_PROGRAM_MAP(ti84p_banked_mem) - - MCFG_DEVICE_MODIFY("membank3") - MCFG_DEVICE_PROGRAM_MAP(ti84p_banked_mem) - - MCFG_DEVICE_MODIFY("membank4") - MCFG_DEVICE_PROGRAM_MAP(ti84p_banked_mem) - - MCFG_MACHINE_START_OVERRIDE(ti85_state, ti84p ) - MCFG_DEVICE_REPLACE("flash", AMD_29F800T , 0) -MACHINE_CONFIG_END - -static MACHINE_CONFIG_DERIVED( ti84pse, ti83pse ) - MCFG_MACHINE_START_OVERRIDE(ti85_state, ti84pse ) -MACHINE_CONFIG_END - -static MACHINE_CONFIG_DERIVED( ti73, ti83p ) - //MCFG_DEVICE_REMOVE( "tiserial" ) - //MCFG_TI73SERIAL_ADD( "tiserial" ) -MACHINE_CONFIG_END - -ROM_START (ti73) - ROM_REGION (0x80000, "flash",0) - ROM_DEFAULT_BIOS("v16") - ROM_SYSTEM_BIOS( 0, "v16", "V 1.6" ) - ROMX_LOAD( "ti73v160.rom", 0x00000, 0x80000, CRC(bb0e3a16) SHA1(d62c2c7532698962818a747a7f32e35e41dfe338), ROM_BIOS(1) ) -ROM_END - -ROM_START (ti81) - ROM_REGION (0x08000, "bios",0) - ROM_DEFAULT_BIOS("v18") - ROM_SYSTEM_BIOS( 0, "v11", "V 1.1K" ) - ROMX_LOAD( "ti81v11k.bin", 0x00000, 0x8000, CRC(0b860a63) SHA1(84a71cfc8818ca4b7d0caa76ffbf6d0463eaf7c6), ROM_BIOS(1) ) - ROM_SYSTEM_BIOS( 1, "v16", "V 1.6K" ) - ROMX_LOAD( "ti81v16k.bin", 0x00000, 0x8000, CRC(452ca838) SHA1(92649f0f3bce7d8829d950cecd6532d7f7db1297), ROM_BIOS(2) ) - ROM_SYSTEM_BIOS( 2, "v18", "V 1.8K" ) - ROMX_LOAD( "ti81v18k.bin", 0x00000, 0x8000, CRC(94ac58e2) SHA1(ba915cfe2fe50a452ef8287db8f2244e29056d54), ROM_BIOS(3) ) - //No dumps 1.0, and 2.0 from ticalc.org, less sure about 1.6K -ROM_END - -ROM_START (ti81v2) - ROM_REGION (0x08000, "bios",0) - ROM_DEFAULT_BIOS("v20") - ROM_SYSTEM_BIOS( 0, "v20", "V 2.0V" ) - ROMX_LOAD( "ti81v20v.bin", 0x00000, 0x8000, CRC(cfbd12da) SHA1(d2a923526d98f1046fcb583e46951939ba66bdb9), ROM_BIOS(1) ) -ROM_END - -ROM_START (ti82) - ROM_REGION (0x20000, "bios",0) - ROM_DEFAULT_BIOS("v19") - ROM_SYSTEM_BIOS( 0, "v16", "V 16.0" ) - ROMX_LOAD( "ti82v16.bin", 0x00000, 0x20000, CRC(e2f5721c) SHA1(df300ae52e105faf2785a8ae9f42e84e4308d460), ROM_BIOS(1) ) - ROM_SYSTEM_BIOS( 1, "v17", "V 17.0" ) - ROMX_LOAD( "ti82v17.bin", 0x00000, 0x20000, CRC(0fc956d4) SHA1(77eef7d2db5ad1fb5de9129086a18428ddf66195), ROM_BIOS(2) ) - ROM_SYSTEM_BIOS( 2, "v18", "V 18.0" ) - ROMX_LOAD( "ti82v18.bin", 0x00000, 0x20000, CRC(6a320f03) SHA1(9ee15ebf0a1f8bde5bef982b5db4ce120c605d29), ROM_BIOS(3) ) - ROM_SYSTEM_BIOS( 3, "v19", "V 19.0" ) - ROMX_LOAD( "ti82v19.bin", 0x00000, 0x20000, CRC(ed4cf9ff) SHA1(10dc2d01c62b4e971a6ed7ebc75ca0f2e3dc4f95), ROM_BIOS(4) ) - //Rom versions according to ticalc.org 3*, 4*, 7*, 8.0, 10.0, 12.0, 15.0, 16.0, 17.0, 18.0, 19.0, 19.006 -ROM_END - -ROM_START (ti83) - ROM_REGION (0x40000, "bios",0) - ROM_DEFAULT_BIOS("v110") - ROM_SYSTEM_BIOS( 0, "v102", "V 1.02" ) - ROMX_LOAD( "ti83v102.bin", 0x00000, 0x40000, CRC(7ee5d27b) SHA1(ce08f6a808701fc6672230a790167ee485157561), ROM_BIOS(1) ) - ROM_SYSTEM_BIOS( 1, "v103", "V 1.03" ) - ROMX_LOAD( "ti83v103.bin", 0x00000, 0x40000, CRC(926f72a4) SHA1(8399e384804d8d29866caa4c8763d7a61946a467), ROM_BIOS(2) ) - ROM_SYSTEM_BIOS( 2, "v104", "V 1.04" ) - ROMX_LOAD( "ti83v104.bin", 0x00000, 0x40000, CRC(dccb73d3) SHA1(33877ff637dc5f4c5388799fd7e2159b48e72893), ROM_BIOS(3) ) - ROM_SYSTEM_BIOS( 3, "v106", "V 1.06" ) - ROMX_LOAD( "ti83v106.bin", 0x00000, 0x40000, CRC(2eae1cf0) SHA1(3d65c2a1b771ce8e5e5a0476ec1aa9c9cdc0e833), ROM_BIOS(4) ) - ROM_SYSTEM_BIOS( 4, "v107", "V 1.07" ) - ROMX_LOAD( "ti83v107.bin", 0x00000, 0x40000, CRC(4bf05697) SHA1(ef66dad3e7b2b6a86f326765e7dfd7d1a308ad8f), ROM_BIOS(5) ) - ROM_SYSTEM_BIOS( 5, "v108", "V 1.08" ) - ROMX_LOAD( "ti83v108.bin", 0x00000, 0x40000, CRC(0c6aafcc) SHA1(9c74f0b61655e9e160e92164db472ad7ee02b0f8), ROM_BIOS(6) ) - ROM_SYSTEM_BIOS( 6, "v110", "V 1.10" ) - ROMX_LOAD( "ti83v110.bin", 0x00000, 0x40000, CRC(7faee2d2) SHA1(25b373b58523647bb7b904001d391615e0b79bee), ROM_BIOS(7) ) - ROM_SYSTEM_BIOS( 7, "v110-2", "V 1.10 (2)" ) - ROMX_LOAD( "ti83v110-2.bin", 0x00000, 0x40000, CRC(56182912) SHA1(4c77fb77f023502b685a49a8013568b494384b25), ROM_BIOS(8) ) - //Rom versions according to ticalc.org 1.02, 1.03, 1.04, 1.06, 1.07, 1.08, 1.10 -ROM_END - -ROM_START (ti83p) - ROM_REGION (0x80000, "flash",0) - ROM_DEFAULT_BIOS("v116") - ROM_SYSTEM_BIOS( 0, "v103", "V 1.03" ) - ROMX_LOAD( "ti83pv103.bin", 0x00000, 0x80000, CRC(da466be0) SHA1(37eaeeb9fb5c18fb494e322b75070e80cc4d858e), ROM_BIOS(1) ) - ROM_SYSTEM_BIOS( 1, "v103m", "V 1.03 [m]" ) - ROMX_LOAD( "ti83pv103m.bin", 0x00000, 0x80000, CRC(281c9375) SHA1(80d698fed42976015a3e53fd59ebe7f49699b27e), ROM_BIOS(2)) - ROM_SYSTEM_BIOS( 2, "v103m2", "V 1.03 [m2]" ) - ROMX_LOAD( "ti83pv103m2.bin", 0x00000, 0x80000, CRC(690d9d30) SHA1(d215d3880e06c2ae31ec24b21d542d5bb2f3935b), ROM_BIOS(3)) - ROM_SYSTEM_BIOS( 3, "v110", "V 1.10" ) - ROMX_LOAD( "ti83pv110.bin", 0x00000, 0x80000, CRC(62683990) SHA1(f86cdefe4ed5ef9965cd9eb667cb859e2cb10e19), ROM_BIOS(4) ) - ROM_SYSTEM_BIOS( 4, "v112", "V 1.12" ) - ROMX_LOAD( "ti83pv112.bin", 0x00000, 0x80000, CRC(ddca5026) SHA1(6615df5554076b6b81bd128bf847d2ff046e556b), ROM_BIOS(5) ) - ROM_SYSTEM_BIOS( 5, "v110-2", "V 1.10-2" ) - ROMX_LOAD( "ti83pv110-2.bin", 0x00000, 0x80000, CRC(504b9879) SHA1(8841d501870e8fc7173642d8a438205a040640fc), ROM_BIOS(6) ) - ROM_SYSTEM_BIOS( 6, "v112-2", "V 1.12-2" ) - ROMX_LOAD( "ti83pv112-2.bin", 0x00000, 0x80000, CRC(2126de12) SHA1(cbedc3a8cf8335eebf2b279d58720d8e7f86c569), ROM_BIOS(7) ) - ROM_SYSTEM_BIOS( 7, "v113", "V 1.13" ) - ROMX_LOAD( "ti83pv113.bin", 0x00000, 0x80000, CRC(30a243aa) SHA1(9b79e994ea1ce7af05b68f8ecee8b1b1fc3f0810), ROM_BIOS(8) ) - ROM_SYSTEM_BIOS( 8, "v114", "V 1.14" ) - ROMX_LOAD( "ti83pv114.bin", 0x00000, 0x80000, CRC(b32059c7) SHA1(46c66ba0421c03fc42f5afb06c7d3af812786140), ROM_BIOS(9) ) - ROM_SYSTEM_BIOS( 9, "v115", "V 1.15" ) - ROMX_LOAD( "ti83pv115.bin", 0x00000, 0x80000, CRC(9288029b) SHA1(8bd05fd47cab4028f275d1cc5383fd4f0e193474), ROM_BIOS(10) ) - ROM_SYSTEM_BIOS( 10, "v116", "V 1.16" ) - ROMX_LOAD( "ti83pv116.bin", 0x00000, 0x80000, CRC(0b7cd006) SHA1(290bc81159ea061d8ccb56a6f63e042f150afb32), ROM_BIOS(11) ) -ROM_END - -ROM_START (ti85) - ROM_REGION (0x20000, "bios",0) - ROM_DEFAULT_BIOS("v100") - ROM_SYSTEM_BIOS( 0, "v30a", "V 3.0A" ) - ROMX_LOAD( "ti85v30a.bin", 0x00000, 0x20000, CRC(de4c0b1a) SHA1(f4cf4b8309372dbe26187bb279545f5d4bd48fc1), ROM_BIOS(1) ) - ROM_SYSTEM_BIOS( 1, "v40", "V 4.0" ) - ROMX_LOAD( "ti85v40.bin", 0x00000, 0x20000, CRC(a1723a17) SHA1(ff5866636bb3f206a6bf39cc9c9dc8308332aaf0), ROM_BIOS(2) ) - ROM_SYSTEM_BIOS( 2, "v50", "V 5.0" ) - ROMX_LOAD( "ti85v50.bin", 0x00000, 0x20000, CRC(781fa403) SHA1(bf20d520d8efd7e5ae269789ca4b3c71848ac32a), ROM_BIOS(3) ) - ROM_SYSTEM_BIOS( 3, "v60", "V 6.0" ) - ROMX_LOAD( "ti85v60.bin", 0x00000, 0x20000, CRC(b694a117) SHA1(36d58e2723e5ae4ffe0f8da691fa9a83bfe9e06b), ROM_BIOS(4) ) - ROM_SYSTEM_BIOS( 4, "v80", "V 8.0" ) - ROMX_LOAD( "ti85v80.bin", 0x00000, 0x20000, CRC(7f296338) SHA1(765d5c612b6ffc0d1ded8f79bcbe880b1b562a98), ROM_BIOS(5) ) - ROM_SYSTEM_BIOS( 5, "v90", "V 9.0" ) - ROMX_LOAD( "ti85v90.bin", 0x00000, 0x20000, CRC(6a0a94d0) SHA1(7742bf8a6929a21d06f306b494fc03b1fbdfe3e4), ROM_BIOS(6) ) - ROM_SYSTEM_BIOS( 6, "v100", "V 10.0" ) - ROMX_LOAD( "ti85v100.bin", 0x00000, 0x20000, CRC(053325b0) SHA1(36da1080c34e7b53cbe8463be5804e30e4a50dc8), ROM_BIOS(7) ) - //No_dumps 1.0, 2.0 and 7.0 according to ticalc.org -ROM_END - -ROM_START (ti86) - ROM_REGION (0x40000, "bios",0) - ROM_DEFAULT_BIOS("v16") - ROM_SYSTEM_BIOS( 0, "v12", "V 1.2" ) - ROMX_LOAD( "ti86v12.bin", 0x00000, 0x40000, CRC(bdf16105) SHA1(e40b22421c31bf0af104518b748ae79cd21d9c57), ROM_BIOS(1) ) - ROM_SYSTEM_BIOS( 1, "v13", "V 1.3" ) - ROMX_LOAD( "ti86v13.bin", 0x00000, 0x40000, CRC(073ef70f) SHA1(5702d4bb835bdcbfa8075ffd620fca0eaf3a1592), ROM_BIOS(2) ) - ROM_SYSTEM_BIOS( 2, "v14", "V 1.4" ) - ROMX_LOAD( "ti86v14.bin", 0x00000, 0x40000, CRC(fe6e2986) SHA1(23e0fb9a1763d5b9a7b0e593f09c2ff30c760866), ROM_BIOS(3) ) - ROM_SYSTEM_BIOS( 3, "v15", "V 1.5" ) - ROMX_LOAD( "ti86v15.bin", 0x00000, 0x40000, BAD_DUMP CRC(e6e10546) SHA1(5ca63fdfc965ae3fb8e0695263cf9da41f6ecb90), ROM_BIOS(4) ) - ROM_SYSTEM_BIOS( 4, "v16", "V 1.6" ) - ROMX_LOAD( "ti86v16.bin", 0x00000, 0x40000, CRC(37e02acc) SHA1(b5ad204885e5dde23a22f18f8d5eaffca69d638d), ROM_BIOS(5) ) - //Rom versions according to ticalc.org 1.2, 1.3, 1.4, 1.5, 1.6 -ROM_END - - -ROM_START (ti83pse) - ROM_REGION (0x200000, "flash", 0) - ROM_DEFAULT_BIOS("v116") - ROM_SYSTEM_BIOS( 0, "v116", "V 1.16" ) - ROMX_LOAD( "ti83psev116.bin", 0x00000, 0x200000, CRC(d2570863) SHA1(d4214b3c0ebb26e10fe95294ac72a90d2ba99537), ROM_BIOS(1) ) -ROM_END - -ROM_START (ti84pse) - ROM_REGION (0x200000, "flash",0) - ROM_DEFAULT_BIOS("v241") - ROM_SYSTEM_BIOS( 0, "v241", "V 2.41" ) - ROMX_LOAD( "ti84sev241.bin", 0x00000, 0x200000, CRC(5758db36) SHA1(7daa4f22e9b5dc8a1cc8fd31bceece9fa8b43515), ROM_BIOS(1) ) -ROM_END - -ROM_START (ti84p) - ROM_REGION (0x100000, "flash",0) - ROM_DEFAULT_BIOS("b100v255mp") - ROM_SYSTEM_BIOS( 0, "b100v255mp", "Boot 1.00 OS V 2.55MP" ) - ROMX_LOAD( "ti84pb100v255mp.bin", 0x00000, 0x100000, CRC(4af31251) SHA1(8f67269346644b87e7cd0f353f5f4030e787cf57), ROM_BIOS(1) ) -ROM_END - -/* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME FLAGS */ -COMP( 1990, ti81, 0, 0, ti81, ti81, driver_device, 0, "Texas Instruments", "TI-81", MACHINE_NO_SOUND ) -COMP( 1992, ti85, 0, 0, ti85d, ti85, driver_device, 0, "Texas Instruments", "TI-85", MACHINE_NO_SOUND ) -COMP( 1993, ti82, 0, 0, ti82, ti82, driver_device, 0, "Texas Instruments", "TI-82", MACHINE_NO_SOUND ) -COMP( 1994, ti81v2, ti81, 0, ti81v2, ti81, driver_device, 0, "Texas Instruments", "TI-81 v2.0", MACHINE_NO_SOUND ) -COMP( 1996, ti83, 0, 0, ti83, ti83, driver_device, 0, "Texas Instruments", "TI-83", MACHINE_NO_SOUND ) -COMP( 1997, ti86, 0, 0, ti86, ti85, driver_device, 0, "Texas Instruments", "TI-86", MACHINE_NO_SOUND ) -COMP( 1998, ti73, 0, 0, ti73, ti82, driver_device, 0, "Texas Instruments", "TI-73", MACHINE_NO_SOUND ) -COMP( 1999, ti83p, 0, 0, ti83p, ti82, driver_device, 0, "Texas Instruments", "TI-83 Plus", MACHINE_NO_SOUND ) -COMP( 2001, ti83pse, 0, 0, ti83pse, ti82, driver_device, 0, "Texas Instruments", "TI-83 Plus Silver Edition", MACHINE_NO_SOUND ) -COMP( 2004, ti84p, 0, 0, ti84p, ti82, driver_device, 0, "Texas Instruments", "TI-84 Plus", MACHINE_NO_SOUND ) -COMP( 2004, ti84pse, 0, 0, ti84pse, ti82, driver_device, 0, "Texas Instruments", "TI-84 Plus Silver Edition", MACHINE_NO_SOUND ) |