Previous 15994 Revisions Next

r15420 Thursday 7th June, 2012 at 02:29:19 UTC by R. Belmont
Apple II: Clean up Laser 128 support, support Space 84 h-flipped char roms. [R. Belmont]
[src/mess/drivers]apple2.c
[src/mess/includes]apple2.h
[src/mess/machine]apple2.c
[src/mess/video]apple2.c

src/mess/machine/apple2.c
r15419r15420
449449   }
450450   else
451451   {
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);
462453   }
463454
464455   // else fall through to floating bus
r15419r15420
19061897   apple2_reset(machine);
19071898}
19081899
1900MACHINE_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
19091924MACHINE_START( tk2000 )
19101925{
19111926   apple2_memmap_config mem_cfg;
src/mess/includes/apple2.h
r15419r15420
7777    APPLE_II,           // Apple II/II+
7878    APPLE_IIEPLUS,      // Apple IIe/IIc/IIgs/IIc+
7979    TK2000,             // Microdigital TK2000
80    LASER128            // Laser 128/128EX/128EX2
80    LASER128,           // Laser 128/128EX/128EX2
81    SPACE84             // "Space 84" with flipped text mode
8182} machine_type_t;
8283
8384typedef enum
r15419r15420
235236MACHINE_START( apple2orig );
236237MACHINE_START( tk2000 );
237238MACHINE_START( laser128 );
239MACHINE_START( space84 );
238240UINT8 apple2_getfloatingbusvalue(running_machine &machine);
239241READ8_HANDLER( apple2_c0xx_r );
240242WRITE8_HANDLER( apple2_c0xx_w );
src/mess/video/apple2.c
r15419r15420
115115   chardata = &textgfx_data[(code * 8) % textgfx_datalen];
116116
117117   /* 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;
123125
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    }
130148}
131149
132150
src/mess/drivers/apple2.c
r15419r15420
629629//    SLOT_INTERFACE("scsi", A2BUS_SCSI)  /* Apple II SCSI Card */
630630SLOT_INTERFACE_END
631631
632static SLOT_INTERFACE_START(laser128_internal)
633    SLOT_INTERFACE("l128int", A2BUS_LASER128)
634SLOT_INTERFACE_END
635
636632static SLOT_INTERFACE_START(apple2eaux_cards)
637633SLOT_INTERFACE_END
638634
r15419r15420
795791//    MCFG_A2BUS_ONBOARD_ADD("a2bus", "sl7", A2BUS_LASER128, NULL)
796792MACHINE_CONFIG_END
797793
794static MACHINE_CONFIG_DERIVED( space84, apple2p )
795   MCFG_MACHINE_START(space84)
796MACHINE_CONFIG_END
797
798798/***************************************************************************
799799
800800  Game driver(s)
r15419r15420
11111111COMP( 1984, ivelultr, apple2,   0,        apple2p,     apple2p,  0,        "Ivasim",            "Ivel Ultra", GAME_SUPPORTS_SAVE )
11121112COMP( 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 :(
11131113COMP( 1984, agat9,    apple2,   0,        apple2p,     apple2p,  0,        "Agat",              "Agat-9", GAME_NOT_WORKING)
1114COMP( 1985, space84,  apple2,   0,        apple2p,      apple2p,  0,        "ComputerTechnik/IBS",  "Space 84",   GAME_NOT_WORKING )
1114COMP( 1985, space84,  apple2,   0,        space84,      apple2p,  0,        "ComputerTechnik/IBS",  "Space 84",   GAME_NOT_WORKING )
11151115

Previous 15994 Revisions Next


© 1998-2018 The MESS Team