src/mess/machine/apple2.c
| r15419 | r15420 | |
| 449 | 449 | } |
| 450 | 450 | else |
| 451 | 451 | { |
| 452 | | if (m_machinetype == LASER128) |
| 453 | | { |
| 454 | | UINT8 *rom = space.machine().root_device().memregion("maincpu")->base(); |
| 455 | | |
| 456 | | return rom[(offset&0x1ff) + 0x4200]; |
| 457 | | } |
| 458 | | else |
| 459 | | { |
| 460 | | return apple2_slotram_r(space, slotnum, offset); |
| 461 | | } |
| 452 | return apple2_slotram_r(space, slotnum, offset); |
| 462 | 453 | } |
| 463 | 454 | |
| 464 | 455 | // else fall through to floating bus |
| r15419 | r15420 | |
| 1906 | 1897 | apple2_reset(machine); |
| 1907 | 1898 | } |
| 1908 | 1899 | |
| 1900 | MACHINE_START( space84 ) |
| 1901 | { |
| 1902 | apple2_memmap_config mem_cfg; |
| 1903 | void *apple2cp_ce00_ram = NULL; |
| 1904 | apple2_state *state = machine.driver_data<apple2_state>(); |
| 1905 | |
| 1906 | // II and II+ have no internal ROM or internal slot 3 h/w, so don't allow these states |
| 1907 | state->m_flags_mask = VAR_INTCXROM|VAR_SLOTC3ROM; |
| 1908 | |
| 1909 | state->m_machinetype = SPACE84; |
| 1910 | |
| 1911 | apple2_init_common(machine); |
| 1912 | |
| 1913 | /* setup memory */ |
| 1914 | memset(&mem_cfg, 0, sizeof(mem_cfg)); |
| 1915 | mem_cfg.first_bank = 1; |
| 1916 | mem_cfg.memmap = apple2_memmap_entries; |
| 1917 | mem_cfg.auxmem = (UINT8*)apple2cp_ce00_ram; |
| 1918 | apple2_setup_memory(machine, &mem_cfg); |
| 1919 | |
| 1920 | /* perform initial reset */ |
| 1921 | apple2_reset(machine); |
| 1922 | } |
| 1923 | |
| 1909 | 1924 | MACHINE_START( tk2000 ) |
| 1910 | 1925 | { |
| 1911 | 1926 | apple2_memmap_config mem_cfg; |
src/mess/includes/apple2.h
| r15419 | r15420 | |
| 77 | 77 | APPLE_II, // Apple II/II+ |
| 78 | 78 | APPLE_IIEPLUS, // Apple IIe/IIc/IIgs/IIc+ |
| 79 | 79 | TK2000, // Microdigital TK2000 |
| 80 | | LASER128 // Laser 128/128EX/128EX2 |
| 80 | LASER128, // Laser 128/128EX/128EX2 |
| 81 | SPACE84 // "Space 84" with flipped text mode |
| 81 | 82 | } machine_type_t; |
| 82 | 83 | |
| 83 | 84 | typedef enum |
| r15419 | r15420 | |
| 235 | 236 | MACHINE_START( apple2orig ); |
| 236 | 237 | MACHINE_START( tk2000 ); |
| 237 | 238 | MACHINE_START( laser128 ); |
| 239 | MACHINE_START( space84 ); |
| 238 | 240 | UINT8 apple2_getfloatingbusvalue(running_machine &machine); |
| 239 | 241 | READ8_HANDLER( apple2_c0xx_r ); |
| 240 | 242 | WRITE8_HANDLER( apple2_c0xx_w ); |
src/mess/video/apple2.c
| r15419 | r15420 | |
| 115 | 115 | chardata = &textgfx_data[(code * 8) % textgfx_datalen]; |
| 116 | 116 | |
| 117 | 117 | /* and finally, plot the character itself */ |
| 118 | | for (y = 0; y < 8; y++) |
| 119 | | { |
| 120 | | for (x = 0; x < 7; x++) |
| 121 | | { |
| 122 | | color = (chardata[y] & (1 << x)) ? bg : fg; |
| 118 | if (state->m_machinetype == SPACE84) |
| 119 | { |
| 120 | for (y = 0; y < 8; y++) |
| 121 | { |
| 122 | for (x = 0; x < 7; x++) |
| 123 | { |
| 124 | color = (chardata[y] & (1 << (6-x))) ? bg : fg; |
| 123 | 125 | |
| 124 | | for (i = 0; i < xscale; i++) |
| 125 | | { |
| 126 | | bitmap.pix16(ypos + y, xpos + (x * xscale) + i) = color; |
| 127 | | } |
| 128 | | } |
| 129 | | } |
| 126 | for (i = 0; i < xscale; i++) |
| 127 | { |
| 128 | bitmap.pix16(ypos + y, xpos + (x * xscale) + i) = color; |
| 129 | } |
| 130 | } |
| 131 | } |
| 132 | } |
| 133 | else |
| 134 | { |
| 135 | for (y = 0; y < 8; y++) |
| 136 | { |
| 137 | for (x = 0; x < 7; x++) |
| 138 | { |
| 139 | color = (chardata[y] & (1 << x)) ? bg : fg; |
| 140 | |
| 141 | for (i = 0; i < xscale; i++) |
| 142 | { |
| 143 | bitmap.pix16(ypos + y, xpos + (x * xscale) + i) = color; |
| 144 | } |
| 145 | } |
| 146 | } |
| 147 | } |
| 130 | 148 | } |
| 131 | 149 | |
| 132 | 150 | |
src/mess/drivers/apple2.c
| r15419 | r15420 | |
| 629 | 629 | // SLOT_INTERFACE("scsi", A2BUS_SCSI) /* Apple II SCSI Card */ |
| 630 | 630 | SLOT_INTERFACE_END |
| 631 | 631 | |
| 632 | | static SLOT_INTERFACE_START(laser128_internal) |
| 633 | | SLOT_INTERFACE("l128int", A2BUS_LASER128) |
| 634 | | SLOT_INTERFACE_END |
| 635 | | |
| 636 | 632 | static SLOT_INTERFACE_START(apple2eaux_cards) |
| 637 | 633 | SLOT_INTERFACE_END |
| 638 | 634 | |
| r15419 | r15420 | |
| 795 | 791 | // MCFG_A2BUS_ONBOARD_ADD("a2bus", "sl7", A2BUS_LASER128, NULL) |
| 796 | 792 | MACHINE_CONFIG_END |
| 797 | 793 | |
| 794 | static MACHINE_CONFIG_DERIVED( space84, apple2p ) |
| 795 | MCFG_MACHINE_START(space84) |
| 796 | MACHINE_CONFIG_END |
| 797 | |
| 798 | 798 | /*************************************************************************** |
| 799 | 799 | |
| 800 | 800 | Game driver(s) |
| r15419 | r15420 | |
| 1111 | 1111 | COMP( 1984, ivelultr, apple2, 0, apple2p, apple2p, 0, "Ivasim", "Ivel Ultra", GAME_SUPPORTS_SAVE ) |
| 1112 | 1112 | COMP( 1983, agat7, apple2, 0, apple2p, apple2p, 0, "Agat", "Agat-7", GAME_NOT_WORKING) // disk controller ROM JSRs to $FCA8 which is a delay on apple II, illegal instruction crash here :( |
| 1113 | 1113 | COMP( 1984, agat9, apple2, 0, apple2p, apple2p, 0, "Agat", "Agat-9", GAME_NOT_WORKING) |
| 1114 | | COMP( 1985, space84, apple2, 0, apple2p, apple2p, 0, "ComputerTechnik/IBS", "Space 84", GAME_NOT_WORKING ) |
| 1114 | COMP( 1985, space84, apple2, 0, space84, apple2p, 0, "ComputerTechnik/IBS", "Space 84", GAME_NOT_WORKING ) |
| 1115 | 1115 | |