Previous 199869 Revisions Next

r29616 Sunday 13th April, 2014 at 18:36:02 UTC by R. Belmont
(MESS) Apple II updates: [R. Belmont]
- Some minor cleanup to how post-IIe machines are handled
- Fixed N/M keys on Platinum IIe and IIgs
[src/mess/drivers]apple2.c apple2gs.c
[src/mess/includes]apple2.h
[src/mess/machine]apple2.c apple2gs.c

trunk/src/mess/machine/apple2gs.c
r29615r29616
19981998MACHINE_START_MEMBER(apple2gs_state,apple2gscommon)
19991999{
20002000   apple2gs_refresh_delegates();
2001   apple2_init_common();
20022001
2002   m_machinetype = APPLE_IIGS;
2003   apple2eplus_init_common(NULL);
2004
20032005   /* set up Apple IIgs vectoring */
20042006   g65816_set_read_vector_callback(m_maincpu, read8_delegate(FUNC(apple2gs_state::apple2gs_read_vector),this));
20052007
trunk/src/mess/machine/apple2.c
r29615r29616
21252125   apple2_refresh_delegates();
21262126}
21272127
2128MACHINE_START_MEMBER(apple2_state,apple2)
2128void apple2_state::apple2eplus_init_common(void *apple2cp_ce00_ram)
21292129{
21302130   apple2_memmap_config mem_cfg;
2131   void *apple2cp_ce00_ram = NULL;
21322131
21332132   m_flags_mask = 0;
21342133
2135   /* there appears to be some hidden RAM that is swapped in on the Apple
2136    * IIc plus; I have not found any official documentation but the BIOS
2137    * clearly uses this area as writeable memory */
2138   if (!strcmp(machine().system().name, "apple2cp")) {
2139      apple2cp_ce00_ram = auto_alloc_array(machine(), UINT8, 0x200);
2140      memset(apple2cp_ce00_ram, 0, sizeof(UINT8) * 0x200);
2141   }
2142
2143   m_machinetype = APPLE_IIEPLUS;
2144
21452134   apple2_init_common();
21462135
21472136   /* setup memory */
r29615r29616
21522141   apple2_setup_memory(&mem_cfg);
21532142}
21542143
2155MACHINE_START_MEMBER(apple2_state,apple2e)
2144MACHINE_START_MEMBER(apple2_state,apple2c)
21562145{
2157   apple2_memmap_config mem_cfg;
2158   void *apple2cp_ce00_ram = NULL;
2146   m_machinetype = APPLE_IIC;
21592147
2160   m_flags_mask = 0;
2148   apple2eplus_init_common((void *)NULL);
2149}
21612150
2151MACHINE_START_MEMBER(apple2_state,apple2cp)
2152{
2153   void *apple2cp_ce00_ram;
2154
21622155   /* there appears to be some hidden RAM that is swapped in on the Apple
21632156    * IIc plus; I have not found any official documentation but the BIOS
21642157    * clearly uses this area as writeable memory */
2165   if (!strcmp(machine().system().name, "apple2cp")) {
2166      apple2cp_ce00_ram = auto_alloc_array(machine(), UINT8, 0x200);
2167      memset(apple2cp_ce00_ram, 0, sizeof(UINT8) * 0x200);
2168   }
2158   apple2cp_ce00_ram = auto_alloc_array(machine(), UINT8, 0x200);
2159   memset(apple2cp_ce00_ram, 0, sizeof(UINT8) * 0x200);
21692160
2161   m_machinetype = APPLE_IICPLUS;
2162
2163   apple2eplus_init_common(apple2cp_ce00_ram);
2164}
2165
2166MACHINE_START_MEMBER(apple2_state,apple2e)
2167{
2168   apple2_memmap_config mem_cfg;
2169
2170   m_flags_mask = 0;
2171
21702172   m_machinetype = APPLE_IIE;
21712173
21722174   apple2_init_common();
r29615r29616
21752177   memset(&mem_cfg, 0, sizeof(mem_cfg));
21762178   mem_cfg.first_bank = 1;
21772179   mem_cfg.memmap = apple2_memmap_entries;
2178   mem_cfg.auxmem = (UINT8*)apple2cp_ce00_ram;
2180   mem_cfg.auxmem = (UINT8*)NULL;
21792181   apple2_setup_memory(&mem_cfg);
21802182}
21812183
trunk/src/mess/includes/apple2.h
r29615r29616
6868{
6969   APPLE_II,           // Apple II/II+
7070   APPLE_IIE,          // Apple IIe with aux slots
71   APPLE_IIEPLUS,      // Apple IIc/IIgs/IIc+ with permanent aux memory
71   APPLE_IIGS,         // Apple IIgs
72   APPLE_IIC,         // Apple IIc
73   APPLE_IICPLUS,      // Apple IIc+
7274   TK2000,             // Microdigital TK2000
7375   LASER128,           // Laser 128/128EX/128EX2
7476   SPACE84,            // "Space 84" with flipped text mode
r29615r29616
294296   write8_delegate wd_inh_d000;
295297   read8_delegate rd_inh_e000;
296298   write8_delegate wd_inh_e000;
297   DECLARE_MACHINE_START(apple2);
299   DECLARE_MACHINE_START(apple2orig);
298300   DECLARE_MACHINE_START(apple2e);
301   DECLARE_MACHINE_START(apple2c);
302   DECLARE_MACHINE_START(apple2cp);
303   DECLARE_MACHINE_START(tk2000);
304   DECLARE_MACHINE_START(laser128);
305   DECLARE_MACHINE_START(space84);
306   DECLARE_MACHINE_START(laba2p);
299307   DECLARE_VIDEO_START(apple2);
300308   DECLARE_PALETTE_INIT(apple2);
301   DECLARE_MACHINE_START(apple2orig);
302309   DECLARE_VIDEO_START(apple2p);
303310   DECLARE_VIDEO_START(apple2e);
304311   DECLARE_VIDEO_START(apple2c);
305   DECLARE_MACHINE_START(tk2000);
306   DECLARE_MACHINE_START(laser128);
307   DECLARE_MACHINE_START(space84);
308   DECLARE_MACHINE_START(laba2p);
309312   UINT32 screen_update_apple2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
310313   TIMER_DEVICE_CALLBACK_MEMBER(apple2_interrupt);
311314   DECLARE_WRITE8_MEMBER(a2bus_irq_w);
r29615r29616
334337   int apple2_fdc_has_525();
335338   void apple2_iwm_setdiskreg(UINT8 data);
336339   void apple2_init_common();
340   void apple2eplus_init_common(void *apple2cp_ce00_ram);
337341   INT8 apple2_slotram_r(address_space &space, int slotnum, int offset);
338342   int a2_no_ctrl_reset();
339343};
trunk/src/mess/drivers/apple2gs.c
r29615r29616
582582ROM_END
583583
584584/*    YEAR  NAME      PARENT    COMPAT  MACHINE   INPUT       INIT      COMPANY            FULLNAME */
585COMP( 1989, apple2gs, 0,        apple2, apple2gs, apple2gs, driver_device,   0, "Apple Computer", "Apple IIgs (ROM03)", GAME_SUPPORTS_SAVE )
586COMP( 198?, apple2gsr3p, apple2gs, 0,   apple2gs, apple2gs, driver_device,   0, "Apple Computer", "Apple IIgs (ROM03 prototype)", GAME_NOT_WORKING )
587COMP( 1989, apple2gsr3lp, apple2gs, 0,  apple2gs, apple2gs, driver_device,   0, "Apple Computer", "Apple IIgs (ROM03 late prototype?)", GAME_NOT_WORKING )
585COMP( 1989, apple2gs, 0,        apple2, apple2gs,   apple2gs, driver_device, 0, "Apple Computer", "Apple IIgs (ROM03)", GAME_SUPPORTS_SAVE )
586COMP( 198?, apple2gsr3p, apple2gs, 0,   apple2gs,   apple2gs, driver_device, 0, "Apple Computer", "Apple IIgs (ROM03 prototype)", GAME_NOT_WORKING )
587COMP( 1989, apple2gsr3lp, apple2gs, 0,  apple2gs,   apple2gs, driver_device, 0, "Apple Computer", "Apple IIgs (ROM03 late prototype?)", GAME_NOT_WORKING )
588588COMP( 1987, apple2gsr1, apple2gs, 0,    apple2gsr1, apple2gs, driver_device, 0, "Apple Computer", "Apple IIgs (ROM01)", GAME_SUPPORTS_SAVE )
589589COMP( 1986, apple2gsr0, apple2gs, 0,    apple2gsr1, apple2gs, driver_device, 0, "Apple Computer", "Apple IIgs (ROM00)", GAME_SUPPORTS_SAVE )
590590COMP( 1986, apple2gsr0p,apple2gs, 0,    apple2gsr1, apple2gs, driver_device, 0, "Apple Computer", "Apple IIgs (ROM00 prototype 6/19/1986)", GAME_SUPPORTS_SAVE )
trunk/src/mess/drivers/apple2.c
r29615r29616
831831   PORT_BIT(0x004, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_C)  PORT_CHAR('C') PORT_CHAR('c')
832832   PORT_BIT(0x008, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_V)  PORT_CHAR('V') PORT_CHAR('v')
833833   PORT_BIT(0x010, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_B)  PORT_CHAR('B') PORT_CHAR('b')
834   PORT_BIT(0x020, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_M)  PORT_CHAR('M') PORT_CHAR('m')
835   PORT_BIT(0x040, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_N)  PORT_CHAR('N') PORT_CHAR('n')
834   PORT_BIT(0x020, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_N)  PORT_CHAR('N') PORT_CHAR('n')
835   PORT_BIT(0x040, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_M)  PORT_CHAR('M') PORT_CHAR('m')
836836   PORT_BIT(0x080, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_COMMA)  PORT_CHAR(',') PORT_CHAR('<')
837837   PORT_BIT(0x100, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_STOP)   PORT_CHAR('.') PORT_CHAR('>')
838838   PORT_BIT(0x200, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_CODE(KEYCODE_SLASH)  PORT_CHAR('/') PORT_CHAR('?')
r29615r29616
10161016   MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", apple2_state, apple2_interrupt, "screen", 0, 1)
10171017   MCFG_QUANTUM_TIME(attotime::from_hz(60))
10181018
1019   MCFG_MACHINE_START_OVERRIDE(apple2_state, apple2 )
1019   MCFG_MACHINE_START_OVERRIDE(apple2_state, apple2e )
10201020
10211021   MCFG_SCREEN_ADD("screen", RASTER)
10221022   MCFG_SCREEN_REFRESH_RATE(60)
r29615r29616
11411141MACHINE_CONFIG_END
11421142
11431143static MACHINE_CONFIG_DERIVED( mprof3, apple2e )
1144   MCFG_MACHINE_START_OVERRIDE(apple2_state,apple2)
1144   MCFG_MACHINE_START_OVERRIDE(apple2_state,apple2c)
11451145   MCFG_VIDEO_START_OVERRIDE(apple2_state,apple2c)
11461146
11471147   /* internal ram */
r29615r29616
11581158MACHINE_CONFIG_END
11591159
11601160static MACHINE_CONFIG_DERIVED( apple2c, apple2ee )
1161   MCFG_MACHINE_START_OVERRIDE(apple2_state,apple2)
1161   MCFG_MACHINE_START_OVERRIDE(apple2_state,apple2c)
11621162   MCFG_VIDEO_START_OVERRIDE(apple2_state,apple2c)
11631163
11641164   MCFG_A2BUS_SLOT_REMOVE("sl1")   // IIc has no slots, of course :)
r29615r29616
11821182   MCFG_RAM_EXTRA_OPTIONS("128K")
11831183MACHINE_CONFIG_END
11841184
1185static MACHINE_CONFIG_DERIVED( apple2cp, apple2c )
1186   MCFG_MACHINE_START_OVERRIDE(apple2_state,apple2cp)
1187MACHINE_CONFIG_END
1188
11851189static MACHINE_CONFIG_DERIVED( apple2c_iwm, apple2c )
11861190
11871191   MCFG_A2BUS_SLOT_REMOVE("sl6")
r29615r29616
16441648COMP( 1985, apple2c0, apple2c,  0,        apple2c_iwm, apple2e, driver_device,  0,        "Apple Computer",    "Apple //c (UniDisk 3.5)", GAME_SUPPORTS_SAVE )
16451649COMP( 1986, apple2c3, apple2c,  0,        apple2c_iwm, apple2e, driver_device,  0,        "Apple Computer",    "Apple //c (Original Memory Expansion)", GAME_SUPPORTS_SAVE )
16461650COMP( 1986, apple2c4, apple2c,  0,        apple2c_iwm, apple2e, driver_device,  0,        "Apple Computer",    "Apple //c (rev 4)", GAME_NOT_WORKING )
1647COMP( 1988, apple2cp, apple2c,  0,        apple2c_iwm, apple2e, driver_device,  0,        "Apple Computer",    "Apple //c Plus", GAME_SUPPORTS_SAVE )
1651COMP( 1988, apple2cp, apple2c,  0,        apple2cp,    apple2e, driver_device,  0,        "Apple Computer",    "Apple //c Plus", GAME_SUPPORTS_SAVE )
16481652COMP( 1984, ivelultr, apple2,   0,        apple2p,     apple2p, driver_device,  0,        "Ivasim",            "Ivel Ultra", GAME_SUPPORTS_SAVE )
16491653COMP( 1983, agat7,    apple2,   0,        apple2p,     apple2p, driver_device,  0,        "Agat",              "Agat-7", GAME_NOT_WORKING) // disk controller ROM JSRs to $FCA8 which is a delay on apple II, illegal instruction crash here :(
16501654COMP( 1984, agat9,    apple2,   0,        apple2p,     apple2p, driver_device,  0,        "Agat",              "Agat-9", GAME_NOT_WORKING)

Previous 199869 Revisions Next


© 1997-2024 The MAME Team