Previous 199869 Revisions Next

r33749 Monday 8th December, 2014 at 22:09:38 UTC by David Haywood
(nw)
[src/emu/cpu/arcompact]arcompactdasm.c
[src/mess/drivers]leapster.c

trunk/src/emu/cpu/arcompact/arcompactdasm.c
r242260r242261
10941094// this is as messed up as the rest of the 16-bit alignment in LE mode...
10951095
10961096#define GET_LIMM \
1097   limm = oprom[6] | (oprom[7] << 8); \
1098   limm |= (oprom[4] << 16) | (oprom[5] << 24); \
1097   limm = oprom[4] | (oprom[5] << 8); \
1098   limm |= (oprom[2] << 16) | (oprom[3] << 24); \
10991099
11001100
11011101int arcompact_handle0e_00_dasm(DASM_OPS_16)
r242260r242261
16401640{
16411641   int size = 2;
16421642
1643   UINT32 op = oprom[2] | (oprom[3] << 8);
1643   UINT32 op = oprom[0] | (oprom[1] << 8);
16441644   output = buffer;
16451645
16461646   UINT8 instruction = ARCOMPACT_OPERATION;
r242260r242261
16491649   {
16501650      size = 4;
16511651      op <<= 16;
1652      op |= oprom[0] | (oprom[1] << 8);
1652      op |= oprom[2] | (oprom[3] << 8);
16531653
16541654      op &= ~0xf8000000;
16551655
trunk/src/mess/drivers/leapster.c
r242260r242261
224224
225225   UINT32 screen_update_leapster(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
226226   DECLARE_DEVICE_IMAGE_LOAD_MEMBER(leapster_cart);
227   DECLARE_DRIVER_INIT(leapster);
227228
228229protected:
229230   required_device<generic_slot_device> m_cart;
r242260r242261
304305   ROM_LOAD( "am29pl160cb-90sf.bin", 0x00000, 0x200000, BAD_DUMP CRC(dc281f1f) SHA1(17588de54ab3bb82801bd5062f3e6aa687412178) )
305306ROM_END
306307
308DRIVER_INIT_MEMBER(leapster_state,leapster)
309{
310   // the CPU is apparently Little Endian (or 'middle endian') but according to documentation definitely NOT 'Big Endian'
311   // a regular ROM order with sensible DASM function makes sense for the 16-bit code, but not for the 32-bit code?! (or initial PC isn't at 0 / there is missing code?)
307312
308CONS(2003,  leapster,    0,         0,  leapster,    leapster, driver_device, 0,    "LeapFrog",   "Leapster (Germany)",    GAME_NOT_WORKING | GAME_NO_SOUND | GAME_IS_SKELETON )
309CONS(2005,  leapstertv,  leapster,  0,  leapster,    leapster, driver_device, 0,    "LeapFrog",   "Leapster TV (Germany)", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_IS_SKELETON )
313   // do PC = 460c0 to see some code
314
315#if 0
316   UINT16 *ROM = (UINT16*)memregion("maincpu")->base();
317   for (int i = 0; i < 0x200000 / 2; i += 2)
318   {
319      UINT16 temp = ROM[i];
320      ROM[i] = ROM[i + 1];;
321      ROM[i + 1] = temp;
322   }
323#endif
324}
325
326CONS(2003,  leapster,    0,         0,  leapster,    leapster, leapster_state, leapster,    "LeapFrog",   "Leapster (Germany)",    GAME_NOT_WORKING | GAME_NO_SOUND | GAME_IS_SKELETON )
327CONS(2005,  leapstertv,  leapster,  0,  leapster,    leapster, leapster_state, leapster,    "LeapFrog",   "Leapster TV (Germany)", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_IS_SKELETON )


Previous 199869 Revisions Next


© 1997-2024 The MAME Team