Source code of "To be slender"
| ; To Be Slender ; for HispaMSX 4KB Programming Contest ; (C) GW's-Workshop 2000 ;BIOS SUB ROUTINES |
||
| BREAKX | EQU 000B7h | MSX-BIOS call entry. |
| CLS | EQU 000C3h | |
| ERAFNK | EQU 000CCh | |
| WRTPSG | EQU 00093h | |
| INIT32 | EQU 0006Fh | |
| LDIRVM | EQU 0005Ch | |
| GTSTCK | EQU 000D5h | |
| GTTRIG | EQU 000D8h | |
| BEEP | EQU 000C0h | |
| ;CONSTANTS | ||
| HTIMI | EQU 0FD9Fh | Timer interrupt hook. |
| INTID | EQU 0002Bh | ID byte to identfy international MSX. |
| JPCODE | EQU 0C3h | |
| SPPAT | EQU 03800h | |
| VDP1 | EQU 0F3E0h | |
| VDPWRT | EQU 00007h | |
| ;ENVIRONMENTS | ||
| TONEV | EQU 10 | |
| TIMI1 | EQU 1 ;50Hz=1 / 60Hz= 2 | Adjusting timer for each interruption environment. |
| TIMI2 | EQU 5 ;50Hz=5 / 60Hz= 6 | |
| TIMI3 | EQU 7 ;50Hz=7 / 60Hz= 8 | |
| ORG 0C000h | ||
| ;INITIALIZE | ||
| START: | XOR A LD E,0E7h CALL WRTPSG LD A,1 LD E,11 CALL WRTPSG LD A,6 LD E,16 CALL WRTPSG LD A,7 LD E,170 CALL WRTPSG LD A,12 LD E,8 CALL WRTPSG LD A,11 LD E,0 CALL WRTPSG LD A,10 CALL WRTPSG LD A,5 CALL WRTPSG XOR A LD D,A |
PSG initialization. |
| FINAL: | LD E,A CALL RND AND 31 LD HL,RSONG ADD HL,DE LD (HL),A LD A,E INC A AND 63 JR NZ,FINAL LD (REC1),A LD (REC1+1),A LD (REC2),A LD (PAT),A LD (TIME),A LD (LOOPF),A LD (LOOPC),A LD (LOOPR),A LD (SPRITE+2),A LD (BGC),A LD (GOF),A LD A,255 LD (CHK4),A LD (CHK3),A LD (CHK2),A LD (CHK1),A LD A,162 LD (SPRITE+21),A |
Game parameter initialization. |
| ; ENVIRONMENT SETUP | ||
| CALL INIT32 CALL ERAFNK LD HL,VDPWRT LD C,(HL) INC C LD HL,VDP1 LD A,(HL) OR 3 DI OUT (C),A LD A,129 OUT (C),A EI LD HL,CHR LD DE,SPPAT LD BC,1536 CALL LDIRVM |
Set screen mode and sprite pattern. | |
| ;TIMER INTERRUPT SET UP | ||
| DI LD HL,HTIMI LD DE,HKSAVE LD BC,5 LDIR LD A,JPCODE LD (HTIMI),A LD HL,INTR LD (HTIMI+1),HL EI |
Start user timer interruption. | |
| MAIN: | LD A,(CHECK) CP 255 JR Z,M2 XOR A CALL GTSTCK LD B,A PUSH BC LD A,1 CALL GTSTCK POP BC OR B LD IX,SPRITE CP 1 CALL Z,UP CP 3 CALL Z,RIGHT CP 5 CALL Z,DOWN CP 7 CALL Z,LEFT |
Main loop only check which key a player pushes. |
| M2: | LD HL,SPRITE LD DE,SPATR LD BC,24 CALL LDIRVM DI CALL BREAKX JP C,XQUIT EI LD A,(GOF) AND A JR Z,MAIN JP OVER |
|
| UP: | LD B,8 LD C,0 JR ACT |
|
| RIGHT: | LD B,16 LD C,1 JR ACT |
|
| DOWN: | LD B,12 LD C,2 JR ACT |
|
| LEFT: | LD B,20 LD C,3 |
|
| ACT: | LD A,(IX+2) OR B LD (IX+2),A LD A,(CHECK) CP 1 CALL NZ,MISS LD A,255 LD (CHECK),A LD A,(CHK3) LD (CHK4),A LD A,(CHK2) LD (CHK3),A LD A,(CHK1) LD (CHK2),A LD A,C LD (CHK1),A LD A,(CHK2) CP C JR NZ,ACTE CALL MISS LD A,(CHK4) CP C JR NZ,ACTE CALL MISS |
Judgement. |
| ACTE: | XOR A RET |
|
| ; RETURN TO BASIC PROMPT | ||
| INTOFF: | DI LD HL,HKSAVE LD DE,HTIMI LD BC,5 LDIR EI RET |
Stop timer interruption. |
| OVER: | CALL INTOFF LD IX,SPRITE LD A,(IX+2) AND 224 OR 24 LD (IX+2),A LD HL,SPRITE LD DE,SPATR LD BC,24 CALL LDIRVM CALL BEEP |
Game over. |
| OVERL: | DI CALL BREAKX JR C,QUIT EI XOR A CALL GTTRIG AND A JP Z,OVERL JP START |
Replay game. |
| XQUIT: | CALL INTOFF CALL BEEP |
|
| QUIT: | CALL INIT32 RET |
|
| MISS: | LD A,(IX+21) DEC A DEC A LD (IX+21),A CP 62 RET NC LD A,255 LD (GOF),A RET |
|
| ;TIMER INTERRUPT ROUTINE | ||
| INTR: | PUSH AF PUSH BC PUSH DE PUSH HL PUSH IX PUSH IY LD A,(TIME) AND A CALL Z,INT0 |
Routine called by timer interruption. |
| T1: | CP TIMI1 CALL Z,INT2 |
|
| T2: | CP TIMI2 CALL Z,INT3 INC A |
|
| T3: | CP TIMI3 JR NZ,INTE XOR A |
|
| INTE: | LD (TIME),A POP IY POP IX POP HL POP DE POP BC POP AF CALL HKSAVE RET |
|
| INT0: | PUSH AF LD A,(REC2) AND A JR NZ,INT01 LD HL,(REC1) INC HL LD (REC1),HL LD DE,SONG ADD HL,DE LD A,(HL) LD D,0 LD E,A LD HL,DRUM ADD HL,DE LD A,(HL) LD (PAT),A |
|
| INT01: | LD A,(PAT) AND 3 AND A JR Z,INT04 PUSH AF LD IX,SPRITE LD A,(CHECK) CP 1 CALL Z,MISS LD A,(IX+2) AND 224 LD (IX+2),A POP AF CP 1 JR NZ,INT011 XOR A LD (CHECK),A JR INT04 |
|
| INT011: | CP 2 JR NZ,INT04 LD A,1 LD (CHECK),A |
|
| INT04: | POP AF RET |
|
| INT2: | PUSH AF LD IX,SPRITE LD A,(LOOPF) AND A JR NZ,INT205 LD A,(LOOPC) RL A RL A LD B,A LD A,255 SUB B LD E,A LD A,4 CALL WRTPSG LD A,10 LD E,TONEV CALL WRTPSG LD A,(IX+21) INC A CP 162 JR C,INT201 LD A,162 |
|
| INT201: | LD (IX+21),A JR INT20E |
|
| INT205: | LD A,(BGC) PUSH AF LD E,A LD D,0 LD HL,BGTRK ADD HL,DE POP AF INC A AND 15 LD (BGC),A LD A,(HL) AND A JR NZ,INT206 LD A,10 LD E,0 CALL WRTPSG JR INT20E |
|
| INT206: | LD E,A LD HL,BGM ADD HL,DE LD A,(HL) LD E,A LD A,4 CALL WRTPSG LD A,10 LD E,TONEV CALL WRTPSG |
|
| INT20E: | LD A,8 LD E,0 CALL WRTPSG LD A,9 LD E,0 CALL WRTPSG LD A,(PAT) AND 3 CP 1 JR NZ,INT21 LD A,8 LD E,16 CALL WRTPSG LD A,(CHECK) CP 255 JR Z,INT22 LD A,(IX+2) OR 4 LD (IX+2),A JR INT22 |
|
| INT21: | CP 2 JR NZ,INT22 LD A,9 LD E,16 CALL WRTPSG |
|
| INT22: | LD A,13 LD E,0 CALL WRTPSG LD A,(PAT) RR A RR A LD (PAT),A LD A,(REC2) INC A AND 3 LD (REC2),A POP AF RET |
|
| INT3: | PUSH AF LD IX,LOOPF LD A,(IX) AND A JR NZ,INT31 LD A,(IX+1) INC A AND 31 JR NZ,INT3E LD A,1 LD (IX),A XOR A |
|
| INT30: | JR INT3E | |
| INT31: | LD A,(IX+1) INC A JR NZ,INT3E LD A,(IX+2) INC A CP 6 JR NZ,INT32 LD A,255 LD (GOF),A JR INT3E |
|
| INT32: | LD (IX+2),A LD IY,SPRITE LD A,(IY+2) ADD A,32 LD (IY+2),A XOR A LD (IX),A |
|
| INT3E: | LD (IX+1),A POP AF RET |
|
| ; RANDOMIZE | ||
| RND: | PUSH BC LD A,(RNDWK) LD B,A ADD A,A ADD A,A ADD A,B INC A LD (RNDWK),A POP BC RET |
Subroutine to make pseudorandom numbers. |
| ;DATA AREA | ||
| RNDWK: | DEFB 0 | |
| SPRITE: | DEFB 90,112,0,15 DEFB 50,96,124,10 DEFB 50,128,156,10 DEFB 130,62,28,8 DEFB 130,162,60,4 DEFB 130,162,92,10 |
Sprite attribute table. |
| SONG: | DEFB 0 DEFB 1, 1, 1, 1, 1, 1, 1, 1 DEFB 1, 2, 1, 2, 1, 2, 1, 2 DEFB 1, 2, 1, 2, 1, 2, 1, 2 DEFB 1, 2, 1, 2, 1, 2, 1, 2 DEFB 1, 2, 1, 2, 1, 2, 1, 2 DEFB 1, 2, 3, 2, 1, 2, 3, 2 DEFB 1, 2, 3, 2, 1, 2, 3, 4 DEFB 1, 2, 3, 2, 1, 2, 3, 2 DEFB 1, 2, 3, 2, 1, 2, 3, 4 DEFB 1, 1, 1, 5, 1, 1, 1, 5 DEFB 6, 6, 6, 7, 6, 6, 6, 7 DEFB 6, 6, 6, 7, 6, 6, 6, 7 DEFB 6, 6, 6, 7, 6, 6, 6, 7 DEFB 6, 6, 6, 7, 6, 6, 6, 8 DEFB 6, 9, 6, 6, 6, 9, 6, 8 DEFB 6, 9, 6, 6, 6, 9, 9, 1 DEFB 6, 9, 6, 6, 6, 9, 6, 8 DEFB 6, 9, 6, 6, 6, 9, 2, 0 DEFB 10,10,10,10,10,10,10,10 DEFB 10, 4,10, 4,10, 4, 6,12 DEFB 10, 4,10, 4,10, 4, 6,12 DEFB 10,13,10, 4,10,13, 6, 8 DEFB 10,13,10, 4,10,13, 6, 8 DEFB 10,13,10, 4,10,13, 6, 8 DEFB 10,13,10, 4,10,13, 6, 8 DEFB 14,15,14,15,14,15,14,15 DEFB 16,16,16,16,16, 8, 2, 0 DEFB 1, 1,10,17, 1, 1,10,17 DEFB 3, 4,18, 4, 3, 4,18, 4 DEFB 3, 4,18, 4, 3, 4,18,14 DEFB 3, 4,18, 4, 3, 4,18, 4 DEFB 3, 4,18, 4, 3, 4,18,14 DEFB 8,11,19,15, 8,11,18,20 DEFB 8,11,19,15, 8,11,18,20 DEFB 8,11,19,15, 8,11,18,20 DEFB 8,11,19,15,14,14, 9, 3 DEFB 5, 5, 5, 5, 5, 5, 5, 5 DEFB 22,22,22,22,22,22,22,22 DEFB 22,22,22,22,22,22,22,22 DEFB 23,24,23,25,23,24,23,25 DEFB 23,24,23,25,23,24,23,25 DEFB 26,27,28,29,26,29,28,27 DEFB 2, 0,14,14,30,15,15,11 DEFB 26,27,28,29,26,29,28,27 DEFB 2, 0,14,14, 2, 8,14, 0 DEFB 1, 0, 1, 0, 1, 1, 3,15 |
Song data. |
| RSONG: | DEFB 00,00,00,00,00,00,00,00 DEFB 00,00,00,00,00,00,00,00 DEFB 00,00,00,00,00,00,00,00 DEFB 00,00,00,00,00,00,00,00 DEFB 00,00,00,00,00,00,00,00 DEFB 00,00,00,00,00,00,00,00 DEFB 00,00,00,00,00,00,00,00 DEFB 00,00,00,00,00,00,00,00 |
|
| DRUM: | DEFB 000h,001h,002h,011h,082h,051h,021h,061h DEFB 022h,012h,041h,095h,020h,02Ah,0AAh,055h DEFB 0A5h,014h,024h,028h,042h,069h,0A1h,096h DEFB 099h,066h,0A9h,0A6h,09Ah,06Ah,056h,088h |
Rhythm pattern. |
| CHR: | DEFB 003h,003h,003h,001h,01Fh,03Fh,06Fh,05Fh DEFB 05Fh,05Fh,05Fh,01Fh,00Fh,006h,00Eh,006h DEFB 080h,080h,080h,000h,0F0h,0F8h,0ECh,0F4h DEFB 0F4h,0F4h,0F4h,0F0h,0E0h,0C0h,0C0h,0E0h DEFB 003h,003h,003h,001h,01Fh,03Fh,06Fh,05Fh DEFB 05Fh,05Fh,05Fh,01Fh,00Fh,006h,006h,00Eh DEFB 080h,080h,080h,000h,0F0h,0F8h,0ECh,0F4h DEFB 0F4h,0F4h,0F4h,0F0h,0E0h,0C0h,0C0h,0E0h DEFB 063h,043h,043h,061h,03Fh,01Fh,00Fh,01Fh DEFB 01Fh,01Fh,01Fh,01Fh,00Fh,006h,006h,00Eh DEFB 08Ch,084h,084h,00Ch,0F8h,0F0h,0E0h,0F0h DEFB 0F0h,0F0h,0F0h,0F0h,0E0h,0C0h,0C0h,0E0h DEFB 000h,003h,003h,003h,001h,01Fh,03Fh,07Fh DEFB 05Fh,05Fh,07Fh,01Fh,01Fh,01Eh,00Ch,01Ch DEFB 000h,080h,080h,080h,000h,0F0h,0F8h,0FCh DEFB 0F4h,0F4h,0FCh,0F0h,0F0h,0F0h,060h,070h DEFB 003h,003h,003h,001h,03Fh,0FFh,08Fh,09Fh DEFB 0DFh,01Fh,01Fh,01Fh,05Fh,038h,010h,000h DEFB 08Ch,0C4h,084h,00Ch,0F8h,0F0h,0E0h,0F0h DEFB 0F0h,0F0h,0F0h,0F0h,0E0h,0C0h,0C0h,0E0h DEFB 0C7h,08Fh,087h,0C2h,07Fh,03Fh,01Fh,03Fh DEFB 03Fh,03Fh,03Fh,03Fh,01Fh,00Ch,00Ch,01Ch DEFB 000h,000h,000h,000h,0F0h,0FCh,0C4h,0E4h DEFB 0ECh,0E0h,0E0h,0E0h,0E8h,070h,020h,000h DEFB 000h,000h,000h,000h,003h,003h,003h,01Fh DEFB 07Fh,0CFh,09Fh,09Fh,01Fh,05Fh,07Fh,07Fh DEFB 000h,000h,000h,000h,080h,0F8h,088h,0F8h DEFB 0F0h,0E0h,0F0h,0F0h,0F0h,0F4h,0FCh,0FCh DEFB 000h,000h,000h,000h,000h,000h,000h,000h DEFB 001h,003h,000h,03Ah,02Ah,02Ah,02Ah,03Bh DEFB 000h,000h,000h,000h,000h,000h,000h,000h DEFB 000h,080h,000h,0B8h,090h,090h,090h,090h DEFB 003h,003h,003h,001h,00Fh,01Fh,02Fh,02Fh DEFB 02Fh,02Fh,02Fh,00Fh,00Fh,006h,00Eh,006h DEFB 080h,080h,080h,000h,0E0h,0F0h,0E8h,0E8h DEFB 0E8h,0E8h,0E8h,0E0h,0E0h,0C0h,0C0h,0E0h DEFB 003h,003h,003h,001h,00Fh,01Fh,02Fh,02Fh DEFB 02Fh,02Fh,02Fh,00Fh,00Fh,006h,006h,00Eh DEFB 080h,080h,080h,000h,0E0h,0F0h,0E8h,0E8h DEFB 0E8h,0E8h,0E8h,0E0h,0E0h,0C0h,0C0h,0E0h DEFB 033h,023h,023h,021h,03Fh,01Fh,00Fh,00Fh DEFB 00Fh,00Fh,00Fh,00Fh,00Fh,006h,006h,00Eh DEFB 098h,088h,088h,008h,0F8h,0F0h,0E0h,0E0h DEFB 0E0h,0E0h,0E0h,0E0h,0E0h,0C0h,0C0h,0E0h DEFB 000h,003h,003h,003h,001h,00Fh,01Fh,03Fh DEFB 02Fh,02Fh,02Fh,01Fh,01Eh,01Ch,00Ch,01Ch DEFB 000h,098h,088h,088h,018h,0F0h,0E0h,0E0h DEFB 0E0h,0E0h,0E0h,0E0h,0F0h,070h,060h,070h DEFB 003h,003h,003h,001h,03Fh,04Fh,08Fh,08Fh DEFB 04Fh,00Fh,00Fh,00Fh,05Fh,038h,010h,000h DEFB 088h,0C4h,084h,004h,0F8h,0E0h,0E0h,0E0h DEFB 0E0h,0E0h,0E0h,0E0h,0E0h,0C0h,0C0h,0E0h DEFB 047h,08Fh,087h,082h,07Fh,01Fh,01Fh,01Fh DEFB 01Fh,01Fh,01Fh,01Fh,01Fh,00Ch,00Ch,01Ch DEFB 000h,000h,000h,000h,0F0h,0C8h,0C4h,0C4h DEFB 0C8h,0C0h,0C0h,0C0h,0E8h,070h,020h,000h DEFB 000h,000h,003h,003h,003h,007h,00Fh,01Fh DEFB 03Fh,02Fh,02Fh,01Fh,00Fh,04Fh,07Eh,07Eh DEFB 000h,000h,080h,0F8h,088h,0C8h,0F8h,0F0h DEFB 0E0h,0E0h,0E0h,0E0h,0E0h,0E4h,0FCh,0FCh DEFB 000h,000h,000h,000h,000h,000h,000h,000h DEFB 001h,003h,000h,0EEh,08Ah,0AAh,0AAh,0EEh DEFB 000h,000h,000h,000h,000h,000h,000h,000h DEFB 000h,080h,000h,0ECh,0AAh,0AAh,0AAh,0ECh DEFB 003h,003h,003h,001h,007h,00Fh,01Fh,02Fh DEFB 02Fh,02Fh,017h,007h,006h,006h,00Eh,006h DEFB 080h,080h,080h,000h,0C0h,0E0h,0F0h,0E8h DEFB 0E8h,0E8h,0D0h,0C0h,0C0h,0C0h,0C0h,0E0h DEFB 003h,003h,003h,001h,007h,00Fh,01Fh,02Fh DEFB 02Fh,02Fh,017h,007h,006h,006h,006h,00Eh DEFB 080h,080h,080h,000h,0C0h,0E0h,0F0h,0E8h DEFB 0E8h,0E8h,0D0h,0C0h,0C0h,0C0h,0C0h,0E0h DEFB 013h,023h,023h,021h,037h,01Fh,00Fh,00Fh DEFB 00Fh,00Fh,007h,007h,02Ch,03Ch,018h,000h DEFB 090h,088h,088h,008h,0D8h,0F0h,0E0h,0E0h DEFB 0E0h,0E0h,0C0h,0C0h,068h,078h,030h,000h DEFB 000h,003h,003h,003h,001h,003h,007h,00Fh DEFB 00Fh,01Fh,017h,017h,017h,00Ch,006h,00Eh DEFB 000h,090h,090h,090h,030h,0E0h,0E0h,0E0h DEFB 0C0h,0C0h,0C0h,0C0h,0C0h,060h,0C0h,0E0h DEFB 001h,001h,001h,000h,003h,007h,01Fh,027h DEFB 027h,013h,003h,007h,00Ch,058h,030h,000h DEFB 0C8h,0E4h,0C4h,084h,0C8h,0F8h,0F0h,0E0h DEFB 0E0h,0E0h,0E0h,0E0h,0E0h,060h,0C0h,0E0h DEFB 04Eh,09Eh,08Eh,084h,04Fh,07Fh,03Fh,01Fh DEFB 01Fh,01Fh,01Fh,01Fh,01Ch,018h,00Ch,01Ch DEFB 000h,000h,000h,000h,000h,080h,0E0h,090h DEFB 090h,020h,000h,080h,0C0h,068h,030h,000h DEFB 000h,000h,003h,003h,003h,007h,00Fh,01Fh DEFB 01Fh,02Fh,027h,027h,02Fh,01Ch,00Eh,01Ch DEFB 000h,000h,080h,080h,080h,0C0h,0E0h,0F0h DEFB 0F0h,0E8h,0C8h,0C8h,0E8h,070h,0E0h,070h DEFB 000h,03Fh,01Fh,00Fh,007h,003h,001h,000h DEFB 000h,000h,000h,000h,000h,000h,000h,000h DEFB 000h,0F8h,0F0h,0E0h,0C0h,080h,000h,000h DEFB 000h,000h,000h,000h,000h,000h,000h,000h DEFB 003h,003h,003h,001h,007h,00Fh,017h,017h DEFB 017h,017h,017h,006h,006h,002h,00Eh,006h DEFB 080h,080h,080h,000h,0C0h,0E0h,0D0h,0D0h DEFB 0D0h,0D0h,0D0h,0C0h,0C0h,080h,0C0h,0E0h DEFB 003h,003h,003h,001h,007h,00Fh,017h,017h DEFB 017h,017h,017h,006h,006h,002h,006h,00Eh DEFB 080h,080h,080h,000h,0C0h,0E0h,0D0h,0D0h DEFB 0D0h,0D0h,0D0h,0C0h,0C0h,080h,0C0h,0E0h DEFB 003h,003h,003h,081h,07Fh,00Fh,007h,007h DEFB 007h,007h,00Eh,01Ch,0B0h,060h,000h,000h DEFB 080h,080h,080h,002h,0FCh,0E0h,0C0h,0C0h DEFB 0C0h,0C0h,0E0h,070h,01Ah,00Ch,000h,000h DEFB 000h,000h,007h,007h,007h,003h,007h,00Fh DEFB 017h,017h,017h,026h,026h,024h,00Ch,01Ch DEFB 010h,010h,030h,060h,0E0h,0E0h,0C0h,0C0h DEFB 0C0h,0C0h,0C0h,0C0h,080h,080h,0C0h,0E0h DEFB 001h,041h,041h,030h,00Fh,003h,003h,003h DEFB 007h,007h,0E7h,0ACh,038h,030h,001h,001h DEFB 0C4h,0E2h,0C2h,082h,0FCh,0E0h,0E0h,0E0h DEFB 0C0h,0C0h,0C0h,0C0h,040h,0C0h,080h,0C0h DEFB 047h,08Fh,087h,082h,07Fh,00Fh,00Fh,00Fh DEFB 007h,007h,007h,006h,004h,006h,003h,007h DEFB 000h,004h,004h,018h,0E0h,080h,080h,080h DEFB 0C0h,0C0h,0CEh,06Ah,038h,018h,000h,000h DEFB 000h,003h,003h,003h,007h,00Fh,04Fh,037h DEFB 007h,007h,007h,006h,006h,002h,006h,00Eh DEFB 000h,080h,080h,080h,0C0h,0E0h,0E4h,0D8h DEFB 0C0h,0C0h,0C0h,0C0h,0C0h,080h,0C0h,0E0h DEFB 0FCh,030h,033h,036h,036h,036h,033h,000h DEFB 076h,0CAh,0C2h,072h,00Ah,0CAh,073h,000h DEFB 01Eh,019h,019h,09Eh,099h,099h,01Eh,000h DEFB 000h,000h,060h,0D7h,0F6h,0C6h,076h,000h DEFB 003h,003h,003h,001h,007h,00Fh,017h,017h DEFB 017h,013h,00Bh,002h,002h,002h,00Eh,006h DEFB 080h,080h,080h,000h,0C0h,0E0h,0D0h,0D0h DEFB 0D0h,090h,0A0h,080h,080h,080h,0C0h,0E0h DEFB 003h,003h,003h,001h,007h,00Fh,017h,017h DEFB 017h,013h,00Bh,002h,002h,002h,006h,00Eh DEFB 080h,080h,080h,000h,0C0h,0E0h,0D0h,0D0h DEFB 0D0h,090h,0A0h,080h,080h,080h,0C0h,0E0h DEFB 003h,043h,083h,0C1h,03Fh,00Fh,007h,007h DEFB 003h,007h,09Eh,0F0h,000h,000h,000h,000h DEFB 080h,084h,082h,006h,0F8h,0E0h,0C0h,0C0h DEFB 080h,0C0h,0F2h,01Eh,000h,000h,000h,000h DEFB 000h,000h,000h,000h,000h,007h,007h,007h DEFB 007h,00Fh,017h,012h,012h,022h,026h,02Eh DEFB 000h,000h,010h,010h,020h,020h,060h,0C0h DEFB 0C0h,0C0h,0C0h,080h,080h,080h,0C0h,0E0h DEFB 000h,000h,000h,000h,003h,00Dh,031h,041h DEFB 001h,001h,003h,00Eh,030h,020h,000h,000h DEFB 0E4h,0F2h,0E2h,042h,0FCh,0F0h,0F0h,0F0h DEFB 0E0h,0E0h,010h,020h,040h,0C0h,0E0h,000h DEFB 04Eh,09Eh,08Eh,084h,07Fh,01Fh,01Fh,01Fh DEFB 00Fh,00Fh,011h,008h,004h,006h,00Eh,000h DEFB 000h,000h,000h,000h,080h,060h,018h,004h DEFB 000h,000h,080h,0E0h,018h,008h,000h,000h DEFB 000h,003h,003h,003h,007h,00Fh,017h,017h DEFB 017h,013h,00Bh,002h,002h,002h,006h,00Eh DEFB 000h,080h,080h,080h,0C0h,0E0h,0D0h,0D0h DEFB 0D0h,090h,0A0h,080h,080h,080h,0C0h,0E0h DEFB 000h,000h,030h,068h,078h,060h,038h,000h DEFB 006h,004h,004h,01Dh,0B5h,0B5h,09Ch,000h DEFB 000h,000h,000h,000h,000h,000h,000h,000h DEFB 000h,000h,0CEh,0ADh,0ECh,08Ch,0ECh,000h DEFB 003h,003h,003h,001h,007h,00Fh,00Fh,00Bh DEFB 00Bh,00Bh,00Bh,002h,002h,00Ah,006h,002h DEFB 080h,080h,080h,000h,0C0h,0E0h,0E0h,0A0h DEFB 0A0h,0A0h,0A0h,080h,080h,080h,080h,0C0h DEFB 003h,003h,003h,001h,007h,00Fh,00Fh,00Bh DEFB 00Bh,00Bh,00Bh,002h,002h,002h,002h,006h DEFB 080h,080h,080h,000h,0C0h,0E0h,0E0h,0A0h DEFB 0A0h,0A0h,0A0h,080h,080h,080h,080h,0C0h DEFB 023h,043h,043h,041h,03Fh,007h,007h,003h DEFB 083h,0FFh,000h,000h,000h,000h,000h,000h DEFB 088h,084h,084h,004h,0F8h,0C0h,0C0h,080h DEFB 082h,0FEh,000h,000h,000h,000h,000h,000h DEFB 000h,000h,000h,000h,000h,007h,007h,007h DEFB 003h,007h,00Ah,00Ah,00Ah,012h,012h,016h DEFB 000h,000h,010h,010h,020h,020h,040h,0C0h DEFB 080h,080h,080h,080h,080h,080h,080h,0C0h DEFB 000h,000h,000h,000h,001h,003h,00Dh,011h DEFB 011h,001h,002h,004h,078h,040h,000h,000h DEFB 0E4h,0F2h,0E2h,042h,0FCh,0F0h,0F0h,0C0h DEFB 0C0h,0F8h,004h,008h,010h,018h,000h,000h DEFB 04Eh,09Eh,08Eh,084h,0FFh,01Fh,01Fh,007h DEFB 007h,03Fh,040h,020h,010h,030h,000h,000h DEFB 000h,000h,000h,000h,000h,080h,060h,010h DEFB 010h,000h,080h,040h,03Ch,004h,000h,000h DEFB 000h,000h,000h,000h,000h,003h,003h,003h DEFB 007h,00Fh,017h,013h,013h,013h,043h,07Eh DEFB 000h,000h,000h,000h,000h,094h,094h,08Ch DEFB 0C8h,0F0h,0C0h,080h,080h,080h,084h,0FCh |
Sprite pattern data. |
| BGTRK: | DEFB 1,0,2,0,3,0,0,4,0,4,5,0,4,0,5,0 | BGM data |
| BGM: | DEFB 000h,035h,030h,02Ah,047h,040h | |
| ;BOTTOM WORK AREA | ||
| BGC: | DEFB 0 | Parameters |
| CHK1: | DEFB 0 | |
| CHK2: | DEFB 0 | |
| CHK3: | DEFB 0 | |
| CHK4: | DEFB 0 | |
| GOF: | DEFB 0 | |
| CHECK: | DEFB 0 | |
| REC1: | DEFB 0,0 | |
| REC2: | DEFB 0 | |
| PAT: | DEFB 0 | |
| TIME: | DEFB 0 | |
| LOOPF: | DEFB 0 | |
| LOOPC: | DEFB 0 | |
| LOOPR: | DEFB 0 | |
| HKSAVE: | NOP NOP NOP NOP NOP |
Area to save the old timer interrupt hook. |
| DEFM 'GWSWORKSHOP2000' |