diff options
author | angelosa <lordkale4@gmail.com> | 2018-06-16 23:24:15 +0200 |
---|---|---|
committer | angelosa <lordkale4@gmail.com> | 2018-06-17 01:39:23 +0200 |
commit | a717977ad6a2c70304ed9429250b3b6a80676c28 (patch) | |
tree | 995c05afa5d6716ca0c0da36d8cb61ccd45f3956 /src/mame/etc | |
parent | 4788762914ec2360f85a736dac7283fc2b654971 (diff) |
jalmah.cpp: converted 1st version MCU code snippets to ROM (nw)
Diffstat (limited to 'src/mame/etc')
-rw-r--r-- | src/mame/etc/jalmah.x68 | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/src/mame/etc/jalmah.x68 b/src/mame/etc/jalmah.x68 new file mode 100644 index 00000000000..4863c76c3fd --- /dev/null +++ b/src/mame/etc/jalmah.x68 @@ -0,0 +1,95 @@ + ; license:LGPL-2.1+ + ; copyright-holders:Angelo Salese + ;***************************************************************** + ; Jaleco Mahjong code simulation snippets for 1st MCU games + ; + ; Games using this: + ; Urashima Mahjong + ; Mahjong Daireikai + ; Mahjong Channel Zoom-In + ; + ; For details @see jalmah.cpp + ; + ; +START: + ORG $0 ; palette code snippet (test mode & gameplay) + move.w #$1, $80016.l ; set priority number (for urashima) + move.w #$f, D0 +FetchNewPalette: + move.l A0, $100400.l + movea.l (A0), A0 + move.w #$f, D1 + bsr UploadPaletteChunk + movea.l $100400.l, A0 + adda.w #$4, A0 + dbra D0, FetchNewPalette + rts + +UploadPaletteChunk: + move.w (A0)+, (A1)+ + dbra D1, UploadPaletteChunk + rts + + ORG $0800 ; sound code snippet + ori.w #$80, D0 + move.w D0, $80040.l + move.w #$10, $80040.l + rts + + ORG $1000 ; tile upload snippet +TileUploadStart: + move.w (A2)+, (A1)+ + dbra D0, TileUploadStart + rts + + ORG $1800 ; (another) palette code snippet + movem.l D0-D7/A1-A6, -(A7) ; save stack (A0 intentionally updated by this snippet) + move.w #$f, D0 + bsr FetchNewPalette + movem.l (A7)+, D0-D7/A1-A6 + rts + + ORG $2000 ; daireikai RNG snippet (guess) + move.w D5, $100400.l + move.w $f000c.l, D5 + add.l D6, D5 + andi.w #$3f, D5 + move.w D5, $f000c.l + move.w $100400.l, D5 + rts + ORG $2800 ; daireikai layer clearances + movem.l D0-D7/A0-A6, -(A7) + lea $90000.l, A6 + move.w #$1fff, D1 + move.w #$00ff, D0 + bsr ClearLayer + movem.l (A7)+, D0-D7/A0-A6 + rts +ClearLayer: + move.w D0, (A6)+ + dbra D1, ClearLayer + rts + ORG $2880 + movem.l D0-D7/A0-A6, -(A7) + lea $94000.l, A6 + move.w #$1fff, D1 + move.w #$00ff, D0 + bsr ClearLayer + movem.l (A7)+, D0-D7/A0-A6 + rts + ORG $2900 + movem.l D0-D7/A0-A6, -(A7) + lea $98000.l, A6 + move.w #$1fff, D1 + move.w #$f0ff, D0 + bsr ClearLayer + movem.l (A7)+, D0-D7/A0-A6 + rts + + ORG $fffe ; extend binary ROM to 0x10000 in size + dc.w $ffff + END START +*~Font name~Courier New~ +*~Font size~10~ +*~Tab type~1~ +*~Tab size~4~ |