;***************************************************************************** ; Castle.a ; ; Copyright 1987-1995 Readysoft, Punk Jozsef. All rights reserved. ; ;***************************************************************************** ;----------------------------------------------------------------------------- ; ROM Routine Entry Addresses ;----------------------------------------------------------------------------- KEY_SCAN EQU x028e BEEPER EQU x03b5 SA_BYTES EQU x04c2 LD_BYTES EQU x0556 CLS EQU x0d6b CHAN_OPEN EQU x1601 PR_STRING EQU x203c PIXEL_ADD EQU x22aa PLOT_SUB EQU x22e5 ;----------------------------------------------------------------------------- ; System Variables ;----------------------------------------------------------------------------- CHARS EQU 23606 ;----------------------------------------------------------------------------- ; Variables ;----------------------------------------------------------------------------- ImageY EQU x5b00 ImageX EQU x5b01 ImageWidth EQU x5b02 ImageHeight EQU x5b03 ImageData EQU x5b04 ImageHStore EQU x5b06 ImageClrAttr EQU x5b07 EnemydY EQU x5b08 EnemydX EQU x5b09 EnemyY EQU x5b0a EnemyX EQU x5b0b EnemyCollY EQU x5b0c EnemyCollX EQU x5b0d ImagePos EQU ImageY ImageSize EQU ImageWidth EnemyPos EQU EnemyY Enemydelta EQU EnemydY EnemyColl EQU EnemyCollY ;***************************************************************************** ; Code ;***************************************************************************** ;----------------------------------------------------------------------------- ; Information ;----------------------------------------------------------------------------- ORG 25000 Information: call CLS ; cls ld b,18 ; wait some time in.Wait: halt djnz in.Wait call PrintInfoText ; print info text in.WaitForC: ld a,xfe ; read keyboard in a,(xfe) and x1f cp x17 ; 'C' pressed ? jr nz,in.WaitForC nop nop nop nop nop nop nop nop nop nop nop nop ret ;----------------------------------------------------------------------------- ; PrintInfoText ;----------------------------------------------------------------------------- ORG 25034 PrintInfoText: ld a,2 call CHAN_OPEN ; CHAN-OPEN ld hl,InfoText pi.Loop: ld a,(hl) ; get next char cp xff ; end of text ? ret z push hl rst 16 ; print cp 32 jr nc,pi.NoBeep ld de,1 ld hl,4608 call BEEPER ; beep pi.NoBeep: pop hl inc hl jr pi.Loop ;----------------------------------------------------------------------------- ; InfoText ;----------------------------------------------------------------------------- ORG 25100 InfoText: DEFB x16,x00,x03,x10,x00,x11,x01 DEFB x83,x83,x83,x83,x83,x83,x83 DEFB x83,x83,x83,x83,x83,x83,x83 DEFB x83,x83,x83,x83,x83,x83,x83 DEFB x83,x83,x83,x83,x83 DEFB x10,x05,x16,x01,x03 DEFM ' Welcome to Ghost Castle ' DEFB x10,x00,x16,x02,x03 DEFB x8C,x8C,x8C,x8C,x8C,x8C,x8C DEFB x8C,x8C,x8C,x8C,x8C,x8C,x8C DEFB x8C,x8C,x8C,x8C,x8C,x8C,x8C DEFB x8C,x8C,x8C,x8C,x8C DEFB x16,x04,x03,x10,x06,x11,x00 DEFM 'You are in the castle of' DEFB x16,x05,x03 DEFM 'the Witch.' DEFB x16,x06,x03,x10,x04 DEFM 'Ghosts and other monsters' DEFB x16,x07,x03 DEFM 'keep guard in their room.' DEFB x16,x08,x03,x10,x07 DEFM 'If they touch you then you' DEFB x16,x09,x03 DEFM 'lose a life.' DEFB x16,x0A,x03,x10,x05 DEFM 'You must collect six discs' DEFB x16,x0B,x03 DEFM 'in due course.' DEFB x16,x0C,x03,x10,x03 DEFM 'When you find a disc , you' DEFB x16,x0D,x03 DEFM 'must carry away it in the' DEFB x16,x0E,x03 DEFM 'computer room and place it' DEFB x16,x0F,x03 DEFM 'in the drive.' DEFB x16,x10,x03,x10,x06 DEFM 'When you have six discs ,' DEFB x16,x11,x03 DEFM 'you must go to the Witch' DEFB x27 DEFM 's' DEFB x16,x12,x03 DEFM 'room , and you must kill' DEFB x16,x13,x03 DEFM 'the Witch.' DEFB x16,x15,x0C,x10,x07,x11,x01 DEFM 'C' DEFB x10,x06,x11,x00 DEFM 'ontinue' DEFB xFF ;***************************************************************************** ; Amiga Screen Crunched Data ;***************************************************************************** ORG 25640 dat.AmigaScr: DEFB xFF,xFF,x1C,xFE,xFF,xDF,xFD,xFF DEFB xFF,x03,xC1,xFF,xFF,x18,xFE,xE0 DEFB x5D,xF5,xB0,x66,x66,x04,x18,x66 DEFB x66,x02,x60,x00,xB1,x00,x18,x06 DEFB x66,x66,x02,x00,x30,x66,xD6,xD6 DEFB x02,x66,x66,x04,x7E,x00,x18,x66 DEFB x60,x00,x01,x8F,x0C,x60,xEC,x38 DEFB x3B,x6C,xF8,xF8,x02,x00,xEC,x3C DEFB x3E,x3C,xEC,x66,x3C,x36,x00,x00 DEFB x0D,x01,xBF,x00,x1C,x00,x00,x05 DEFB x18,x00,xF0,x00,x00,x14,x01,x80 DEFB x00,x00,x1E,x01,x80,x00,x00,x1E DEFB x01,x80,x00,x00,x1E,x01,xF3,xFF DEFB xF3,xFF,xFF,x02,x83,xE3,xC3,xFF DEFB xFF,x14,xFE,x83,xD0,x3D,xFF,xFF DEFB x1C,xFE,xFF,xDC,x05,x9B,x66,x7C DEFB x3C,x60,x18,x3C,x66,x68,x00,x9D DEFB x00,x18,x0C,x66,x66,x02,x00,x1B DEFB x66,xC6,xC6,x02,x66,x66,x03,x60 DEFB x60,x02,x00,x18,x66,x66,x02,x60 DEFB x01,x99,x8C,x60,x76,x18,x66,x76 DEFB x61,x80,x00,x76,x66,x60,x66,x76 DEFB x66,x66,x02,x6E,x00,x00,x0D,x01 DEFB x99,x80,x0C,x00,x00,x05,x38,x01 DEFB x98,x00,x00,x14,x01,x80,x00,x00 DEFB x1E,x01,x8C,x30,xF8,x7E,x7E,x02 DEFB x00,x00,x1A,x01,x80,x00,x00,x03 DEFB x3C,xE0,x00,x00,x02,x10,x00,x38 DEFB x00,x00,x02,x10,x38,x00,x00,x10 DEFB x01,xE1,xFF,xFF,x04,xC9,xC9,x02 DEFB x99,x80,x00,x00,x13,x02,xBB,xD0 DEFB x3D,xFF,xFF,x20,x8E,x3C,x60,x18 DEFB xF0,x3C,xC6,xE6,x30,x00,x81,x00 DEFB x7E,x38,x3C,x3C,x02,x00,x0E,x3C DEFB xC6,xC6,x02,x3C,x3B,x3C,xF0,x3C DEFB x00,x7E,x66,x3C,x60,x01,x9F,x8C DEFB x60,x66,x18,x66,x66,x02,x60,xF0 DEFB x00,x66,x7E,x3C,x7E,x66,x66,x02 DEFB x7E,x66,x00,x00,x0D,x01,x99,x87 DEFB x8C,x3C,x78,x3E,x3C,x00,x18,x00 DEFB x18,x00,x00,x14,x01,x80,x00,x00 DEFB x1E,x01,x9C,x18,x6C,x18,x33,x00 DEFB x00,x1A,x01,x80,x00,x00,x03,x66 DEFB x60,x00,x00,x02,x30,x00,x6C,x00 DEFB x00,x02,x30,x18,x00,x00,x10,x01 DEFB xE1,xCC,xE3,xE2,x43,xCC,x9C,x8F DEFB x80,x00,x00,x13,x02,xA0,x50,x05 DEFB x80,x00,x00,x1E,x01,x80,x00,xF0 DEFB x70,x00,x00,x02,x7C,x00,x00,x03 DEFB x7E,x00,x00,x14,x01,xB0,xCC,x60 DEFB x60,x02,x18,x3C,x66,x68,x18,x00 DEFB x60,x60,x02,x06,x60,x60,x02,x3C DEFB x60,x66,x30,x00,x00,x0C,x01,x9F DEFB x0C,xCC,x66,x0C,x60,x66,x00,x18 DEFB x00,x70,x00,x00,x14,x01,x80,x00 DEFB x00,x1E,x01,x8C,x0C,x66,x18,x33 DEFB x00,x00,x1A,x01,x80,x00,x00,x03 DEFB xC0,x6C,x3C,x3E,x7C,x00,xC0,x78 DEFB x3E,x7C,x18,x3C,x00,x00,x0F,x01 DEFB xCC,xC4,x73,xCC,xF9,xCC,x9C,xC7 DEFB xFF,xFF,x14,xFE,xA0,x51,xF5,x8E DEFB x00,x00,x04,x18,x00,xE0,x20,x00 DEFB x7E,x00,x18,x3C,x3C,x03,x00,x0E DEFB x00,x00,x04,x0E,x00,x00,x04,x7E DEFB x00,x00,x03,x01,x80,x00,x00,x1E DEFB x01,xB0,xDE,xF0,xF0,x02,x3C,xC6 DEFB xE6,x31,xF0,x00,xF0,x3C,x7C,x3C DEFB xF0,x18,x3C,x3B,x30,x00,x00,x0C DEFB x01,x9B,x0F,xCC,x7E,x3C,x3C,x02 DEFB x7E,x00,x18,x00,xC0,x00,x00,x14 DEFB x01,x80,x00,x00,x1E,x01,x8C,x06 DEFB x66,x18,x3E,x00,x00,x1A,x01,x80 DEFB x00,x00,x03,xCE,x76,x66,x60,x30 DEFB x00,xC0,x0C,x60,x30,x18,x66,x00 DEFB x00,x0F,x01,xC0,xCA,x73,xCC,xE1 DEFB xCC,x9C,xF1,xFF,xFF,x14,xFE,xA0 DEFB x51,xF5,x9B,x00,x00,x06,x60,x60 DEFB x02,x00,x81,x00,x38,x66,x66,x03 DEFB x00,x1B,x00,x00,x04,x06,x00,x00 DEFB x04,x18,x00,x00,x03,x01,x80,x00 DEFB x00,x1E,x01,x80,x00,x00,x04,x7C DEFB x00,x00,x19,x01,x99,x8C,x0C,x60 DEFB xCC,x06,x60,x00,x18,x31,x98,x00 DEFB x00,x14,x01,x80,x00,x00,x1E,x01 DEFB x8C,x0C,x66,x18,x36,x00,x00,x1A DEFB x01,x80,x00,x00,x03,xC6,x66,x66 DEFB x02,x3C,x30,x00,xC0,x3C,x3C,x02 DEFB x30,x18,x7E,x00,x00,x0F,x01,x9E DEFB x4E,x73,xE1,x99,xC9,xC9,x02,x99 DEFB x80,x00,x00,x13,x02,x80,x51,xF5 DEFB xB0,x3C,xDC,x66,xEC,x38,x3B,x6C DEFB xF8,x00,x9D,x00,x18,x66,x66,x03 DEFB x00,x30,x3C,xCC,xCC,x02,x3C,x36 DEFB x3C,xEC,x3C,x00,x18,x7C,x3C,x00 DEFB x01,x86,x1C,xE0,x00,x18,x00,xE0 DEFB x20,x00,x00,x09,x0E,x00,x00,x0D DEFB x01,x80,x00,x00,x1E,x01,xB8,xC7 DEFB x9E,x3C,x76,x7C,x3C,x00,x7E,x31 DEFB xF8,x00,x00,x14,x01,x80,x00,x00 DEFB x1E,x01,x8C,x18,x6C,x18,x33,x00 DEFB x00,x1A,x01,x80,x00,x00,x03,x66 DEFB x66,x03,x06,x34,x00,x6C,xCC,x06 DEFB x34,x18,x60,x00,x00,x0F,x01,x9E DEFB x4E,x61,x9C,xC4,x83,xE3,xC3,x80 DEFB x00,x00,x13,x02,xE0,x5D,xF5,xB0 DEFB x66,x66,x03,x76,x18,x66,x76,x60 DEFB x00,xB1,x00,x18,x3E,x3C,x3C,x02 DEFB x00,x30,x66,xEE,xEE,x02,x66,x6E DEFB x66,x76,x66,x00,x18,x66,x66,x02 DEFB x00,x01,x8F,x0C,x60,x00,x00,x03 DEFB x60,x60,x02,x00,x00,x09,x06,x00 DEFB x00,x0D,x01,x80,x00,x00,x1E,x01 DEFB x80,x00,x00,x1E,x01,x80,x00,x00 DEFB x1E,x01,xBF,x30,xF8,x7E,x71,x80 DEFB x00,x00,x19,x01,x80,x00,x00,x03 DEFB x3E,xE6,x3C,x7C,x18,x00,x38,x76 DEFB x7C,x18,x3C,x3C,x02,x00,x00,x0F DEFB x01,x80,x00,x00,x1E,x01,x80,x00 DEFB x7E,x00,x00,x1C,x01,x80,x00,x00 DEFB x1E,x01,x80,x00,x00,x1E,x01,x80 DEFB x00,x00,x1E,x01,x80,x00,x00,x1E DEFB x01,x80,x00,x00,x1E,x01,x80,x00 DEFB x00,x1E,x01,x80,x00,x00,x1E,x01 DEFB x8C,x30,x7E,x00,x00,x1C,x01,x80 DEFB x00,x00,x1E,x01,x80,x00,x00,x1E DEFB x01,x80,x00,x00,x1E,x01,x80,x00 DEFB x00,x1E,x01,x80,x00,x00,x1E,x01 DEFB x80,x00,x00,x1E,x01,x80,x00,x00 DEFB x1E,x01,x9C,x18,x7E,x00,x00,x1C DEFB x01,x80,x00,x00,x1E,x01,x80,x00 DEFB x00,x1E,x01,x80,x00,x00,x1E,x01 DEFB x80,x00,x00,x1E,x01,x80,x00,x00 DEFB x1E,x01,x80,x00,x00,x1E,x01,x80 DEFB x00,x00,x1E,x01,x8C,x0C,x7E,x00 DEFB x00,x1C,x01,x80,x00,x00,x1E,x01 DEFB x80,x00,x00,x1E,x01,x80,x00,x00 DEFB x1E,x01,x80,x00,x00,x1E,x01,x80 DEFB x00,x00,x1E,x01,x80,x00,x00,x1E DEFB x01,x80,x00,x00,x1E,x01,x8C,x06 DEFB x7E,x00,x00,x1C,x01,x80,x00,x00 DEFB x1E,x01,x80,x00,x00,x1E,x01,x80 DEFB x00,x00,x1E,x01,x80,x00,x00,x1E DEFB x01,x80,x00,x00,x1E,x01,x80,x00 DEFB x00,x1E,x01,x80,x00,x00,x1E,x01 DEFB x8C,x0C,x7E,x00,x00,x1C,x01,x80 DEFB x00,x00,x1E,x01,x80,x00,x00,x1E DEFB x01,x80,x00,x00,x1E,x01,x80,x00 DEFB x00,x1E,x01,x80,x00,x00,x1E,x01 DEFB x80,x00,x00,x1E,x01,x80,x00,x00 DEFB x1E,x01,x8C,x18,x7E,x00,x00,x1C DEFB x01,x80,x00,x00,x1E,x01,x80,x00 DEFB x00,x1E,x01,x80,x00,x00,x1E,x01 DEFB x80,x00,x00,x1E,x01,x80,x00,x00 DEFB x1E,x01,x80,x00,x00,x1E,x01,x80 DEFB x00,x00,x1E,x01,xBF,x30,x7E,x00 DEFB x00,x1C,x01,x80,x00,x00,x1E,x01 DEFB x80,x00,x00,x1E,x01,x80,x00,x00 DEFB x1E,x01,x80,x00,x00,x1E,x01,x80 DEFB x00,x00,x1E,x01,x80,x00,x00,x1E DEFB x01,x80,x00,x00,x1E,x01,x80,x00 DEFB x00,x1E,x01,x80,x00,x00,x1E,x01 DEFB x80,x00,x00,x1E,x01,x80,x00,x00 DEFB x1E,x01,x80,x00,x00,x1E,xFF,x00 DEFB x00,x40,x80,x00,x00,x1E,x01,x80 DEFB x00,x00,x1E,x01,x80,x00,x00,x1E DEFB x01,x80,x00,x00,x1E,x01,x80,x00 DEFB x00,x1E,x01,x80,x00,x00,x1E,x8F DEFB x00,x00,x40,x80,x00,x00,x1E,x01 DEFB x80,x00,x00,x1E,x01,x80,x00,x00 DEFB x1E,x01,x80,x00,x00,x1E,x01,x80 DEFB x00,x00,x1E,x01,x80,x00,x00,x1E DEFB xAF,x00,x00,x40,x80,x00,x00,x1E DEFB x01,x80,x00,x00,x1E,x01,x80,x00 DEFB x00,x1E,x01,x80,x00,x00,x1E,x01 DEFB x80,x00,x00,x1E,x01,x80,x00,x00 DEFB x1E,x81,x00,x00,x40,x80,x00,x00 DEFB x1E,x01,x80,x00,x00,x1E,x01,x80 DEFB x00,x00,x1E,x01,x80,x00,x00,x1E DEFB x01,x80,x00,x00,x1E,x01,x80,x00 DEFB x00,x1E,xED,x00,x00,x40,x80,x00 DEFB x00,x1E,x01,x80,x00,x00,x1E,x01 DEFB x80,x00,x00,x1E,x01,x80,x00,x00 DEFB x1E,x01,x80,x00,x00,x1E,x01,x80 DEFB x00,x00,x1E,xED,x00,x00,x40,x80 DEFB x00,x00,x1E,x01,x80,x00,x00,x1E DEFB x01,x80,x00,x00,x1E,x01,x80,x00 DEFB x00,x1E,x01,x80,x00,x00,x1E,x01 DEFB x80,x00,x00,x1E,xE1,x00,x00,x40 DEFB x80,x00,x00,x1E,x01,x80,x00,x00 DEFB x1E,x01,x80,x00,x00,x1E,x01,x80 DEFB x00,x00,x1E,x01,x80,x00,x00,x1E DEFB x01,xFF,xFF,x20,x00,x00,x40,x0F DEFB x0F,xFF,x0F,x0F,xFF,x0F,x0F,xFF DEFB x0F,x0F ;----------------------------------------------------------------------------- ; Crunch ;----------------------------------------------------------------------------- ORG 27186 Crunch: ld hl,16384 ; source ld bc,6912 ; screen size ld ix,40000 ; destination cr.Loop: ld a,(hl) ; read source ld e,a dec bc ld a,b ; end ? or c jr z,cr.OK ld a,e inc hl cp (hl) ; same ? jr z,cr.Same ld (ix+0),a ; write destination inc ix jr cr.Loop cr.Same: ld (ix+0),a ; write 2 times inc ix ld (ix+0),a inc ix ld d,2 ; counter start at 2 cr.SameCount: ld a,(hl) ; read source ld e,a inc hl dec bc ld a,b ; end ? or c jr z,cr.OK ld a,e cp (hl) ; same ? jr nz,cr.SameEnd inc d ld a,d cp xff ; counter = 255 ? jr z,cr.SameOver jr cr.SameCount cr.SameEnd: ld (ix+0),d inc ix jr cr.Loop cr.SameOver: inc hl dec bc ld a,b or c jr z,cr.OK jr cr.SameEnd cr.OK: scf ccf ld bc,x9c40 ; calculate size push ix pop hl sbc hl,bc push hl pop bc ; size in bc ret ;----------------------------------------------------------------------------- ; Decrunch ;----------------------------------------------------------------------------- ORG 27275 Decrunch: ld hl,16384 ; destination ld ix,dat.AmigaScr ; source ld bc,6912 ; screen size de.Loop: ld a,(ix+0) ; read source ld e,a inc ix cp (ix+0) ; same ? jr z,de.Same ld (hl),a ; write destination inc hl dec bc ld a,b ; end ? or c jr nz,de.Loop ret de.Same: inc ix ; read count ld d,(ix+0) de.Fill: ld (hl),e ; fill inc hl dec bc ld a,b ; end ? or c ret z dec d jr nz,de.Fill inc ix jr de.Loop ;----------------------------------------------------------------------------- ; AmigaScreen ;----------------------------------------------------------------------------- ORG 27326 AmigaScreen: call Decrunch ; decrunch screen as.Loop: ld a,1 out (xfe),a ; border blue ld a,xfe ; read keyboard in a,(xfe) and x1f cp x0f ; 'V' pressed ? jr nz,as.NoSave ld a,xfd in a,(xfe) and x1f cp x1c ; 'A','S' pressed ? jr nz,as.NoSave ld a,xfb in a,(xfe) and x1f cp x1b ; 'E' pressed ? jr nz,as.NoSave call x7436 as.NoSave: ld a,xbf in a,(xfe) and x1f cp x1e jp nz,as.Loop call DrawRoom ret ;------------------------------------------------------------------------------ ; Save ;------------------------------------------------------------------------------ ORG 29750 Save: ld a,x00 ld (xfc3c),a ld a,x5b ld (xfc3d),a scf ; load screen ld a,xff ld hl,16384 ld de,5016 call LD_BYTES ; LD-BYTES sa.Space: ld a,x7f in a,(xfe) and x1f cp x1e ; SPACE pressed ? jr nz,sa.Space scf ; save basic header ld a,x00 ld hl,dat.BasicHead ld de,17 call SA_BYTES ; SA-BYTES ld b,20 ; wait some time sa.Wait1: halt djnz sa.Wait1 scf ; save basic program ld a,xff ld hl,23755 ld de,595 call SA_BYTES ; SA-BYTES nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop ld b,40 ; wait some time sa.Wait2: halt djnz sa.Wait2 scf ; save screen ld a,xff ld hl,16384 ld de,5016 call SA_BYTES ; SA-BYTES nop nop nop nop nop nop ld b,40 ; wait some time sa.Wait3: halt djnz sa.Wait3 scf ; save main program ld a,xff ld hl,23296 ld de,40868 jp SA_BYTES ; SA-BYTES ;------------------------------------------------------------------------------ ; BasicHeader ;------------------------------------------------------------------------------ ORG 29892 dat.BasicHead: DEFB 0 ; type basic program DEFB 22,1,0 ; name AT 1,0 DEFM 'CASTLE ' DEFB x53,x02 ; length DEFB x01,x00 ; start at line 1 DEFB x53,x02 ; total length ;----------------------------------------------------------------------------- ; Variables ;----------------------------------------------------------------------------- ORG 29998 Lives: DEFB 3 ;----------------------------------------------------------------------------- ; DrawImage ;----------------------------------------------------------------------------- ORG 30000 DrawImage: ld a,(ImageHeight) ; height in char ld (ImageHStore),a ; store add a,a add a,a add a,a ld (ImageHeight),a ; number of lines call ImageCoords ; ImageCoords di.Lines: push bc ; store coordinates call PIXEL_ADD ; PIXEL-ADD ex de,hl ld hl,(ImageData) ; copy one line ld b,0 ld a,(ImageWidth) ld c,a ldir add hl,bc ; next data line ld (ImageData),hl pop bc ; restore coordinates dec b ; one line up ld a,(ImageHeight) cp 0 ; more lines ? dec a ld (ImageHeight),a jr nz,di.Lines ld h,0 ; set attributes ld a,(ImageY) ld l,a add hl,hl add hl,hl add hl,hl add hl,hl add hl,hl ; ypos*32 ld a,(ImageX) ld d,0 ld e,a add hl,de ; ypos*32+xpos ld de,22528 add hl,de ; ypos*32+xpos+22528 ex de,hl di.Attr: ld hl,(ImageData) ; data address ld b,0 ld a,(ImageWidth) ; width ld c,a push de ldir ; copy one pop de ; attribute line push hl push de pop hl ld de,32 ; next attribute add hl,de ; line's address ex de,hl pop hl ld (ImageData),hl ; store data address ld a,(ImageHStore) cp 0 ; more attribute dec a ; lines ? ld (ImageHStore),a jr nz,di.Attr ret ;----------------------------------------------------------------------------- ; ClearImage ;----------------------------------------------------------------------------- ORG 30110 ClearImage: ld a,(ImageHeight) ; height push af ; store ld a,(ImageY) ; ypos ld h,0 ld l,a add hl,hl add hl,hl add hl,hl add hl,hl add hl,hl ; ypos*32 ld a,(ImageX) ld d,0 ld e,a add hl,de ; ypos*32+xpos ld de,22528 add hl,de ; ypos*32+xpos+22528 ci.AttrLoop: push hl ld a,(ImageWidth) ; width ld b,a ci.AttrLine: ld a,(ImageClrAttr) ld (hl),a inc hl djnz ci.AttrLine pop hl ld de,32 ; next line add hl,de ld a,(ImageHeight) dec a ld (ImageHeight),a cp 0 ; more lines ? jr nz,ci.AttrLoop pop af ; restore height ld (ImageHeight),a nop nop ld a,(ImageHeight) add a,a add a,a rlca ; height*8 ld (ImageHStore),a ; store number of lines call ImageCoords ; ImageCoords ci.Loop: push bc ; store coordinates call PIXEL_ADD ; PIXEL-ADD ld a,(ImageWidth) ; width ld b,a ld c,0 ld a,0 ci.Line: ld (hl),a ; clear line inc hl djnz ci.Line pop bc ; restore coordinates dec b ld a,(ImageHStore) dec a ld (ImageHStore),a cp 0 ; more lines ? jr nz,ci.Loop ret ;----------------------------------------------------------------------------- ; ImageCoords ;----------------------------------------------------------------------------- ORG 30212 ImageCoords: ld a,(ImageY) ld b,a ld a,22 sub b add a,a add a,a add a,a dec a ld b,a ; (22-ypos)*8-1 ld a,(ImageX) add a,a add a,a add a,a ld c,a ; 8*xpos ret ;----------------------------------------------------------------------------- ; Variables ;----------------------------------------------------------------------------- ORG 30396 NextDisk: DEFB 0 DiskPrinted: DEFB 0 CurrentDisk: DEFB 0 RoomNumber: DEFB 1 ;----------------------------------------------------------------------------- ; DrawRoom ;----------------------------------------------------------------------------- ORG 30400 DrawRoom: call CLS ; CLS ld a,0 ; border 0 out (xfe),a ld a,(RoomNumber) ; get RoomNumber ld b,a cp 121 ; < 121 ? jr c,dr.Less ld hl,x5e56 ; room prg 121..240 jr dr.OK dr.Less: ld hl,prg.Room.1-50 ; room prg 1..120 dr.OK: ld de,50 ; one room's data size dr.Mul: add hl,de djnz dr.Mul ; get the address ld (dr.Call+1),hl dr.Call: call prg.Room.1 ; room program ld a,0 ld (dm.Dir),a call mm.Draw ; draw man call ShowCurrDisk ; show current disk call InitEnemy ; init enemy nop nop nop ret ;----------------------------------------------------------------------------- ; ShowCurrDisk ;----------------------------------------------------------------------------- ORG 30454 ShowCurrDisk: ld a,(CurrentDisk) ; have I got a disk ? cp 0 jr z,sc.NoDisk ShowCurrDisk2: ld hl,x0115 ld (ImagePos),hl ; x=1,y=21 ld hl,x0101 ld (ImageSize),hl ; width=1,height=1 ld hl,img.Disk ld (ImageData),hl call DrawImage ; DrawImage ld hl,x0015 ld (ImagePos),hl ; x=0,y=21 ld hl,x0101 ld (ImageSize),hl ; width=1,height=1 ld a,(CurrentDisk) add a,a add a,a add a,a ld d,0 ld e,a ld hl,dat.HandChars+48*8 ; number data add hl,de ld (ImageData),hl call DrawImage ; DrawImage ld a,4 ld (x5aa0),a sc.NoDisk: ret ;----------------------------------------------------------------------------- ; InitEnemy ;----------------------------------------------------------------------------- ORG 30519 InitEnemy: ld a,(RoomNumber) ; get RoomNumber ld e,a ld d,0 ld hl,0 add hl,de add hl,hl add hl,hl ld de,xacfc add hl,de ; RoomNumber*4+44284 ld e,(hl) inc hl ld d,(hl) ex de,hl ld (EnemyPos),hl ex de,hl inc hl push hl ld a,(hl) cp 1 jr nz,im.VertMove ld hl,x0100 ; dx = 1; dy = 0; jr im.DeltaOK im.VertMove: ld hl,x0001 ; dx = 0; dy = 1; im.DeltaOK: ld (Enemydelta),hl pop hl inc hl ld a,(hl) ; enemy type cp 0 ; ghost ? jr nz,im.NoGhost ld hl,img.Ghost1 jr im.SetEnemy im.NoGhost: cp 1 ; bug ? jr nz,im.NoBug ld hl,img.Bug1 jr im.SetEnemy im.NoBug: cp 2 ; head ? jr nz,im.NoHead ld hl,img.Head1 jr im.SetEnemy im.NoHead: cp 3 ; devil ? jr nz,im.NoDevil ld hl,img.Devil1 jr im.SetEnemy im.NoDevil: cp 4 ; car ? jr nz,im.NoCar ld hl,img.Car1 jr im.SetEnemy im.NoCar: cp 5 ; medusa ? jr nz,im.EnemyOK ld hl,img.Medusa1 im.SetEnemy: ld (xa38a),hl ld a,l ld (xa3aa),a ld (xa3b2),a add a,54 ld (xa3ae),a im.EnemyOK: ret ;----------------------------------------------------------------------------- ; SoundEffect ;----------------------------------------------------------------------------- ORG 30660 SoundEffect0: ld a,x1d ld (so.Type),a ; so.Type = dec e nop nop nop nop nop SoundEffect1: ld de,xff50 so.Loop1: ld h,8 ld a,(x5c48) rra rra rra so.Loop2: ld c,xfe xor x10 out (c),a ld b,e so.Wait: djnz so.Wait dec h jr nz,so.Loop2 so.Type: inc e dec d jr nz,so.Loop1 ret ;----------------------------------------------------------------------------- ; Selection ;----------------------------------------------------------------------------- ORG 30700 Selection: ld b,72 se.Wait: halt djnz se.Wait nop nop nop ld a,x1c ld (so.Type),a ; so.Type = inc e call SoundEffect1 ld hl,x0404 ; image informations ld (ImagePos),hl ld hl,x030e ld (ImageSize),hl ld hl,xd4ba ld (ImageData),hl call DrawImage ld a,x1d ld (so.Type),a ; so.Type = dec e call SoundEffect1 ld hl,x120a ; image continue ld (ImagePos),hl ld hl,x030a ld (ImageSize),hl ld hl,xd634 ld (ImageData),hl call DrawImage ld b,36 ; wait some time se.Wait2: halt djnz se.Wait2 se.Wait3: call Music ; music nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop ld a,xfe ; read keyborad in a,(xfe) and x1f cp x17 ; 'C' pressed ? jr nz,se.NoC nop nop nop nop nop nop nop nop nop nop nop nop ret se.NoC: ld a,xdf ; read keyborad in a,(xfe) and x1f cp x1b ; 'I' pressed ? jp z,Information jr se.Wait3 ; go back ;----------------------------------------------------------------------------- ; SoundEffect2 ;----------------------------------------------------------------------------- ORG 30840 SoundEffect2: ld a,(x5c48) rra rra rra ld b,x78 ld c,xfe s2.Loop1: dec h jr nz,s2.Loop2 xor x10 out (c),a ld h,x3c s2.Loop2: dec l jr nz,s2.Loop1 xor x10 out (c),a ld l,x78 djnz s2.Loop1 ret ;----------------------------------------------------------------------------- ; DrawWitch1 ;----------------------------------------------------------------------------- ORG 30880 DrawWitch1: ld hl,x1a04 ld (ImagePos),hl ld hl,x0202 ld (ImageSize),hl ld hl,img.Witch1 ld (ImageData),hl call DrawImage ret ;----------------------------------------------------------------------------- ; DrawWitch4 ;----------------------------------------------------------------------------- ORG 30910 DrawWitch4: ld hl,x1a04 ld (ImagePos),hl ld hl,x0202 ld (ImageSize),hl ld hl,img.Witch4 ld (ImageData),hl call DrawImage ret ;----------------------------------------------------------------------------- ; DrawHiFi ;----------------------------------------------------------------------------- ORG 30940 DrawHiFi: ld (ImagePos),hl ld hl,x0503 ld (ImageSize),hl ld hl,img.HiFi ld (ImageData),hl call DrawImage ret ;----------------------------------------------------------------------------- ; FillReady ;----------------------------------------------------------------------------- ORG 31000 FillReady: ld b,72 ; wait some time fr.Wait: halt djnz fr.Wait ld a,36 ld (x787f),a ld hl,dat.ReadyPos ; positions data ld b,22 ; 22 images fr.Loop: push bc ld a,(hl) ld e,a inc hl push hl ld a,(hl) ld d,a ex de,hl ld (ImagePos),hl ld hl,x0208 ld (ImageSize),hl ld hl,img.Ready2 ; image ready 2 ld (ImageData),hl call DrawImage pop hl inc hl ld a,(hl) ld e,a inc hl ld a,(hl) inc hl push hl ld d,a ex de,hl ld (ImagePos),hl ld hl,x0208 ld (ImageSize),hl ld hl,img.Ready2 ; image ready 2 ld (ImageData),hl call DrawImage call SoundEffect2 pop hl pop bc djnz fr.Loop ld a,x78 ld (x787f),a ld b,1 fr.Wait2: halt djnz fr.Wait2 nop nop nop ld hl,x040e ld (ImagePos),hl ld hl,x050b ld (ImageSize),hl ld hl,img.Readysoft ; image ready soft ld (ImageData),hl call DrawImage ret ;----------------------------------------------------------------------------- ; CannotKill ;----------------------------------------------------------------------------- ORG 31120 CannotKill: ld a,2 call CHAN_OPEN ; CHAN-OPEN nop nop nop nop nop ld a,22 ; AT 21,0 rst 16 ld a,21 rst 16 ld a,0 rst 16 ld a,16 ; INK 5 rst 16 ld a,5 rst 16 ld de,str.CannotKill ld bc,31 call PR_STRING jp ma.Continue ;----------------------------------------------------------------------------- ; CannotKill String ;----------------------------------------------------------------------------- ORG 31158 str.CannotKill: DEFM ' You cannot kill the Witch now.' ;----------------------------------------------------------------------------- ; GotALife ;----------------------------------------------------------------------------- ORG 31200 GotALife: ld b,18 ; wait some time ga.Wait: halt djnz ga.Wait ld a,x1c ld (so.Type),a ; so.Type = inc e call SoundEffect1 ld a,2 call CHAN_OPEN ; CHAN-OPEN ld a,22 ; AT 21,0 rst 16 ld a,21 rst 16 ld a,0 rst 16 ld a,16 ; INK 3 rst 16 ld a,3 rst 16 ld de,str.GotALife ld bc,32 call PR_STRING ld hl,Lives ; one more lives inc (hl) ret ;----------------------------------------------------------------------------- ; GotALife String ;----------------------------------------------------------------------------- ORG 31250 str.GotALife: DEFM ' You got a life. ' ;----------------------------------------------------------------------------- ; Start Game ;----------------------------------------------------------------------------- ORG 32600 StartGame: ld a,0 ld (x5c8d),a ld (x5c48),a ld (DiskPrinted),a ld (CurrentDisk),a nop nop nop nop nop nop ld a,1 ; start at Room 1 ld (RoomNumber),a call DrawRoom ; DrawRoom ld a,33 ld (x8875),a ; restore draw disk ld (x87ad),a ; statements in ld (x98ab),a ; room programs ld (x99dd),a ld (x8d2b),a ld (x9a73),a nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop jp MainLoop ;----------------------------------------------------------------------------- ; Open Door Data Buffer ;----------------------------------------------------------------------------- ORG 32736 dat.DoorBuffer: DEFS 32 ;----------------------------------------------------------------------------- ; Start Program ;----------------------------------------------------------------------------- ORG 32768 StartProgram: ld b,10 ; wait some time st.Wait: push bc halt nop nop nop nop nop pop bc djnz st.Wait ;----------------------------------------------------------------------------- ; OpenDoor ;----------------------------------------------------------------------------- ld b,7 ; 7 door phases push bc ld hl,dat.DoorLeft1 push hl st.OpenLoop: pop hl ; copy current push hl ; door phase ld de,dat.DoorBuffer ld bc,32 ldir ld a,2 call CHAN_OPEN ; CHAN-OPEN ld a,22 ; AT 14,6 rst 16 ld a,14 rst 16 ld a,6 rst 16 ld a,16 ; INK 6 rst 16 ld a,6 rst 16 ld a,17 ; PAPER 1 rst 16 ld a,1 rst 16 ld de,xe3cc ; two spaces ld bc,2 call PR_STRING ; PR-STRING ld a,2 call CHAN_OPEN ; CHAN-OPEN ld a,22 ; AT 15,6 rst 16 ld a,15 rst 16 ld a,6 rst 16 ld a,16 ; INK 6 rst 16 ld a,6 rst 16 ld a,17 ; PAPER 1 rst 16 ld a,1 rst 16 ld de,xe3cc ; two spaces ld bc,2 call PR_STRING ; PR-STRING ld hl,dat.DoorBuffer ; draw door, left side ld b,16 ; 16 lines st.DoorLeft: ld c,8 ; 8 pixel per line ld d,(hl) ; get data byte st.DoorLPix: sla d ; msb to carry jr c,st.DoorLSet ; bit set ? st.DoorLNext: dec c jr nz,st.DoorLPix ; next pixel ? inc hl djnz st.DoorLeft ; next line ? jr st.DoorLOK st.DoorLSet: push af push bc push de push hl ld hl,x2f32 ; x=47,y=50 ld a,6 sub c add a,l ld c,a ; x=6-bit+50 ld a,b add a,h ld b,a ; y=line+47 call PLOT_SUB ; PLOT-SUB pop hl pop de pop bc pop af jr st.DoorLNext ; next pixel st.DoorLOK: ld hl,dat.DoorBuffer+16 ; draw door, right side ld b,16 ; 16 lines st.DoorRight: ld c,8 ; 8 pixel per line ld d,(hl) ; get data byte st.DoorRPix: sla d ; msb to carry jr c,st.DoorRSet ; bit set ? st.DoorRNext: dec c jr nz,st.DoorRPix ; next pixel ? inc hl djnz st.DoorRight ; next line ? jr st.DoorROK st.DoorRSet: push af push bc push de push hl ld hl,x2f3a ; x=47,y=58 ld a,6 sub c add a,l ld c,a ; x=6-bit+58 ld a,b add a,h ld b,a ; y=line+47 call PLOT_SUB ; PLOT-SUB pop hl pop de pop bc pop af jr st.DoorRNext ; next pixel st.DoorROK: ld de,3 ; door open sound ld hl,5120 call BEEPER ; BEEPER ld de,3 ld hl,2560 call BEEPER ; BEEPER ld de,3 ld hl,10240 call BEEPER ; BEEPER pop hl ld de,32 ; next door phase data add hl,de pop bc dec b push bc push hl ld a,0 ; door opened ? cp b jp nz,st.OpenLoop pop hl pop bc nop ;----------------------------------------------------------------------------- ; ControlText ;----------------------------------------------------------------------------- ControlText: ld hl,dat.HandChars ; Handwrite charset ld (CHARS),hl ; set CHARS variable jr ct.Go ct.Restart: call FillReady nop ct.Go: call Selection ; Selection call CLS ; CLS ld bc,0 push bc ct.Loop: ld a,7 ; next color OK ? pop bc cp b jr nz,ct.ColorOK1 ld b,0 ct.ColorOK1: push bc ld a,2 call CHAN_OPEN ; CHAN-OPEN ld a,16 ; INK b rst 16 pop bc ld a,b inc b push bc rst 16 ld a,22 ; AT 1,9 rst 16 ld a,1 rst 16 ld a,9 rst 16 ld de,txt.Castle ; GHOST CASTLE ld bc,14 call PR_STRING ; PR-STRING ld a,7 ; next color OK ? pop bc cp b jr nz,ct.ColorOK2 ld b,0 ct.ColorOK2: push bc ld a,2 call CHAN_OPEN ; CHAN-OPEN ld a,16 ; INK b rst 16 pop bc ld a,b inc b push bc rst 16 ld a,22 ; AT 4,13 rst 16 ld a,4 rst 16 ld a,13 rst 16 ld de,txt.Keys ; Keys : ld bc,6 call PR_STRING ; PR-STRING ld a,7 ; next color OK ? pop bc cp b jr nz,ct.ColorOK3 ld b,0 ct.ColorOK3: push bc ld a,2 call CHAN_OPEN ; CHAN-OPEN ld a,16 ; INK b rst 16 pop bc ld a,b inc b push bc rst 16 ld a,22 ; AT 6,10 rst 16 ld a,6 rst 16 ld a,10 rst 16 ld de,txt.O.Left ; O.......Left ld bc,12 call PR_STRING ; PR-STRING ld a,7 ; next color OK ? pop bc cp b jr nz,ct.ColorOK4 ld b,0 ct.ColorOK4: push bc ld a,2 call CHAN_OPEN ; CHAN-OPEN ld a,16 ; INK b rst 16 pop bc ld a,b inc b push bc rst 16 ld a,22 ; AT 8,10 rst 16 ld a,8 rst 16 ld a,10 rst 16 ld de,txt.P.Right ; P......Right ld bc,12 call PR_STRING ; PR-STRING ld a,7 ; next color OK ? pop bc cp b jr nz,ct.ColorOK5 ld b,0 ct.ColorOK5: push bc ld a,2 call CHAN_OPEN ; CHAN-OPEN ld a,16 ; INK b rst 16 pop bc ld a,b inc b push bc rst 16 ld a,22 ; AT 10,10 rst 16 ld a,10 rst 16 ld a,10 rst 16 ld de,txt.M.Jump ; M.......Jump ld bc,12 call PR_STRING ; PR-STRING ld a,7 ; next color OK ? pop bc cp b jr nz,ct.ColorOK6 ld b,0 ct.ColorOK6: push bc ld a,2 call CHAN_OPEN ; CHAN-OPEN ld a,16 ; INK b rst 16 pop bc ld a,b inc b push bc rst 16 ld a,22 ; AT 12,10 rst 16 ld a,12 rst 16 ld a,10 rst 16 ld de,txt.I.Info ; I.......Info ld bc,12 call PR_STRING ; PR-STRING ld a,7 ; next color OK ? pop bc cp b jr nz,ct.ColorOK7 ld b,0 ct.ColorOK7: push bc ld a,2 call CHAN_OPEN ; CHAN-OPEN ld a,16 ; INK b rst 16 pop bc ld a,b inc b push bc rst 16 ld a,22 ; AT 14,10 rst 16 ld a,14 rst 16 ld a,10 rst 16 ld de,txt.H.Hold ; H.......Hold ld bc,12 call PR_STRING ; PR-STRING ld a,7 ; next color OK ? pop bc cp b jr nz,ct.ColorOK8 ld b,0 ct.ColorOK8: push bc ld a,2 call CHAN_OPEN ; CHAN-OPEN ld a,16 ; INK b rst 16 pop bc ld a,b inc b push bc rst 16 ld a,22 ; AT 17,8 rst 16 ld a,17 rst 16 ld a,8 rst 16 ld de,txt.C1988 ; C 1988 READYSOFT ld bc,16 call PR_STRING ; PR-STRING ld a,7 ; next color OK ? pop bc cp b jr nz,ct.ColorOK9 ld b,0 ct.ColorOK9: push bc ld a,2 call CHAN_OPEN ; CHAN-OPEN ld a,16 ; INK b rst 16 pop bc ld a,b inc b push bc rst 16 ld a,22 ; AT 20,6 rst 16 ld a,20 rst 16 ld a,6 rst 16 ld de,txt.Enter ; Press ENTER to start ld bc,20 call PR_STRING ; PR-STRING ld a,xbf in a,(xfe) ; read keyboard and x1f cp x1e ; enter pressed ? jp nz,ct.Loop pop bc call CLS ; CLS jp StartGame ; jump to ;----------------------------------------------------------------------------- ; DrawIsle ;----------------------------------------------------------------------------- ORG 33400 DrawIsle: ld hl,img.Brick1 jr is.Do ;----------------------------------------------------------------------------- ; DrawIsle2 ;----------------------------------------------------------------------------- DrawIsle2: ld hl,img.Brick2 is.Do: ld (is.Data+1),hl ld a,2 ld (ImageWidth),a ; width=2 is.Times: ld b,4 ; 4 times is.Loop: push bc is.Data: ld hl,img.Brick2 ; hl stored here ld (ImageData),hl ; data addr=hl ld a,1 ld (ImageHeight),a ; height=1 call DrawImage ; DrawImage ld a,(ImageX) inc a inc a ld (ImageX),a ; xpos=xpos+2 pop bc djnz is.Loop ; more ? ret ;----------------------------------------------------------------------------- ; DrawTop ;----------------------------------------------------------------------------- ORG 33450 DrawTop: ld a,0 ; y=0 jr DrawHorizWall ;----------------------------------------------------------------------------- ; DrawBottom ;----------------------------------------------------------------------------- DrawBottom: ld a,18 ; y=18 DrawHorizWall: ld (tb.Y1+1),a inc a ld (tb.Y2+1),a tb.Y1: ld a,18 ; y stored here ld (ImageY),a ; ypos=a ld a,0 ld (ImageX),a ; xpos=0 ld b,4 ; 4 times tb.Loop1: push bc call DrawIsle ; DrawIsle pop bc djnz tb.Loop1 tb.Y2: ld a,19 ; y+1 stored here ld (ImageY),a ; ypos=a ld a,0 ld (ImageX),a ; xpos=0 ld b,4 ; 4 times tb.Loop2: push bc call DrawIsle2 ; DrawIsle2 pop bc djnz tb.Loop2 ret ;----------------------------------------------------------------------------- ; DrawTop2 ;----------------------------------------------------------------------------- ORG 33510 DrawTop2: ld a,0 ; y=0 jr DrawHorizWall2 ;----------------------------------------------------------------------------- ; DrawBottom2 ;----------------------------------------------------------------------------- DrawBottom2: ld a,18 ; y=18 DrawHorizWall2: ld (ImageY),a ; ypos=y ld a,0 ld (ImageX),a ; xpos=0 ld a,1 ld (is.Times+1),a ; Isle's times = 1 call DrawIsle ; DrawIsle ld a,30 ld (ImageX),a ; xpos=30 call DrawIsle ; DrawIsle ld a,(ImageY) inc a ld (ImageY),a ; ypos=ypos+1 ld a,0 ld (ImageX),a ; xpos=0 call DrawIsle2 ; DrawIsle2 ld a,30 ld (ImageX),a ; xpos=30 call DrawIsle2 ; DrawIsle2 ld a,4 ld (is.Times+1),a ; reset Isle's times ret ; to 4 ;----------------------------------------------------------------------------- ; DrawLeft ;----------------------------------------------------------------------------- ORG 33570 DrawLeft: ld a,0 ; x=0 jr DrawVertWall ;----------------------------------------------------------------------------- ; DrawRight ;----------------------------------------------------------------------------- DrawRight: ld a,30 ; x=30 DrawVertWall: ld (lr.X1+1),a ld (lr.X2+1),a ld (lr.X3+1),a ld a,1 ld (is.Times+1),a ; set Isle's times to 1 ld a,0 ld (ImageY),a ; ypos=0 lr.X1: ld a,0 ; a stored here ld (ImageX),a ; xpos=a ld b,10 ; 10 times lr.Loop: push bc call DrawIsle ; DrawIsle ld a,(ImageY) inc a ld (ImageY),a ; ypos=ypos+1 lr.X2: ld a,0 ; a stored here ld (ImageX),a call DrawIsle2 ; DrawIsle2 ld a,(ImageY) inc a ld (ImageY),a ; ypos=ypos+1 lr.X3: ld a,0 ; a stored here ld (ImageX),a ; xpos=a pop bc djnz lr.Loop ; more ? ld a,4 ld (is.Times+1),a ; reset Isle's times ret ; to 4 ;----------------------------------------------------------------------------- ; DrawDecors ;----------------------------------------------------------------------------- ORG 33650 DrawPicture1: ld bc,img.Picture1 jr DrawDecor DrawPicture2: ld bc,img.Picture2 jr DrawDecor DrawWardrobe1: ld bc,img.Wardrobe1 jr DrawDecor DrawBooks: ld bc,img.Books jr DrawDecor DrawFlower1: ld bc,img.Flower1 jr DrawDecor DrawBed: ld bc,img.Bed jr DrawDecor DrawPicture3: ld bc,img.Picture3 jr DrawDecor DrawFlower2: ld bc,img.Flower2 jr DrawDecor DrawWardrobe2: ld bc,img.Wardrobe2 jr DrawDecor DrawTable1: ld bc,img.Table1 jr DrawDecor DrawTV1: ld bc,img.TV1 jr DrawDecor DrawTV2: ld bc,img.TV2 jr DrawDecor DrawLamp1: ld bc,img.Lamp1 jr DrawDecor DrawLamp2: ld bc,img.Lamp2 jr DrawDecor DrawTable2: ld bc,img.Table2 jr DrawDecor DrawCandle1: ld bc,img.Candle1 jr DrawDecor DrawCandle2: ld bc,img.Candle2 jr DrawDecor DrawFlower3: ld bc,img.Flower3 jr DrawDecor ;----------------------------------------------------------------------------- ; DrawDecor ;----------------------------------------------------------------------------- DrawDecor: ld (ImageData),bc ; set data addr ld (ImagePos),hl ; set ypos,xpos ld hl,x0405 ; width=5,height=4 ld (ImageSize),hl call DrawImage ; DrawImage ret ;----------------------------------------------------------------------------- ; DrawDisk ;----------------------------------------------------------------------------- ORG 33760 DrawDisk: ld (ImagePos),hl ; set ypos,xpos ld hl,x0101 ; width=1,height=1 ld (ImageSize),hl ld hl,img.Disk ; disk data DrawIt: ld (ImageData),hl call DrawImage ; DrawImage ret ;----------------------------------------------------------------------------- ; DrawLiftUp ;----------------------------------------------------------------------------- ORG 33780 DrawLiftUp: ld hl,x0b12 ; ypos=18,xpos=11 ld (ImagePos),hl ld hl,x0104 ; width=4,height=1 ld (ImageSize),hl ld hl,img.LiftUp ld (ImageData),hl call DrawImage ; DrawImage ret ;----------------------------------------------------------------------------- ; DrawLiftDown ;----------------------------------------------------------------------------- ORG 33810 DrawLiftDown: ld hl,x0f12 ; ypos=18,xpos=15 ld (ImagePos),hl ld hl,x0104 ; width=4,height=1 ld (ImageSize),hl ld hl,img.LiftDown ld (ImageData),hl call DrawImage ; DrawImage ret ;----------------------------------------------------------------------------- ; DrawBeltRight ;----------------------------------------------------------------------------- ORG 33840 DrawBeltRight2: ld a,2 jr br.Draw DrawBeltRight3: ld a,3 jr br.Draw DrawBeltRight4: ld a,4 jr br.Draw DrawBeltRight8: ld a,8 br.Draw: ld b,a br.Loop: push bc push hl ld (ImagePos),hl ; set ypos,xpos ld hl,x0102 ; width=2,height=1 ld (ImageSize),hl ld hl,img.BeltRight ld (ImageData),hl call DrawImage ; DrawImage pop hl inc h inc h ; xpos=xpos+2 pop bc djnz br.Loop ; more ? ret ;----------------------------------------------------------------------------- ; DrawBeltLeft ;----------------------------------------------------------------------------- ORG 33890 DrawBeltLeft2: ld a,2 jr bl.Draw DrawBeltLeft3: ld a,3 jr bl.Draw DrawBeltLeft4: ld a,4 jr bl.Draw DrawBeltLeft8: ld a,8 bl.Draw: ld b,a bl.Loop: push bc push hl ld (ImagePos),hl ; set ypos,xpos ld hl,x0102 ; width=2,height=1 ld (ImageSize),hl ld hl,img.BeltLeft ld (ImageData),hl call DrawImage ; DrawImage pop hl inc h inc h ; xpos=xpos+2 pop bc djnz bl.Loop ; more ? ret ;----------------------------------------------------------------------------- ; DrawGameOver ;----------------------------------------------------------------------------- DrawGameOver: ld hl,x0a07 ; ypos=7,xpos=10 ld (ImagePos),hl ld hl,x030c ; width=12,height=3 ld (ImageSize),hl ld hl,img.GameOver jp DrawIt ;----------------------------------------------------------------------------- ; DrawThickIsle ;----------------------------------------------------------------------------- DrawThickIsle1: ld a,1 jr ti.Draw DrawThickIsle2: ld a,2 jr ti.Draw DrawThickIsle4: ld a,4 ti.Draw: push hl ld (is.Times+1),a ; set Isle's times call DrawIslePos ; to a pop hl inc l call DrawIslePos2 ld a,4 ld (is.Times+1),a ; reset Isle's times ret ; to 4 ;----------------------------------------------------------------------------- ; DrawIslePos ;----------------------------------------------------------------------------- ORG 33980 DrawIslePos: ld (ImagePos),hl call DrawIsle ; DrawIsle ret ;----------------------------------------------------------------------------- ; DrawIslePos2 ;----------------------------------------------------------------------------- ORG 33990 DrawIslePos2: ld (ImagePos),hl call DrawIsle2 ; DrawIsle2 ret ;----------------------------------------------------------------------------- ; Room 1 ;----------------------------------------------------------------------------- ORG 34000 prg.Room.1: call DrawBottom call DrawTop2 call DrawLeft ld hl,x1806 call DrawThickIsle4 ld hl,x0506 call DrawPicture1 ld hl,x0e0a call DrawFlower1 ld hl,x170e call DrawWardrobe1 ld hl,x0412 call DrawBeltLeft4 ret ;----------------------------------------------------------------------------- ; Room 2 ;----------------------------------------------------------------------------- ORG 34050 prg.Room.2: call DrawTop call DrawBottom ld a,x06 call DrawHorizWall ld hl,x1208 call DrawLamp1 ld hl,x060e call DrawFlower2 ret ld hl,x1806 call DrawIslePos ld hl,x1207 call DrawLamp1 ld hl,x060e call DrawFlower2 ret ;----------------------------------------------------------------------------- ; Room 3 ;----------------------------------------------------------------------------- ORG 34100 prg.Room.3: call DrawBottom call DrawTop2 ld a,6 call DrawHorizWall ld a,8 ld (x8337),a ld a,5 ld (x8341),a ld a,12 call DrawVertWall ld a,10 ld (x8341),a ld a,0 ld (x8337),a ld hl,x120e call DrawBooks ld hl,x060d call DrawHiFi ret ;----------------------------------------------------------------------------- ; Room 4 ;----------------------------------------------------------------------------- ORG 34150 prg.Room.4: call DrawTop call DrawBottom ld hl,x0006 call DrawThickIsle4 ld hl,x0c0a call DrawPicture3 ld hl,x150e call DrawWardrobe2 ret ;----------------------------------------------------------------------------- ; Room 5 ;----------------------------------------------------------------------------- ORG 34200 prg.Room.5: call DrawTop call DrawBottom ld hl,x0a0d call DrawThickIsle4 ld hl,x0c02 call DrawFlower3 ld hl,x050e call DrawWardrobe2 ld hl,x140e call DrawTable1 ret ;----------------------------------------------------------------------------- ; Room 6 ;----------------------------------------------------------------------------- ORG 34250 prg.Room.6: call DrawTop call DrawBottom ld hl,x100e call DrawIslePos call DrawIsle ld hl,x1202 call DrawLamp1 ld hl,x0b0e call DrawFlower2 ld hl,x0406 call DrawPicture3 ret ;----------------------------------------------------------------------------- ; Room 7 ;----------------------------------------------------------------------------- ORG 34300 prg.Room.7: call DrawTop call DrawBottom ld hl,x000e call DrawIslePos ld hl,x0602 call DrawLamp1 ld hl,x1402 call DrawLamp1 ld hl,x080e call DrawWardrobe1 ld a,x07 ld (x8341),a call DrawRight ld a,x0a ld (x8341),a ret ;----------------------------------------------------------------------------- ; Room 8 ;----------------------------------------------------------------------------- ORG 34350 prg.Room.8: call DrawBottom call DrawTop2 ld a,x0c call DrawHorizWall ld a,x06 ld (x8341),a call DrawLeft call DrawRight ld a,x0a ld (x8341),a ld hl,x0206 call DrawIslePos ld hl,x0e08 call DrawTable1 ld hl,x1904 call DrawPicture3 ret ;----------------------------------------------------------------------------- ; Room 9 ;----------------------------------------------------------------------------- ORG 34400 prg.Room.9: call DrawTop call DrawBottom ld a,x07 ld (x8341),a call DrawLeft ld a,x0a ld (x8341),a ld hl,x1806 call DrawIslePos ld hl,x0e02 call DrawFlower3 ld hl,x070a call DrawTV1 ld hl,x100e call DrawBooks ret ;----------------------------------------------------------------------------- ; Room 10 ;----------------------------------------------------------------------------- ORG 34450 prg.Room.10: call DrawBottom call DrawTop2 call DrawRight ld hl,x0006 call DrawIslePos ld hl,x1404 call DrawPicture3 ld hl,x0c0a call DrawPicture2 ld hl,x150e call DrawFlower2 ret ;----------------------------------------------------------------------------- ; Room 11 ;----------------------------------------------------------------------------- ORG 34500 prg.Room.11: call DrawLeft call DrawRight ld hl,x1600 call DrawIslePos ld hl,x1601 call DrawIslePos2 ld hl,x020c call DrawIslePos ld hl,x1406 call DrawIslePos ld hl,x0e08 call DrawPicture3 ld hl,x0e10 call DrawPicture2 ld hl,x0204 call DrawCandle1 ret ;----------------------------------------------------------------------------- ; Room 12 ;----------------------------------------------------------------------------- ORG 34550 prg.Room.12: call DrawBottom call DrawTop2 call DrawLeft ld hl,x1206 call DrawThickIsle1 ld hl,x0208 call DrawCandle1 ld hl,x090a call DrawPicture3 ld hl,x110e call DrawTable1 ld hl,x180d call DrawThickIsle4 ld hl,x1612 call DrawBeltRight4 ret ;----------------------------------------------------------------------------- ; Room 13 ;----------------------------------------------------------------------------- ORG 34600 prg.Room.13: call DrawTop2 call DrawBottom2 ld hl,x1106 call DrawPicture3 ld hl,x080a call DrawBooks ld hl,x000d call DrawThickIsle2 ret ;----------------------------------------------------------------------------- ; Room 14 ;----------------------------------------------------------------------------- ORG 34650 prg.Room.14: call DrawTop call DrawBottom call DrawRight ld hl,x060b ld (ImagePos),hl ld hl,x0714 ld (ImageSize),hl ld hl,xc800 ld (ImageData),hl call DrawImage ret ;----------------------------------------------------------------------------- ; Room 15 ;----------------------------------------------------------------------------- ORG 34700 prg.Room.15: call DrawTop call DrawBottom call DrawLeft ld hl,x120a call DrawFlower2 ld hl,x050e call DrawWardrobe2 ld hl,x0802 call DrawLamp1 ld hl,x1502 call DrawLamp1 ld hl,x0a0f call DrawDisk ret ;----------------------------------------------------------------------------- ; Room 16 ;----------------------------------------------------------------------------- ORG 34750 prg.Room.16: call DrawTop call DrawBottom ld hl,x0806 call DrawPicture3 ld hl,x060e call DrawBed ld hl,x150e call DrawTable1 ld hl,x1202 call DrawFlower3 ret ;----------------------------------------------------------------------------- ; Room 17 ;----------------------------------------------------------------------------- ORG 34800 prg.Room.17: call DrawBottom call DrawTop2 ld a,x10 call DrawVertWall ld hl,x0606 call DrawThickIsle1 ld hl,x1206 call DrawThickIsle2 ld hl,x0b0a call DrawPicture1 ld hl,x020e call DrawTV1 ld hl,x1a0a call DrawPicture2 ret ;----------------------------------------------------------------------------- ; Room 18 ;----------------------------------------------------------------------------- ORG 34850 prg.Room.18: call DrawTop call DrawBottom2 call DrawRight ld hl,x000a call DrawThickIsle2 ld hl,x0e12 call DrawThickIsle4 ld hl,x110e call DrawBooks ld hl,x080a call DrawPicture3 ld hl,x1402 call DrawLamp1 ret ;----------------------------------------------------------------------------- ; Room 19 ;----------------------------------------------------------------------------- ORG 34900 prg.Room.19: call DrawBottom call DrawLeft call DrawRight ld hl,x040a call DrawThickIsle4 ld hl,x180a call DrawThickIsle1 ld hl,x0f06 call DrawPicture2 ld hl,x0e0e call DrawWardrobe2 ld hl,x0207 call DrawDisk ret ;----------------------------------------------------------------------------- ; Room 20 ;----------------------------------------------------------------------------- ORG 34950 prg.Room.20: call DrawLeft call DrawRight ld hl,x0d06 call DrawIslePos ld hl,x160e call DrawIslePos ld hl,x160f call DrawIslePos2 ld hl,x0208 call DrawFlower1 ld hl,x190a call DrawTable1 ld hl,x0c10 call DrawPicture1 ret ;----------------------------------------------------------------------------- ; Room 21 ;----------------------------------------------------------------------------- ORG 35000 prg.Room.21: call DrawTop2 call DrawLeft ld a,x16 call DrawVertWall ld hl,x1812 call DrawThickIsle4 ld hl,x0c10 call DrawThickIsle2 ld hl,x1406 call DrawThickIsle4 ld hl,x140c call DrawThickIsle4 ld hl,x0305 call DrawFlower2 ld hl,x0b08 call DrawTV1 ret ;----------------------------------------------------------------------------- ; Room 22 ;----------------------------------------------------------------------------- ORG 35050 prg.Room.22: call DrawTop call DrawBottom2 call DrawRight ld hl,x060e call DrawIslePos ld hl,x120e call DrawThickIsle1 ld hl,x1812 call DrawThickIsle1 ld hl,x1406 call DrawPicture1 ld hl,x090a call DrawTable1 ret ;----------------------------------------------------------------------------- ; Room 23 ;----------------------------------------------------------------------------- ORG 35100 prg.Room.23: call DrawTop call DrawBottom2 call DrawLeft ld hl,x0c02 call DrawLamp1 ld hl,x1a08 call DrawFlower1 ld hl,x0e0c call DrawThickIsle4 ld hl,x0810 call DrawThickIsle1 ret ;----------------------------------------------------------------------------- ; Room 24 ;----------------------------------------------------------------------------- ORG 35150 prg.Room.24: call DrawTop call DrawBottom ld hl,x090b call DrawThickIsle1 ld hl,x0008 call DrawPicture2 ld hl,x0f0e call DrawFlower2 ld hl,x1602 call DrawFlower3 ret ;----------------------------------------------------------------------------- ; Room 25 ;----------------------------------------------------------------------------- ORG 35200 prg.Room.25: call DrawTop call DrawBottom ld hl,x0b0d call DrawThickIsle4 ld hl,x130d call DrawThickIsle2 ld hl,x170e call DrawWardrobe1 ld hl,x040e call DrawTable1 ld hl,x0a02 call DrawLamp1 ret ;----------------------------------------------------------------------------- ; Room 26 ;----------------------------------------------------------------------------- ORG 35250 prg.Room.26: call DrawTop call DrawBottom ld hl,x0f08 call DrawPicture1 ld hl,x160e call DrawWardrobe2 ld hl,x0c0e call DrawBed ld hl,x060e call DrawBed ld hl,x0902 call DrawFlower3 ret ;----------------------------------------------------------------------------- ; Room 27 ;----------------------------------------------------------------------------- ORG 35300 prg.Room.27: call DrawTop call DrawBottom2 call DrawRight ld hl,x160e call DrawFlower2 ld hl,x0e0a call DrawFlower1 ld hl,x060e call DrawThickIsle2 ld hl,x1012 call DrawThickIsle1 ld hl,x1302 call DrawLamp1 ret ;----------------------------------------------------------------------------- ; Room 28 ;----------------------------------------------------------------------------- ORG 35350 prg.Room.28: call DrawBottom call DrawTop2 call DrawLeft ld hl,x0e0a call DrawThickIsle1 ld hl,x0506 call DrawPicture3 ld hl,x140e call DrawTable1 ret ;----------------------------------------------------------------------------- ; Room 29 ;----------------------------------------------------------------------------- ORG 35400 prg.Room.29: call DrawTop2 call DrawBottom2 call DrawRight ld hl,x180a call DrawThickIsle4 ld hl,x120e call DrawThickIsle1 ld hl,x1812 call DrawThickIsle1 ld hl,x0f06 call DrawFlower2 ld hl,x060a call DrawPicture2 ret ;----------------------------------------------------------------------------- ; Room 30 ;----------------------------------------------------------------------------- ORG 35450 prg.Room.30: call DrawLeft call DrawRight ld hl,x0b0c call DrawIslePos call DrawIsle ld hl,x0b06 call DrawIslePos ld hl,x1608 call DrawWardrobe2 ld hl,x0210 call DrawBooks ret ;----------------------------------------------------------------------------- ; Room 31 ;----------------------------------------------------------------------------- ORG 35500 prg.Room.31: call DrawLeft call DrawRight ld hl,x1612 call DrawThickIsle1 ld hl,x1c0e call DrawThickIsle1 ld hl,x020a call DrawIslePos ld hl,x0b06 call DrawPicture3 ld hl,x130a call DrawBooks ret ;----------------------------------------------------------------------------- ; Room 32 ;----------------------------------------------------------------------------- ORG 35550 prg.Room.32: call DrawBottom call DrawTop2 call DrawLeft ld hl,x1b06 call DrawFlower1 ld hl,x120a call DrawPicture2 ld hl,x0406 call DrawPicture1 ld hl,x020e call DrawTable1 ret ;----------------------------------------------------------------------------- ; Room 33 ;----------------------------------------------------------------------------- ORG 35600 prg.Room.33: call DrawTop call DrawBottom ld hl,x0006 call DrawThickIsle2 ld hl,x1806 call DrawThickIsle1 ld hl,x0808 call DrawThickIsle1 ld hl,x1e0a call DrawThickIsle1 ld hl,x0e0c call DrawThickIsle1 ld hl,x160e call DrawBed ret ;----------------------------------------------------------------------------- ; Room 34 ;----------------------------------------------------------------------------- ORG 35650 prg.Room.34: call DrawTop call DrawBottom ld a,x0a call DrawHorizWall ld hl,x0902 call DrawLamp2 ld hl,x1206 call DrawFlower1 ld hl,x0410 call DrawThickIsle4 ld hl,x0d0e call DrawBed ret ;----------------------------------------------------------------------------- ; Room 35 ;----------------------------------------------------------------------------- ORG 35700 prg.Room.35: call DrawTop call DrawBottom ld hl,x000a call DrawThickIsle4 ld hl,x080a call DrawIslePos ld hl,x100a call DrawThickIsle1 ld hl,x180a call DrawThickIsle4 ld hl,x1202 call DrawLamp2 ld hl,x100e call DrawBed ld hl,x0a0e call DrawBed ret ;----------------------------------------------------------------------------- ; Room 36 ;----------------------------------------------------------------------------- ORG 35750 prg.Room.36: call DrawTop call DrawBottom ld a,x0a call DrawHorizWall ld hl,x1402 call DrawLamp2 ld hl,x0806 call DrawTable2 ld hl,x120e call DrawBed ret ;----------------------------------------------------------------------------- ; Room 37 ;----------------------------------------------------------------------------- ORG 35800 prg.Room.37: call DrawBottom call DrawTop2 call DrawRight ld hl,x000a call DrawThickIsle1 ld hl,x1006 call DrawPicture3 ld hl,x070a call DrawTV2 ld hl,x100e call DrawWardrobe1 ret ;----------------------------------------------------------------------------- ; Room 38 ;----------------------------------------------------------------------------- ORG 35850 prg.Room.38: call DrawLeft call DrawRight ld hl,x0200 call DrawThickIsle4 ld hl,x0800 call DrawThickIsle4 ld hl,x180c call DrawThickIsle4 ld hl,x1c0a call DrawThickIsle1 ld hl,x1606 call DrawThickIsle1 ld hl,x0602 call DrawFlower3 ld hl,x0f10 call DrawTV1 ret ;----------------------------------------------------------------------------- ; Room 39 ;----------------------------------------------------------------------------- ORG 35900 prg.Room.39: call DrawTop2 call DrawBottom2 call DrawLeft ld hl,x0806 call DrawIslePos ld hl,x1812 call DrawThickIsle4 ld hl,x0e0e call DrawThickIsle4 ld hl,x020a call DrawThickIsle1 ld hl,x180a call DrawPicture1 ld hl,x080c call DrawFlower1 ret ;----------------------------------------------------------------------------- ; Room 40 ;----------------------------------------------------------------------------- ORG 35950 prg.Room.40: call DrawTop call DrawBottom2 call DrawRight ld hl,x060e call DrawIslePos ld hl,x0c02 call DrawLamp1 ld hl,x100c call DrawPicture3 ld hl,x1910 call DrawFlower2 ret ;----------------------------------------------------------------------------- ; Room 41 ;----------------------------------------------------------------------------- ORG 36000 prg.Room.41: call DrawLeft call DrawRight ld hl,x0210 call DrawThickIsle1 ld hl,x1806 call DrawThickIsle4 ld hl,x1008 call DrawFlower1 ld hl,x0204 call DrawFlower2 ld hl,x080c call DrawPicture1 ld hl,x190c call DrawCandle2 ret ;----------------------------------------------------------------------------- ; Room 42 ;----------------------------------------------------------------------------- ORG 36050 prg.Room.42: call DrawTop call DrawBottom2 call DrawLeft ld hl,x0e02 call DrawLamp1 ld hl,x0208 call DrawCandle1 ld hl,x090c call DrawPicture3 ld hl,x1210 call DrawFlower2 ret ;----------------------------------------------------------------------------- ; Room 43 ;----------------------------------------------------------------------------- ORG 36100 prg.Room.43: call DrawTop call DrawBottom call DrawRight ld hl,x0e02 call DrawLamp2 ld hl,x0806 call DrawFlower2 ld hl,x190a call DrawPicture1 ld hl,x060e call DrawBooks ld hl,x100e call DrawTable2 ld hl,x150f call DrawDisk ret ;----------------------------------------------------------------------------- ; Room 44 ;----------------------------------------------------------------------------- ORG 36150 prg.Room.44: call DrawBottom call DrawTop2 call DrawLeft ld hl,x1306 call DrawFlower2 ld hl,x0a0a call DrawPicture1 ld hl,x020e call DrawThickIsle2 ld hl,x0812 call DrawBeltRight8 ld hl,x0204 call DrawCandle1 ret ;----------------------------------------------------------------------------- ; Room 45 ;----------------------------------------------------------------------------- ORG 36200 prg.Room.45: call DrawTop call DrawBottom ld hl,x0602 call DrawLamp1 ld hl,x1502 call DrawLamp1 ld hl,x0d0a call DrawPicture2 ld hl,x160e call DrawWardrobe1 ld hl,x040e call DrawTable2 ret ;----------------------------------------------------------------------------- ; Room 46 ;----------------------------------------------------------------------------- ORG 36250 prg.Room.46: call DrawTop2 call DrawBottom call DrawRight ld hl,x1906 call DrawPicture1 ld hl,x130a call DrawThickIsle1 ld hl,x190e call DrawTable1 ld hl,x040e call DrawWardrobe2 call DrawLiftUp ret ;----------------------------------------------------------------------------- ; Room 47 ;----------------------------------------------------------------------------- ORG 36300 prg.Room.47: call DrawTop call DrawBottom2 call DrawLeft ld hl,x0802 call DrawLamp2 ld hl,x1502 call DrawLamp2 ld hl,x020a call DrawThickIsle4 ld hl,x0e0a call DrawPicture2 ld hl,x1910 call DrawFlower1 ld hl,x020e call DrawCandle1 ret ;----------------------------------------------------------------------------- ; Room 48 ;----------------------------------------------------------------------------- ORG 36350 prg.Room.48: call DrawTop2 call DrawRight ld hl,x0012 call DrawThickIsle4 ld hl,x0812 call DrawThickIsle4 ld hl,x1606 call DrawPicture1 ld hl,x0d0a call DrawFlower2 ld hl,x040e call DrawTable2 ld hl,x190e call DrawCandle2 ret ;----------------------------------------------------------------------------- ; Room 49 ;----------------------------------------------------------------------------- ORG 36400 prg.Room.49: call DrawTop call DrawBottom2 call DrawLeft ld hl,x0b0e call DrawThickIsle2 ld hl,x180e call DrawThickIsle4 ld hl,x0e02 call DrawLamp1 ld hl,x020a call DrawFlower2 ld hl,x1310 call DrawPicture2 ret ;----------------------------------------------------------------------------- ; Room 50 ;----------------------------------------------------------------------------- ORG 36450 prg.Room.50: call DrawBottom call DrawTop2 call DrawRight ld hl,x1206 call DrawPicture3 ld hl,x090a call DrawBooks ld hl,x000e call DrawWardrobe2 ld hl,x140e call DrawBed ld hl,x190a call DrawCandle2 ret ;----------------------------------------------------------------------------- ; Room 51 ;----------------------------------------------------------------------------- ORG 36500 prg.Room.51: call DrawTop call DrawLeft call DrawRight ld hl,x180c call DrawThickIsle4 ld hl,x0802 call DrawFlower3 ld hl,x0f10 call DrawTV1 ld hl,x040a call DrawPicture2 ld hl,x1e08 prg.Room.51.C: ld (ImagePos),hl ld hl,x0402 ld (ImageSize),hl call ClearImage ret ;----------------------------------------------------------------------------- ; Room 52 ;----------------------------------------------------------------------------- ORG 36550 prg.Room.52: call DrawTop call DrawBottom call DrawLeft call DrawRight ld hl,x0008 call x8eb8 ld hl,x1e08 call x8eb8 ld a,x10 call DrawHorizWall ld hl,x0602 call DrawLamp1 ld hl,x1502 call DrawLamp1 ld hl,x120c call DrawWardrobe2 ret ;----------------------------------------------------------------------------- ; Room 53 ;----------------------------------------------------------------------------- ORG 36600 prg.Room.53: call DrawBottom call DrawLeft call DrawRight ld hl,x0008 call x8eb8 ld hl,x190e call DrawTable1 ld hl,x0210 call DrawThickIsle1 ld hl,x110a call DrawThickIsle2 ld hl,x0806 call DrawBooks ld hl,x1904 call DrawCandle2 ret ;----------------------------------------------------------------------------- ; Room 54 ;----------------------------------------------------------------------------- ORG 36650 prg.Room.54: call DrawTop call DrawBottom2 call DrawLeft ld hl,x0602 call DrawLamp2 ld hl,x1502 call DrawLamp2 ld hl,x180c call DrawThickIsle4 ld hl,x130c call DrawFlower1 ld hl,x0a10 call DrawWardrobe1 ld hl,x0208 call DrawCandle1 ret ;----------------------------------------------------------------------------- ; Room 55 ;----------------------------------------------------------------------------- ORG 36700 prg.Room.55: call DrawBottom call DrawTop2 call DrawRight ld hl,x0c06 call DrawFlower2 ld hl,x040a call DrawThickIsle2 ld hl,x000c call DrawThickIsle2 ld hl,x140e call DrawTable1 ld hl,x0212 call DrawBeltRight8 ld hl,x1904 call DrawCandle2 ret ;----------------------------------------------------------------------------- ; Room 56 ;----------------------------------------------------------------------------- ORG 36750 prg.Room.56: call DrawTop2 call DrawBottom2 call DrawLeft ld hl,x1906 call DrawFlower2 ld hl,x020a call DrawPicture3 ld hl,x160e call DrawThickIsle2 ld hl,x0204 call DrawCandle1 ret ;----------------------------------------------------------------------------- ; Room 57 ;----------------------------------------------------------------------------- ORG 36800 prg.Room.57: call DrawTop call DrawBottom ld hl,x0602 call DrawLamp2 ld hl,x1502 call DrawLamp2 ld hl,x0608 call DrawPicture2 ld hl,x120c call DrawThickIsle2 ld hl,x090e call DrawBed ret ;----------------------------------------------------------------------------- ; Room 58 ;----------------------------------------------------------------------------- ORG 36850 prg.Room.58: call DrawTop call DrawBottom2 ld hl,x0602 call DrawLamp2 ld hl,x1502 call DrawLamp2 ld hl,x0212 call DrawThickIsle4 ld hl,x160c call DrawThickIsle4 ld hl,x0d10 call DrawFlower1 ret ;----------------------------------------------------------------------------- ; Room 59 ;----------------------------------------------------------------------------- ORG 36900 prg.Room.59: call DrawTop call DrawBottom call DrawRight ld hl,x0a02 call DrawFlower3 ld hl,x0e08 ld (ImagePos),hl ld hl,x050d ld (ImageSize),hl ld hl,xaf3c ld (ImageData),hl call DrawImage ld hl,x060e call DrawBooks ret ;----------------------------------------------------------------------------- ; Room 60 ;----------------------------------------------------------------------------- ORG 36950 prg.Room.60: call DrawLeft call DrawRight ld hl,x1806 call DrawPicture1 ld hl,x0f0a call DrawThickIsle2 ld hl,x060e call DrawWardrobe1 ld hl,x0612 call DrawThickIsle4 ld hl,x0204 call DrawCandle1 ret ;----------------------------------------------------------------------------- ; Room 61 ;----------------------------------------------------------------------------- ORG 37000 prg.Room.61: call DrawBottom call DrawTop2 call DrawLeft ld hl,x0206 call DrawThickIsle2 ld hl,x1406 call DrawFlower1 ld hl,x090a call DrawPicture3 ld hl,x120e call DrawWardrobe1 ret ;----------------------------------------------------------------------------- ; Room 62 ;----------------------------------------------------------------------------- ORG 37050 prg.Room.62: call DrawBottom call DrawTop2 call DrawRight ld hl,x1600 call DrawThickIsle4 ld hl,x0a06 call DrawThickIsle1 ld hl,x100a call DrawPicture1 ld hl,x070e call DrawBooks ld hl,x1908 call DrawCandle2 ret ;----------------------------------------------------------------------------- ; Room 63 ;----------------------------------------------------------------------------- ORG 37100 prg.Room.63: call DrawTop call DrawBottom2 call DrawLeft ld hl,x0802 call DrawLamp1 ld hl,x1a0c call DrawPicture2 ld hl,x040a call DrawFlower2 ld hl,x1110 call DrawThickIsle2 ret ;----------------------------------------------------------------------------- ; Room 64 ;----------------------------------------------------------------------------- ORG 37150 prg.Room.64: call DrawBottom call DrawTop2 call DrawRight ld hl,x090a call DrawThickIsle2 ld hl,x120e call DrawThickIsle4 ld hl,x000c call DrawFlower1 ld hl,x1206 call DrawPicture1 ld hl,x1908 call DrawCandle2 ret ;----------------------------------------------------------------------------- ; Room 65 ;----------------------------------------------------------------------------- ORG 37200 prg.Room.65: call DrawLeft call DrawRight ld hl,x0206 call DrawPicture3 ld hl,x0b0a call DrawThickIsle2 ld hl,x0f0c call DrawThickIsle1 ld hl,x1510 call DrawTV1 ld hl,x020e call DrawBeltRight3 ld hl,x1908 call DrawCandle2 ret ;----------------------------------------------------------------------------- ; Room 66 ;----------------------------------------------------------------------------- ORG 37250 prg.Room.66: call DrawLeft call DrawRight ld hl,x0206 call DrawThickIsle2 ld hl,x190a call DrawPicture1 ld hl,x020e call DrawFlower1 ld hl,x1904 call DrawCandle2 ret ;----------------------------------------------------------------------------- ; Room 67 ;----------------------------------------------------------------------------- ORG 37300 prg.Room.67: call DrawBottom call DrawTop2 call DrawLeft ld hl,x0206 call DrawThickIsle2 ld hl,x1406 call DrawTV1 ld hl,x0b0a call DrawPicture1 ld hl,x020e call DrawTable1 ret ;----------------------------------------------------------------------------- ; Room 68 ;----------------------------------------------------------------------------- ORG 37350 prg.Room.68: call DrawTop call DrawBottom ld hl,x0802 call DrawLamp1 ld hl,x1608 call DrawPicture2 ld hl,x060e call DrawFlower1 ld hl,x0e0e call DrawBed ret ;----------------------------------------------------------------------------- ; Room 69 ;----------------------------------------------------------------------------- ORG 37400 prg.Room.69: call DrawTop call DrawBottom ld hl,x0a02 call DrawFlower3 ld hl,x160a call DrawPicture3 ld hl,x0e0e call DrawTable1 ld hl,x040e call DrawFlower2 ret ;----------------------------------------------------------------------------- ; Room 70 ;----------------------------------------------------------------------------- ORG 37450 prg.Room.70: call DrawTop call DrawBottom2 call DrawRight ld hl,x1202 call DrawLamp1 ld hl,x190a call DrawFlower2 ld hl,x0a06 call DrawTV1 ld hl,x040e call DrawFlower1 ld hl,x0c12 call DrawThickIsle4 ret ;----------------------------------------------------------------------------- ; Room 71 ;----------------------------------------------------------------------------- ORG 37500 prg.Room.71: call DrawLeft call DrawRight ld hl,x1006 call DrawPicture2 ld hl,x190a call DrawTV1 ld hl,x130e call DrawThickIsle1 ld hl,x0a10 call DrawFlower2 ld hl,x0208 call DrawCandle1 ret ;----------------------------------------------------------------------------- ; Room 72 ;----------------------------------------------------------------------------- ORG 37550 prg.Room.72: call DrawTop call DrawBottom2 call DrawLeft ld hl,x0a02 call DrawLamp1 ld hl,x1612 call DrawThickIsle4 ld hl,x1012 call DrawThickIsle1 ld hl,x0d0a call DrawPicture2 ld hl,x160e call DrawTable1 ld hl,x0208 call DrawCandle1 ret ;----------------------------------------------------------------------------- ; Room 73 ;----------------------------------------------------------------------------- ORG 37600 prg.Room.73: call DrawTop call DrawBottom ld hl,x0602 call DrawLamp1 ld hl,x1502 call DrawLamp1 ld hl,x0a08 call DrawFlower1 ld hl,x0e0e call DrawBed ld hl,x140e call DrawBed ret ;----------------------------------------------------------------------------- ; Room 74 ;----------------------------------------------------------------------------- ORG 37650 prg.Room.74: call DrawTop call DrawBottom2 call DrawRight ld hl,x0e02 call DrawFlower3 ld hl,x0512 call DrawThickIsle4 ld hl,x190a call DrawFlower2 ld hl,x0406 call DrawPicture3 ret ;----------------------------------------------------------------------------- ; Room 75 ;----------------------------------------------------------------------------- ORG 37700 prg.Room.75: call DrawLeft call DrawRight ld hl,x0806 call DrawThickIsle2 ld hl,x0c08 call DrawThickIsle2 ld hl,x140c call DrawFlower1 ld hl,x0b10 call DrawWardrobe2 ld hl,x0c08 call DrawBeltRight2 ld hl,x1904 call DrawCandle2 ret ;----------------------------------------------------------------------------- ; Room 76 ;----------------------------------------------------------------------------- ORG 37750 prg.Room.76: call DrawLeft call DrawRight ld hl,x1a06 call DrawThickIsle2 ld hl,x020a call DrawPicture2 ld hl,x190e call DrawTV2 ld hl,x0204 call DrawCandle1 ret ;----------------------------------------------------------------------------- ; Room 77 ;----------------------------------------------------------------------------- ORG 37800 prg.Room.77: call DrawLeft call DrawRight ld hl,x0b0a call DrawThickIsle2 ld hl,x1406 call DrawPicture3 ld hl,x020c call DrawPicture2 ld hl,x0b10 call DrawFlower1 ld hl,x0204 call DrawCandle1 ret ;----------------------------------------------------------------------------- ; Room 78 ;----------------------------------------------------------------------------- ORG 37850 prg.Room.78: call DrawBottom call DrawTop2 call DrawLeft ld hl,x0206 call DrawPicture1 ld hl,x0d06 call DrawFlower1 ld hl,x160a call DrawPicture2 ld hl,x0d0e call DrawTable2 ret ;----------------------------------------------------------------------------- ; Room 79 ;----------------------------------------------------------------------------- ORG 37900 prg.Room.79: call DrawTop call DrawBottom ld hl,x0602 call DrawLamp2 ld hl,x1502 call DrawLamp2 ld hl,x1b0a call DrawTV1 ld hl,x120e call DrawFlower1 ld hl,x040e call DrawBooks ld hl,x0c0a call DrawThickIsle1 ret ;----------------------------------------------------------------------------- ; Room 80 ;----------------------------------------------------------------------------- ORG 37950 prg.Room.80: call DrawBottom call DrawTop2 ld hl,x1606 call DrawThickIsle4 ld hl,x0906 call DrawFlower2 ld hl,x000a call DrawPicture1 ld hl,x050e call DrawTable2 call DrawRight ld hl,x190a call DrawCandle2 ret ;----------------------------------------------------------------------------- ; Room 81 ;----------------------------------------------------------------------------- ORG 38000 prg.Room.81: call DrawLeft call DrawRight ld hl,x0906 call DrawPicture1 ld hl,x120a call DrawThickIsle4 ld hl,x100c call DrawThickIsle1 ld hl,x0710 call DrawFlower1 ld hl,x1904 call DrawCandle2 ret ;----------------------------------------------------------------------------- ; Room 82 ;----------------------------------------------------------------------------- ORG 38050 prg.Room.82: call DrawTop call DrawBottom call DrawLeft ld hl,x0602 call DrawLamp2 ld hl,x1502 call DrawLamp2 ld hl,x1a12 call DrawBeltRight2 ld hl,x030c ld (ImagePos),hl ld hl,x060f ld (ImageSize),hl ld hl,xcd58 ld (ImageData),hl call DrawImage ret ;----------------------------------------------------------------------------- ; Room 83 ;----------------------------------------------------------------------------- ORG 38100 prg.Room.83: call DrawBottom call DrawTop2 ld hl,x0306 call DrawPicture2 ld hl,x0c09 call DrawBeltLeft2 ld hl,x100a call DrawBeltRight2 ld hl,x180e call DrawThickIsle2 ld hl,x180e call DrawBeltLeft2 ld hl,x0a0e call DrawBed ret ld c,x18 call DrawBeltLeft2 ret ;----------------------------------------------------------------------------- ; Room 84 ;----------------------------------------------------------------------------- ORG 38150 prg.Room.84: call DrawTop call DrawBottom ld hl,x0602 call DrawLamp1 ld hl,x1502 call DrawLamp1 ld hl,x0e06 call DrawPicture1 ld hl,x140e call DrawWardrobe1 ld hl,x0a0e call DrawTable2 ret ;----------------------------------------------------------------------------- ; Room 85 ;----------------------------------------------------------------------------- ORG 38200 prg.Room.85: call DrawTop call DrawBottom2 call DrawRight ld hl,x0e02 call DrawFlower3 ld hl,x040c call DrawThickIsle4 ld hl,x190c call DrawPicture2 ld hl,x1010 call DrawFlower1 ret ;----------------------------------------------------------------------------- ; Room 86 ;----------------------------------------------------------------------------- ORG 38250 prg.Room.86: call DrawLeft call DrawRight ld hl,x0206 call DrawFlower1 ld hl,x190a call DrawFlower2 ld hl,x020e call DrawFlower2 ld hl,x1904 call DrawCandle2 ret ;----------------------------------------------------------------------------- ; Room 87 ;----------------------------------------------------------------------------- ORG 38300 prg.Room.87: call DrawLeft call DrawRight ld hl,x1006 call DrawBooks ld hl,x0204 call DrawPicture1 ld hl,x0a0a call DrawThickIsle1 ld hl,x020c call DrawThickIsle2 ld hl,x0810 call DrawThickIsle4 ld hl,x190a call DrawCandle2 ret ;----------------------------------------------------------------------------- ; Room 88 ;----------------------------------------------------------------------------- ORG 38350 prg.Room.88: call DrawTop call DrawBottom2 call DrawLeft ld hl,x0602 call DrawLamp1 ld hl,x1502 call DrawLamp1 ld hl,x020a call DrawThickIsle4 ld hl,x0d0e call DrawPicture3 ld hl,x1612 call DrawThickIsle4 ret ;----------------------------------------------------------------------------- ; Room 89 ;----------------------------------------------------------------------------- ORG 38400 prg.Room.89: call DrawBottom call DrawTop2 call DrawRight ld hl,x0206 call DrawPicture1 ld hl,x0b0a call DrawThickIsle4 ld hl,x140e call DrawTable2 ld hl,x050e call DrawBed ld hl,x1908 call DrawCandle2 ret ;----------------------------------------------------------------------------- ; Room 90 ;----------------------------------------------------------------------------- ORG 38450 prg.Room.90: call DrawLeft call DrawRight ld hl,x0b06 call DrawPicture3 ld hl,x020a call DrawPicture2 ld hl,x190a call DrawFlower2 ld hl,x070e call DrawThickIsle4 ld hl,x1210 call DrawThickIsle1 ret ;----------------------------------------------------------------------------- ; Room 91 ;----------------------------------------------------------------------------- ORG 38500 prg.Room.91: call DrawTop2 call DrawBottom2 call DrawLeft ld hl,x1406 call DrawPicture1 ld hl,x0206 call DrawBooks ld hl,x020a call DrawThickIsle4 ld hl,x0a0c call DrawThickIsle2 ld hl,x1210 call DrawFlower2 ret ;----------------------------------------------------------------------------- ; Room 92 ;----------------------------------------------------------------------------- ORG 38550 prg.Room.92: call DrawBottom call DrawTop2 call DrawRight ld hl,x0200 call DrawThickIsle4 ld hl,x180a call DrawPicture3 ld hl,x0c06 call DrawThickIsle4 ld hl,x0e0e call DrawWardrobe1 ret ;----------------------------------------------------------------------------- ; Room 93 ;----------------------------------------------------------------------------- ORG 38600 prg.Room.93: call DrawLeft call DrawRight ld hl,x0a06 call DrawThickIsle2 ld hl,x1408 call DrawFlower2 ld hl,x040a call DrawThickIsle1 ld hl,x080c call DrawThickIsle1 ld hl,x120f call DrawBeltRight4 ld hl,x0e10 call DrawBeltLeft2 ret ;----------------------------------------------------------------------------- ; Room 94 ;----------------------------------------------------------------------------- ORG 38650 prg.Room.94: call DrawTop call DrawBottom call DrawLeft ld hl,x060b ld (ImagePos),hl ld hl,x0714 ld (ImageSize),hl ld hl,xc800 ld (ImageData),hl call DrawImage ret ;----------------------------------------------------------------------------- ; Room 95 ;----------------------------------------------------------------------------- ORG 38700 prg.Room.95: call DrawTop call DrawBottom ld hl,x0602 call DrawLamp2 ld hl,x1502 call DrawLamp2 ld hl,x020e call DrawBed ld hl,x0b0a call DrawFlower1 ld hl,x140e call DrawTable1 ret ;----------------------------------------------------------------------------- ; Room 96 ;----------------------------------------------------------------------------- ORG 38750 prg.Room.96: call DrawTop call DrawBottom2 call DrawRight ld hl,x0602 call DrawLamp1 ld hl,x1502 call DrawLamp1 ld hl,x190a call DrawPicture3 ld hl,x0210 call DrawBooks ld hl,x0712 call DrawThickIsle2 call DrawLiftDown call DrawLiftUp ret ;----------------------------------------------------------------------------- ; Room 97 ;----------------------------------------------------------------------------- ORG 38800 prg.Room.97: call DrawTop2 call DrawBottom2 call DrawLeft ld hl,x1806 call DrawPicture3 ld hl,x0206 call DrawFlower1 ld hl,x0b0a call DrawTV1 ld hl,x140e call DrawThickIsle1 ld hl,x1a12 call DrawThickIsle2 ld hl,x020e call DrawCandle1 ret ;----------------------------------------------------------------------------- ; Room 98 ;----------------------------------------------------------------------------- ORG 38850 prg.Room.98: call DrawTop call DrawBottom ld hl,x0602 call DrawLamp2 ld hl,x1502 call DrawLamp2 ld hl,x0806 call DrawFlower1 ld hl,x170a call DrawPicture1 ld hl,x040e call DrawTable2 ld hl,x0e0e call DrawTable2 ret ;----------------------------------------------------------------------------- ; Room 99 ;----------------------------------------------------------------------------- ORG 38900 prg.Room.99: call DrawTop call DrawBottom2 call DrawRight ld hl,x0602 call DrawLamp2 ld hl,x1502 call DrawLamp2 ld hl,x130a call DrawPicture2 ld hl,x0a0e call DrawBooks ld hl,x060e call DrawThickIsle2 ld hl,x1908 call DrawCandle2 ret ;----------------------------------------------------------------------------- ; Room 100 ;----------------------------------------------------------------------------- ORG 38950 prg.Room.100: call DrawLeft call DrawRight ld hl,x0e06 call DrawFlower1 ld hl,x050a call DrawTV1 ld hl,x0e0e call DrawThickIsle1 ld hl,x1410 call DrawBooks ld hl,x1908 call DrawCandle2 ret ;----------------------------------------------------------------------------- ; Room 101 ;----------------------------------------------------------------------------- ORG 39000 prg.Room.101: call DrawTop call DrawBottom2 call DrawLeft ld hl,x1202 call DrawFlower3 ld hl,x1c10 call DrawThickIsle1 ld hl,x140c call DrawFlower1 ld hl,x020a call DrawPicture3 ld hl,x0b10 call DrawTV1 ret ;----------------------------------------------------------------------------- ; Room 102 ;----------------------------------------------------------------------------- ORG 39050 prg.Room.102: call DrawTop call DrawBottom2 call DrawRight ld hl,x0c02 call DrawLamp1 ld hl,x0212 call DrawThickIsle4 ld hl,x170a call DrawFlower2 ld hl,x0e0e call DrawPicture2 ld hl,x1103 call DrawDisk ret ;----------------------------------------------------------------------------- ; Room 103 ;----------------------------------------------------------------------------- ORG 39100 prg.Room.103: call DrawLeft call DrawRight ld hl,x0206 call DrawPicture1 ld hl,x0a0a call DrawThickIsle4 ld hl,x0c0a call DrawBeltRight2 ld hl,x160e call DrawThickIsle1 ld hl,x1110 call DrawFlower1 ld hl,x1904 call DrawCandle2 ret ;----------------------------------------------------------------------------- ; Room 104 ;----------------------------------------------------------------------------- ORG 39150 prg.Room.104: call DrawBottom call DrawTop2 call DrawLeft ld hl,x1806 call DrawFlower1 ld hl,x0e06 call DrawPicture1 ld hl,x050a call DrawFlower2 ld hl,x0e0e call DrawThickIsle4 ld hl,x1a12 call DrawBeltLeft2 ret ;----------------------------------------------------------------------------- ; Room 105 ;----------------------------------------------------------------------------- ORG 39200 prg.Room.105: call DrawBottom call DrawTop2 call DrawRight ld hl,x0206 call DrawFlower2 ld hl,x1706 call DrawPicture3 ld hl,x0f0a call DrawThickIsle2 ld hl,x060e call DrawTable1 ld hl,x1412 call DrawBeltLeft2 ret ;----------------------------------------------------------------------------- ; Room 106 ;----------------------------------------------------------------------------- ORG 39250 prg.Room.106: call DrawTop call DrawBottom call DrawLeft ld hl,x0802 call DrawFlower3 ld hl,x1502 call DrawFlower3 ld hl,x1008 call DrawFlower2 ld hl,x020e call DrawFlower1 ld hl,x120e call DrawBed ld hl,x0208 call DrawCandle1 ret ;----------------------------------------------------------------------------- ; Room 107 ;----------------------------------------------------------------------------- ORG 39300 prg.Room.107: call DrawTop call DrawBottom2 call DrawRight ld hl,x0e02 call DrawFlower3 ld hl,x1c0a call DrawThickIsle1 ld hl,x040a call DrawFlower1 ld hl,x140e call DrawPicture2 ld hl,x0b10 call DrawWardrobe1 ret ;----------------------------------------------------------------------------- ; Room 108 ;----------------------------------------------------------------------------- ORG 39350 prg.Room.108: call DrawTop call DrawBottom call DrawLeft ld hl,x0e02 call DrawLamp2 ld hl,x1406 call DrawPicture3 ld hl,x0408 call DrawTV1 ld hl,x120e call DrawFlower1 ld hl,x0a0e call DrawBed ld hl,x020f call DrawDisk ret ;----------------------------------------------------------------------------- ; Room 109 ;----------------------------------------------------------------------------- ORG 39400 prg.Room.109: call DrawTop call DrawBottom ld hl,x0602 call DrawLamp2 ld hl,x1502 call DrawLamp2 ld hl,x1206 call DrawPicture3 ld hl,x020a call DrawPicture2 ld hl,x140e call DrawFlower2 ld hl,x0a0e call DrawTable2 ret ;----------------------------------------------------------------------------- ; Room 110 ;----------------------------------------------------------------------------- ORG 39450 prg.Room.110: call DrawTop call DrawBottom2 call DrawRight ld hl,x0e02 call DrawFlower3 ld hl,x050a call DrawPicture1 ld hl,x0e0e call DrawThickIsle4 ld hl,x0212 call DrawThickIsle4 ld hl,x1908 call DrawCandle2 ret ;----------------------------------------------------------------------------- ; Room 111 ;----------------------------------------------------------------------------- ORG 39500 prg.Room.111: call DrawTop call DrawBottom call DrawLeft ld hl,x0e02 call DrawFlower3 ld hl,x050a call DrawPicture3 ld hl,x0e0e call DrawThickIsle4 ld hl,x160e call DrawWardrobe1 ld hl,x0a12 call DrawBeltLeft2 ld hl,x020f call DrawDisk ret ;----------------------------------------------------------------------------- ; Room 112 ;----------------------------------------------------------------------------- ORG 39550 prg.Room.112: call DrawTop call DrawBottom ld hl,x0602 call DrawLamp2 ld hl,x1502 call DrawLamp2 ld hl,x060a call DrawFlower1 ld hl,x0b0a call DrawPicture2 ld hl,x140e call DrawWardrobe2 ld hl,x0612 call DrawBeltLeft2 ret ;----------------------------------------------------------------------------- ; Room 113 ;----------------------------------------------------------------------------- ORG 39600 prg.Room.113: call DrawTop call DrawBottom2 ld hl,x0602 call DrawLamp1 ld hl,x1502 call DrawLamp1 ld hl,x170a call DrawFlower2 ld hl,x0e0e call DrawBooks ld hl,x0b12 call DrawThickIsle4 ret ;----------------------------------------------------------------------------- ; Room 114 ;----------------------------------------------------------------------------- ORG 39650 prg.Room.114: call DrawTop call DrawBottom2 call DrawRight ld hl,x0e02 call DrawLamp2 ld hl,x190a call DrawWardrobe1 ld hl,x160e call DrawThickIsle4 ld hl,x0d0a call DrawPicture2 ld hl,x040e call DrawTable1 ld hl,x0212 call DrawThickIsle4 ret ;----------------------------------------------------------------------------- ; Room 115 ;----------------------------------------------------------------------------- ORG 39700 prg.Room.115: call DrawTop call DrawBottom2 call DrawLeft ld hl,x0e02 call DrawFlower3 ld hl,x1b0e call DrawThickIsle1 ld hl,x160a call DrawPicture1 ld hl,x0e0a call DrawThickIsle4 ld hl,x080c call DrawThickIsle1 ld hl,x0e10 call DrawFlower1 ret ;----------------------------------------------------------------------------- ; Room 116 ;----------------------------------------------------------------------------- ORG 39750 prg.Room.116: call DrawTop call DrawBottom ld hl,x0406 call DrawPicture1 ld hl,x1808 call DrawThickIsle4 ld hl,x1008 call DrawThickIsle4 ld hl,x0e0a call DrawThickIsle1 ld hl,x0c0c call DrawThickIsle1 ld hl,x050e call DrawTable1 ld hl,x140e call DrawBed ret ;----------------------------------------------------------------------------- ; Room 117 ;----------------------------------------------------------------------------- ORG 39800 prg.Room.117: call DrawTop call DrawBottom ld hl,x0008 call DrawThickIsle4 ld hl,x0c08 call DrawThickIsle4 ld hl,x0408 call DrawBeltRight2 ld hl,x0c08 call DrawBeltLeft2 ld hl,x1508 call DrawFlower2 ld hl,x1b08 call DrawFlower2 ld hl,x0e0e call DrawBooks ret ;----------------------------------------------------------------------------- ; Room 118 ;----------------------------------------------------------------------------- ORG 39850 prg.Room.118: call DrawTop call DrawBottom ld hl,x0008 call DrawThickIsle1 ld hl,x0808 call DrawThickIsle4 ld hl,x0808 call DrawBeltLeft2 ld hl,x1008 call DrawThickIsle4 ld hl,x1808 call DrawThickIsle4 ld hl,x140e call DrawWardrobe2 ld hl,x0c12 call DrawBeltRight3 ret ;----------------------------------------------------------------------------- ; Room 119 ;----------------------------------------------------------------------------- ORG 39900 prg.Room.119: call DrawTop call DrawBottom ld hl,x1202 call DrawLamp1 ld hl,x0008 call DrawThickIsle4 ld hl,x0408 call DrawBeltRight2 ld hl,x0a0a call DrawThickIsle1 ld hl,x160a call DrawFlower2 ld hl,x0a0e call DrawBooks ld hl,x1012 call DrawBeltRight3 ret ;----------------------------------------------------------------------------- ; Room 120 ;----------------------------------------------------------------------------- ORG 39950 prg.Room.120: call DrawBottom ld hl,x0000 call DrawThickIsle4 ld hl,x0202 call DrawLamp1 ld hl,x1109 ld (ImagePos),hl ld hl,x090f ld (ImageSize),hl ld hl,xd90d ld (ImageData),hl call DrawImage ret ;***************************************************************************** ; Man Variables ;***************************************************************************** ORG 39997 Falls: DEFB 0 ; number of falls ManY: DEFB 15 ; man y position ManX: DEFB 14 ; man x position ManPos EQU ManY ;------------------------------------------------------------------------------ ; DrawMan ;------------------------------------------------------------------------------ ORG 40000 DrawMan: ld hl,(ManPos) ; get man position ld (ImagePos),hl ld hl,x0302 ; height,width ld (ImageSize),hl ld a,x00 ; attribute for clear ld (ImageClrAttr),a call ClearImage ; clear man ld a,(ManX) nop dm.Dir: inc a ; new x position ld (ManX),a RedrawMan: ld hl,(ManPos) ; get man position ld (ImagePos),hl ld hl,x0302 ; height,width ld (ImageSize),hl ld a,(ManPhase) ; get man phase ld b,a dm.DataAddr: ld hl,img.ManLeft1-54 ; phase 1 address-size ld de,54 ; size dm.CalcAddr: add hl,de djnz dm.CalcAddr ; get current address ld (ImageData),hl call DrawImage ; draw man ret ;------------------------------------------------------------------------------ ; ClearMan ;------------------------------------------------------------------------------ ClearMan: ld hl,(ManPos) ; get man position ld (ImagePos),hl ld hl,x0302 ; height,width ld (ImageSize),hl ld a,x00 ; attribute for clear ld (ImageClrAttr),a call ClearImage ; clear man ret ;------------------------------------------------------------------------------ ; ClearEnemy ;------------------------------------------------------------------------------ ClearEnemy: ld hl,(EnemyPos) ld (ImagePos),hl ld hl,x0302 ld (ImageSize),hl call ClearImage ret ;------------------------------------------------------------------------------ ; MoveMan ;------------------------------------------------------------------------------ ORG 40100 MoveMan: ld a,(ManPhase) ; get man phase cp 7 ; out of range ? jr nc,mm.DrawMan ld a,(dm.Dir) ; get man direction cp 60 ; right (inc a) ? jr nz,mm.NoRight ld a,(ManPhase) ; get man phase cp 4 ; right : phases 4..6 jr c,mm.ROut cp 6 jr z,mm.ROut inc a ld (ManPhase),a ; set new phase jr mm.DrawMan mm.ROut: ld a,4 ld (ManPhase),a ; set new phase jr mm.DrawMan mm.NoRight: ld a,(dm.Dir) ; get man direction cp 61 ; left (dec a) ? jr nz,mm.DrawMan ld a,(ManPhase) ; get man phase cp 4 ; left : phases 1..3 jr nc,mm.LOut cp 3 jr z,mm.LOut inc a ld (ManPhase),a ; set new phase mm.Draw: jr mm.DrawMan mm.LOut: ld a,1 ld (ManPhase),a ; set new phase mm.DrawMan: jp DrawMan ;------------------------------------------------------------------------------ ; FallEnd ;------------------------------------------------------------------------------ FallEnd: ld a,0 ld (Falls),a ; falls = 0 ld a,(ManPhase) cp 8 jr nz,fe.No8 ld a,4 jr fe.OK fe.No8: ld a,1 fe.OK: ld (ManPhase),a ; set phase call RedrawMan ; draw man ret ;------------------------------------------------------------------------------ ; Variables ;------------------------------------------------------------------------------ ORG 40199 ManPhase: DEFB 5 ; phase ;------------------------------------------------------------------------------ ; MainLoop ;------------------------------------------------------------------------------ ORG 40200 MainLoop: ld a,xdf ; read keyborad in a,(xfe) and x1f cp x1e ; 'P' pressed ? jr nz,ma.NoRight ld a,(ManY) ; get man y position ld b,a ld a,22 sub b add a,a add a,a add a,a dec a ; 8*(22-y)-1 ld b,a ld a,(ManX) ; get man x position add a,2 add a,a add a,a add a,a ; 8*(x+2) ld c,a push bc call PIXEL_ADD ; PIXEL-ADD pop bc ld a,(hl) cp 0 ; can I go right ? jr nz,ma.NoRight ld a,b sub 8 ; 1 char up ld b,a push bc call PIXEL_ADD ; PIXEL-ADD pop bc ld a,(hl) cp 0 ; can I go right ? jr nz,ma.NoRight ld a,b sub 8 ; 1 char up ld b,a call PIXEL_ADD ; PIXEL-ADD ld a,(hl) cp 0 ; can I go right ? jr nz,ma.NoRight ld a,(ManX) ; get man x position cp x1e ; x=30 ? jr z,ma.NoRight ld a,x3c ; dir = right (inc a) ld (dm.Dir),a call MoveMan ; MoveMan ma.NoRight: ld a,xdf ; read keyborad in a,(xfe) and x1f cp x1d ; 'O' pressed ? jr nz,ma.NoLeft ld a,(ManY) ; get man y position ld b,a ld a,22 sub b add a,a add a,a add a,a dec a ; 8*(22-y)-1 ld b,a ld a,(ManX) ; get man x position dec a add a,a add a,a add a,a ; 8*(x-1) ld c,a push bc call PIXEL_ADD ; PIXEL-ADD pop bc ld a,(hl) cp 0 ; can I go left ? jr nz,ma.NoLeft ld a,b sub 8 ; 1 char up ld b,a push bc call PIXEL_ADD ; PIXEL-ADD pop bc ld a,(hl) cp 0 ; can I go left ? jr nz,ma.NoLeft ld a,b sub 8 ; 1 char up ld b,a call PIXEL_ADD ; PIXEL-ADD ld a,(hl) cp 0 ; can I go left ? jr nz,ma.NoLeft ld a,(ManX) ; get man x position cp 0 ; x=0 ? jr z,ma.NoLeft ld a,x3d ; dir = left (dec a) ld (dm.Dir),a call MoveMan ; MoveMan ma.NoLeft: nop nop nop nop nop nop nop ld a,(ManPhase) cp 7 ; phase < 7 ? jr c,ma.PhaseOK ld a,xdf ; phase > 7 in a,(xfe) ; read keyboard and x1f cp x1e ; 'P' pressed ? jr nz,ma.PhNoP ld a,8 jr ma.SetPhase ma.PhNoP: cp x1d ; 'O' pressed ? jr nz,ma.PhaseOK ld a,7 ma.SetPhase: ld (ManPhase),a ma.PhaseOK: ld a,xdf in a,(xfe) and x1f cp x1e ; 'P' pressed ? jr nz,ma.NoRoomR ld a,(ManX) cp x1e ; man x pos = 30 ? jr nz,ma.NoRoomR ld a,0 ld (ManX),a ; man x pos = 0 ld a,(RoomNumber) inc a ; inc room number ld (RoomNumber),a call DrawRoom ; draw room ma.NoRoomR: ld a,xdf in a,(xfe) and x1f cp x1d ; 'O' pressed ? jr nz,ma.NoRoomL ld a,(ManX) cp 0 ; man x pos = 0 ? jr nz,ma.NoRoomL ld a,30 ld (ManX),a ; man x pos = 30 ld a,(RoomNumber) dec a ; dec room number ld (RoomNumber),a call DrawRoom ; draw room ma.NoRoomL: nop nop nop nop nop nop ld a,(ManY) ; man y pos inc a inc a inc a ld b,a ld a,22 sub b ; 22-(y+3) add a,a add a,a add a,a dec a ld b,a ; b = 8*(22-(y+3))-1 ld a,(ManX) ; man x pos add a,a add a,a add a,a ld c,a ; c = 8*x call PIXEL_ADD ; PIXEL-ADD ld a,(hl) cp 0 ; is there anything jr nz,ma.OnGround ; under man ? inc hl ld a,(hl) cp 0 jr nz,ma.OnGround ld a,(ManY) cp 17 ; man y pos = 17 ? jr z,ma.RoomD ld a,(ManPhase) cp 7 ; phase >= 7 ? jr nc,ma.Fall cp 4 ; left or right ? jr c,ma.FallLeft ld a,8 jr ma.FPhaseOK ma.FallLeft: ld a,7 ma.FPhaseOK: ld (ManPhase),a ; set phase ma.Fall: call ClearMan ; clear man ld a,(ManY) inc a ; inc man y pos ld (ManY),a ld de,1 ld hl,256 call BEEPER ; BEEPER call RedrawMan ; draw man jr ma.IncFall ma.RoomD: ld a,(RoomNumber) sub 10 ; room = room - 10 ld (RoomNumber),a ld a,0 ld (ManY),a ; man y pos = 0 call DrawRoom ; draw room ma.IncFall: ld a,(Falls) inc a ; inc number of falls ld (Falls),a jr ma.FallOK ma.OnGround: ld a,(Falls) cp 10 ; falls = 10 ? jp nc,DecLives cp 0 jr z,ma.Fall0 ; falls = 0 ? call FallEnd ; fall end ma.FallOK: nop nop nop ma.Fall0: ld a,(Falls) cp 0 ; falls = 0 ? jp nz,ma.NoJumpR ld a,x7f in a,(xfe) and x1f cp x1b ; 'M' pressed ? jp nz,ma.NoJumpR ld a,(ManPhase) cp 4 ; phase right ? jp c,ma.NoJumpR ma.JumpRStart: ld b,4 ; jump right 4 times ma.JumpRLoop: push bc ld a,(ManX) cp 30 ; man x pos = 30 ? jr nc,ma.JRBreak ld a,(ManY) cp 1 ; man y pos = 1 ? jp z,ma.JRRoomU ld a,(ManY) dec a ld b,a ld a,22 sub b add a,a add a,a add a,a dec a ld b,a ; b = 8*(22-(y-1))-1 ld a,(ManX) nop inc a add a,a add a,a add a,a ld c,a ; c = 8*(x+1) push bc call PIXEL_ADD ; PIXEL-ADD pop bc ld a,(hl) cp 0 ; is there anything ? jr nz,ma.JRBreak push bc call ClearMan ; clear man nop nop nop nop nop nop nop nop nop nop pop bc ld a,8 add a,c ld c,a push bc call PIXEL_ADD ; PIXEL-ADD pop bc ld a,(hl) cp 0 ; is there anything ? jr nz,ma.JRNoRight ld a,b ld b,16 sub b ld b,a push bc call PIXEL_ADD ; PIXEL-ADD pop bc ld a,(hl) cp 0 ; is there anything ? jr nz,ma.JRNoRight ld a,(ManX) inc a ; inc man x pos ld (ManX),a ma.JRNoRight: ld a,(ManY) dec a ; dec man y pos ld (ManY),a ld a,8 ld (ManPhase),a ; set phase call RedrawMan ; draw man nop nop nop nop nop call ma.JRBeep ; beep pop bc djnz ma.JumpRLoop ; next jr ma.JREnd ma.JRBreak: pop bc ma.JREnd: jr ma.JRRedraw ma.JRBeep: ld de,x0028 ld hl,x0200 call BEEPER ; BEEPER ret ma.JRRedraw: ld a,4 ld (ManPhase),a ; set phase call RedrawMan ; draw man nop nop nop ma.NoJumpR: ld a,(Falls) cp 0 ; falls = 0 ? jp nz,ma.NoJumpL ld a,x7f in a,(xfe) and x1f cp 27 ; 'M' pressed ? jp nz,ma.NoJumpL ld a,(ManPhase) cp 4 ; phase left ? jp nc,ma.NoJumpL ma.JumpLStart: ld b,4 ; jump left 4 times ma.JumpLLoop: push bc ld a,(ManX) cp 0 ; man x pos = 0 ? jr z,ma.JLBreak ld a,(ManY) cp 1 ; man y pos = 1 ? jp z,ma.JLRoomU ld a,(ManY) dec a ld b,a ld a,22 sub b add a,a add a,a add a,a dec a ld b,a ; b = 8*(22-(y-1))-1 ld a,(ManX) nop nop add a,a add a,a add a,a ld c,a ; c = 8*(x+1) push bc call PIXEL_ADD ; PIXEL-ADD pop bc ld a,(hl) cp 0 ; is there anything ? jr nz,ma.JLBreak push bc call ClearMan ; clear man nop nop nop nop nop nop nop nop nop nop pop bc ld a,c ld c,8 sub c ld c,a push bc call PIXEL_ADD ; PIXEL-ADD pop bc ld a,(hl) cp 0 ; is there anything ? jr nz,ma.JLNoLeft ld a,b ld b,16 sub b ld b,a push bc call PIXEL_ADD ; PIXEL-ADD pop bc ld a,(hl) cp 0 ; is there anything ? jr nz,ma.JLNoLeft ld a,(ManX) dec a ; dec man x pos ld (ManX),a ma.JLNoLeft: ld a,(ManY) dec a ; dec man y pos ld (ManY),a ld a,7 ld (ManPhase),a ; set phase call RedrawMan ; draw man nop nop nop nop nop call ma.JLBeep ; beep pop bc djnz ma.JumpLLoop ; next jr ma.JLEnd ma.JLBreak: pop bc ma.JLEnd: jr ma.JLRedraw ma.JLBeep: ld de,x0028 ld hl,x0200 call BEEPER ; BEEPER ret ma.JLRedraw: ld a,3 ld (ManPhase),a ; set phase call RedrawMan ; draw man nop nop ma.NoJumpL: jr ma.JumpOK ma.JRRoomU: pop bc ld a,17 ld (ManY),a ; man y pos = 17 ld a,(RoomNumber) add a,10 ; room = room + 10 ld (RoomNumber),a call DrawRoom ; draw room jp ma.JumpRStart ; go back ma.JLRoomU: pop bc ld a,17 ld (ManY),a ; man y pos = 17 ld a,(RoomNumber) add a,10 ; room = room + 10 ld (RoomNumber),a call DrawRoom ; draw room jp ma.JumpLStart ; go back ma.JumpOK: nop nop nop nop call EnemyCollision ; enemy nop ld a,xdf in a,(xfe) and x1f cp 27 ; 'I' pressed ? jr nz,ma.NoInfo call GameInfo ; game info ma.NoInfo: call FlashHeart nop nop nop nop ld a,(CurrentDisk) ; have I got a disk ? cp 0 jr nz,ma.NoGetDisk ld a,(DiskPrinted) ld b,a add a,a add a,a add a,b ld d,0 ld e,a ld hl,dat.DiskPos add hl,de ; DiskPos+dp*5 ld a,(hl) ld b,a ld a,(RoomNumber) cp b ; am I in that room ? jr nz,ma.NoGetDisk ld a,(ManY) ; position OK ? ld b,a inc hl ld a,(hl) cp b jr nz,ma.NoGetDisk ld a,(ManX) ld b,a inc hl ld a,(hl) cp b jr nz,ma.NoGetDisk push hl dec a ld b,a dec hl ld a,(hl) ld l,a ld h,b ld (ImagePos),hl ld hl,x0101 ld (ImageSize),hl call ClearImage ; clear disk pop hl inc hl ld a,(hl) ld c,a inc hl ld a,(hl) ld b,a push bc pop hl ld a,201 ld (hl),a ; ret into room prog. ld a,(DiskPrinted) inc a ld (CurrentDisk),a call ShowCurrDisk ; show current disk ld de,36 ld hl,256 call BEEPER ; beep ma.NoGetDisk: nop nop nop ld a,(RoomNumber) cp 14 ; computer room 1 ? jr z,ma.Computer cp 94 ; computer room 2 ? jp nz,ma.NoDiskPrint ma.Computer: ld a,(CurrentDisk) ; have I got a disk ? cp 0 jp z,ma.NoDiskPrint ld a,(ManY) ; position OK ? cp 11 jr nz,ma.NoPrintPos ld a,(ManX) cp 21 ma.NoPrintPos: jp nz,ma.NoDiskPrint ld a,6 ld (22951),a ; set printer paper ld (22952),a ; attributes ld hl,x0015 ; clear disk info ld (ImagePos),hl ld hl,x0102 ld (ImageSize),hl call ClearImage ld a,(CurrentDisk) ld b,a ld (DiskPrinted),a ld a,0 ld (CurrentDisk),a inc a ld (NextDisk),a ld bc,x4038 ; (56,64) call PIXEL_ADD ; PIXEL-ADD push hl ld a,(DiskPrinted) ld b,a ld hl,dat.DiskPrint1-16 ; calc data address ld de,16 ma.PrintAddr: add hl,de djnz ma.PrintAddr ex de,hl ; de : data pop hl ; hl : screen ld b,7 ; 7 times ma.PrintLoop: push bc push de push hl ld a,(de) ; copy one line ld (hl),a inc de inc hl ld a,(de) ld (hl),a ld b,18 ma.PrintBeep: push bc ; beep ld de,1 ld hl,256 call BEEPER halt ld de,1 ld hl,2560 call BEEPER pop bc djnz ma.PrintBeep ld hl,18343 ; scroll up ld b,8 ; 8 lines ma.PrintScroll: push bc ld b,2 ; 2 bytes per line ma.PrintUp: push hl ld de,256 add hl,de ld a,(hl) pop hl ld (hl),a inc hl djnz ma.PrintUp ld de,254 add hl,de pop bc djnz ma.PrintScroll pop hl pop de inc de ; inc data pointer inc de pop bc djnz ma.PrintLoop call GotALife ; got a life nop nop ma.NoDiskPrint: ld a,(RoomNumber) cp 46 ; room lift up ? jp nz,ma.NoLiftUp ld a,(ManY) ; position OK ? cp 15 jp nz,ma.NoLiftUp ld a,(ManX) cp 12 jp nz,ma.NoLiftUp call ma.LiftUp ld b,4 ma.LiftUpLoop: push bc ld a,5 ; calc room number sub b ld b,a ld a,46 ma.LUCalcRoom: add a,10 djnz ma.LUCalcRoom ld hl,x0c0f ld (ManPos),hl ld (RoomNumber),a call DrawRoom call ma.LiftUp pop bc djnz ma.LiftUpLoop ld hl,x0b12 ld (x83f5),hl ld hl,x0c0f ld (ManPos),hl ld a,96 ld (RoomNumber),a call DrawRoom ld hl,x0b12 ld (x83f5),hl ld hl,x8413 jp ma.NoLiftUp ma.LiftUp: ld b,15 ; lift up one room ma.LULoop: push bc ld a,b ld (ManY),a call RedrawMan ; redraw man ld a,(ManY) add a,3 ld (x83f5),a call DrawLiftUp ; draw lift ld de,18 ; beep ld hl,2304 call BEEPER ld h,11 ; clear lift and man ld a,(ManY) ld l,a ld (ImagePos),hl ld hl,x0404 ld (ImageSize),hl call ClearImage pop bc djnz ma.LULoop ret ma.NoLiftUp: nop nop nop nop nop nop nop nop ld a,(RoomNumber) cp 96 ; room lift down ? jp nz,ma.NoLiftDown ld a,(ManY) ; position OK ? cp 15 jp nz,ma.NoLiftDown ld a,(ManX) cp 16 jp nz,ma.NoLiftDown ld a,86 ld (RoomNumber),a call DrawRoom ld b,5 ma.LiftDnLoop: push bc ld a,36 ; calc room number ma.LDCalcRoom: add a,10 djnz ma.LDCalcRoom ld hl,x1000 ld (ManPos),hl ld (RoomNumber),a call DrawRoom call ma.LiftDown pop bc djnz ma.LiftDnLoop ld hl,x0f12 ld (x8413),hl jp ma.NoLiftDown ma.LiftDown: ld b,15 ; lift down one room ma.LDLoop: push bc ld a,16 ; clear lift and man sub b ld (ManY),a ld h,15 dec a ld l,a ld (ImagePos),hl ld hl,x0404 ld (ImageSize),hl call ClearImage call RedrawMan ; redraw man ld a,(ManY) add a,3 ld (x8413),a call DrawLiftDown ; draw lift ld de,18 ; beep ld hl,2304 call BEEPER pop bc djnz ma.LDLoop ret ma.NoLiftDown: ld a,(ManY) ; man positions add a,3 ld b,a ld a,22 sub b add a,a add a,a add a,a dec a ld b,a ld a,(ManX) add a,a add a,a add a,a ld c,a call PIXEL_ADD ; PIXEL-ADD ld a,(hl) cp x55 ; belt right ? jr z,ma.BeltRight inc hl ld a,(hl) cp xaa jr z,ma.BeltLeft ; belt left ? jr ma.NoBelt ma.BeltRight: ld a,x3c ; inc a jr ma.BeltOK ma.BeltLeft: ld a,x3d ; dec a ma.BeltOK: ld (dm.Dir),a call ManBeep ma.NoBelt: nop ld a,(RoomNumber) ; room number ld e,a ld d,0 ld hl,0 add hl,de add hl,hl add hl,hl ld de,dat.EnemyData-4 ; room * 4 + 44284 add hl,de ld a,(hl) cp 0 jp z,ma.NoEnemy ld hl,(EnemyPos) ; clear enemy ld (ImagePos),hl ld hl,x0302 ld (ImageSize),hl call ClearImage ld a,(EnemyY) dec a ; y-1 ld l,a ld h,0 add hl,hl add hl,hl add hl,hl add hl,hl add hl,hl ; (y-1)*32 ld a,(EnemyX) ld e,a ld d,0 add hl,de ; (y-1)*32+x ld de,22528 ; video attributes add hl,de push hl ld a,(hl) cp 0 ; collision up ? jr nz,ma.EnCollUp inc hl ld a,(hl) cp 0 jr nz,ma.EnCollUp jr ma.EnNCUp ma.EnCollUp: ld a,1 ld (EnemydY),a ; dy = 1 ma.EnNCUp: ld de,127 add hl,de ld a,(hl) cp 0 ; collision down ? jr nz,ma.EnCollDown inc hl ld a,(hl) cp 0 jr nz,ma.EnCollDown jr ma.EnNCDown ma.EnCollDown: ld a,255 ld (EnemydY),a ; dy = -1 ma.EnNCDown: pop hl push hl ld de,31 add hl,de inc de ld a,(hl) cp 0 ; collision left ? jr nz,ma.EnCollLeft add hl,de ld a,(hl) cp 0 jr nz,ma.EnCollLeft add hl,de ld a,(hl) cp 0 jr nz,ma.EnCollLeft jr ma.EnNCLeft ma.EnCollLeft: ld a,1 ld (EnemydX),a ; dx = 1 ma.EnNCLeft: pop hl ld de,34 add hl,de dec de dec de ld a,(hl) cp 0 ; collision right ? jr nz,ma.EnCollRight add hl,de ld a,(hl) cp 0 jr nz,ma.EnCollRight add hl,de ld a,(hl) cp 0 jr nz,ma.EnCollRight jr ma.EnNCRight ma.EnCollRight: ld a,255 ld (EnemydX),a ; dx = -1 ma.EnNCRight: ld a,(EnemyY) cp 2 ; collision top ? jr nz,ma.EnNCTop ld a,1 ld (EnemydY),a ; dy = 1 ma.EnNCTop: ld a,(EnemyX) cp 2 ; collision jr nz,ma.EnNCLBord ; left border ? ld a,1 ld (EnemydX),a ; dx = 1 ma.EnNCLBord: ld a,(EnemyY) cp 15 ; collision bottom ? jr nz,ma.EnNCBottom ld a,255 ld (EnemydY),a ; dy = -1 ma.EnNCBottom: ld a,(EnemyX) cp 28 ; collision jr nz,ma.EnNCRBord ; right border ld a,255 ld (EnemydX),a ; dx = -1 ma.EnNCRBord: ld a,(EnemydY) ld b,a ld a,(EnemyY) add a,b ld (EnemyY),a ; new y position ld a,(EnemydX) ld b,a ld a,(EnemyX) add a,b ld (EnemyX),a ; new x position ld hl,(EnemyPos) ld (ImagePos),hl ld hl,x0302 ld (ImageSize),hl ma.EnPhData: ld hl,xd0b8 ld (ImageData),hl call DrawImage ; draw enemy ld a,(x5b0e) cp 0 jr nz,ma.EnPhaseNo0 ld a,1 ld (x5b0e),a jp ma.EnPhOK ma.EnPhaseNo0: ld a,0 ld (x5b0e),a ld a,(ma.EnPhData+1) cp x82 jr nz,ma.EnPhOther ld a,xb8 jr ma.EnPhSet ma.EnPhOther: ld a,x82 ma.EnPhSet: ld (ma.EnPhData+1),a ma.EnPhOK: nop nop nop ld a,(EnemyCollY) ld b,a ld a,(EnemyCollX) add a,b cp 2 jr nz,ma.NoEnemy call ClearEnemy call InitEnemy jp DecLives ma.NoEnemy: nop nop jp KillWitch nop ma.Continue: ld a,xbf ; read keyboard in a,(xfe) and x1f cp x0f ; 'H' pressed ? jr nz,ma.NoKeyH ld a,1 ld (Lives),a jp z,DecLives nop nop ma.NoKeyH: ld a,xfb ; read keyboard in a,(xfe) and x1f cp x1e ; 'Q' pressed ? ld b,2 jr z,ma.Timer ld b,6 ma.Timer: halt djnz ma.Timer ld a,x7f ; read keyboard in a,(xfe) and x1f cp x1e ; SPACE pressed ? jp nz,MainLoop call AmigaScreen ; show Amiga screen jp MainLoop ;----------------------------------------------------------------------------- ; GameInfo ;----------------------------------------------------------------------------- ORG 42080 GameInfo: ld a,(RoomNumber) cp 120 ; room = 120 ? ret z ld hl,x1f15 ld (ImagePos),hl ld hl,x0101 ld (ImageSize),hl ld hl,dat.Heart ld (ImageData),hl call DrawImage ; print heart ld a,(Lives) ; # of lives ld b,a ld hl,dat.HandChars+48*8 ; addr of char '0' ld de,8 gi.NumLoop: add hl,de djnz gi.NumLoop ld (ImageData),hl ld hl,x1e15 ld (ImagePos),hl ld hl,x0101 ld (ImageSize),hl call DrawImage ld hl,22528+702 ; set ATTR to yellow ld a,6 ld (hl),a jr GameInfo2 ;----------------------------------------------------------------------------- ; GameInfo2 ;----------------------------------------------------------------------------- ORG 42176 GameInfo2: call ShowCurrDisk2 ; show disk ld de,36 ld hl,1024 call BEEPER ; beep ld de,36 ld hl,1280 call BEEPER ; beep ret ;----------------------------------------------------------------------------- ; Heart Data ;----------------------------------------------------------------------------- ORG 42198 dat.Heart: DEFB x36,x7f,x7f,x7f,x3e,x1c,x08,x00 ; heart data DEFB x02 HeartCounter: DEFB x88 ;----------------------------------------------------------------------------- ; DecLives ;----------------------------------------------------------------------------- ORG 42250 DecLives: ld a,0 ld (Falls),a ; falls = 0 call ClearMan ; clear man ld b,5 ; beep 5 times dl.BeepLoop: push bc ld de,40 ld hl,256 call BEEPER ld b,18 ; wait some time dl.Wait: halt djnz dl.Wait pop bc djnz dl.BeepLoop ld a,(Lives) ; one less lives dec a ld (Lives),a cp 0 ; game over ? jr z,GameOver nop ld a,(ManPhase) cp 7 jr nz,dl.NoPhase7 ld a,1 jr dl.PhaseOK dl.NoPhase7: ld a,4 dl.PhaseOK: ld (ManPhase),a call ClearMessage ld a,x1c ld (so.Type),a ; so.Type = inc e call SoundEffect1 call RedrawMan jp MainLoop ;----------------------------------------------------------------------------- ; GameOver ;----------------------------------------------------------------------------- ORG 42324 GameOver: call ClearMessage ; game over call SoundEffect0 call DrawGameOver ld a,x41 ; flash text ld b,x48 go.Loop: push bc ld b,5 ; wait some time go.Wait: halt djnz go.Wait ld hl,22795 ld b,10 go.ColorLoop: ld (hl),a inc hl inc a cp x48 jr nz,go.ColorOK ld a,x41 go.ColorOK: djnz go.ColorLoop pop bc djnz go.Loop ld a,3 ; reset variables ld (Lives),a ld a,15 ld (ManY),a ld a,12 ld (ManX),a ld a,4 ld (ManPhase),a jp ct.Restart ;----------------------------------------------------------------------------- ; ManBeep ;----------------------------------------------------------------------------- ORG 42386 ManBeep: call DrawMan ld de,3 ld hl,1024 call BEEPER ret ;----------------------------------------------------------------------------- ; ClearMessage ;----------------------------------------------------------------------------- ORG 42400 ClearMessage: ld hl,x0015 ld (ImagePos),hl ld hl,x0120 ld (ImageSize),hl call ClearImage ret ;----------------------------------------------------------------------------- ; EnemyCollision ;----------------------------------------------------------------------------- ORG 42420 EnemyCollision: ld a,(EnemyY) ; is there enemy ? cp 0 jr z,ec.Exit ld a,(EnemyX) cp 0 jr z,ec.Exit ld hl,0 ; clear collision ld (EnemyColl),hl ; variable ld a,(EnemyY) ld b,a ld a,(ManY) sub b add a,3 cp 7 ; horizontal jr nc,ec.NoY ; collision ? ld a,1 ld (EnemyCollY),a ec.NoY: ld a,(EnemyX) ld b,a ld a,(ManX) sub b add a,2 cp 5 ; vertical jr nc,ec.Exit ; collision ? ld a,1 ld (EnemyCollX),a ec.Exit: ret ;----------------------------------------------------------------------------- ; KillWitch ;----------------------------------------------------------------------------- ORG 42480 KillWitch: ld a,(RoomNumber) cp 120 ; room = 120 ? jp nz,ma.Continue ld a,(DiskPrinted) cp 6 ; disks = 6 ? jp nz,CannotKill nop nop nop nop call DrawWitch1 nop nop nop nop nop nop nop nop nop ld b,6 ; wait some time kw.Wait: halt djnz kw.Wait ld hl,img.Witch1 kw.WitchLoop: push hl ld (ImageData),hl ; draw witch x ld hl,x1a04 ld (ImagePos),hl ld hl,x0202 ld (ImageSize),hl call DrawImage call SoundEffect2 call DrawWitch1 ; draw witch 1 call SoundEffect2 pop hl ld de,36 add hl,de ld a,l cp x5c jr nz,kw.WitchLoop call DrawWitch4 ; draw witch 4 call SoundEffect2 ld b,18 ; wait some time kw.Wait2: halt djnz kw.Wait2 call ClearMessage call SoundEffect0 ld hl,x0706 ; congratulations ld (ImagePos),hl ld hl,x0311 ld (ImageSize),hl ld hl,img.Congrat ld (ImageData),hl call DrawImage ld a,0 ; flash ld b,144 ; congratulations kw.FlashText: push bc ; text ld hl,22760 ld b,15 kw.TextLoop: ld (hl),a inc hl inc a cp 8 jr nz,kw.ColorOK ld a,0 kw.ColorOK: djnz kw.TextLoop halt halt pop bc djnz kw.FlashText ld hl,22760 ; blue text ld a,5 ld b,15 kw.BlueText: ld (hl),a inc hl djnz kw.BlueText ld hl,22528 kw.AndAttr: ld a,(hl) and x07 ld (hl),a inc hl ld a,x5b cp h jr nz,kw.AndAttr ld b,8 kw.ClrScr: push bc ; clear screen ld hl,16384 kw.ClrLoop: ld c,32 and a kw.ClrLine: srl (hl) inc hl dec c jr nz,kw.ClrLine ld a,x58 cp h jr nz,kw.ClrLoop call SoundEffect2 pop bc djnz kw.ClrScr call FillReady ; fill ready jp ct.Go ; restart ;----------------------------------------------------------------------------- ; FlashHeart ;----------------------------------------------------------------------------- ORG 42700 FlashHeart: ld a,(23231) ; get heart ATTR cp 2 ; red ? jr nz,fh.NoRed ld a,(HeartCounter) cp 4 ; counter OK ? jr c,fh.NoRed ld a,0 ; clear counter ld (HeartCounter),a ld a,67 ; ATTR = magenta ld (23231),a fh.NoRed: ld a,(23231) ; get heart ATTR cp 67 ; magenta ? jr nz,fh.NoMagenta ld a,(HeartCounter) cp 1 ; counter OK ? jr c,fh.NoMagenta ld a,0 ; clear counter ld (HeartCounter),a ld a,2 ; ATTR = red ld (23231),a fh.NoMagenta: ld a,(HeartCounter) inc a ld (HeartCounter),a ld a,xfe ; read keyboard in a,(xfe) and x1f cp x1e ; CAPS SHIFT pressed ? jr nz,fh.NoCAPS call Music fh.NoCAPS: ld a,xfe ; read keyboard in a,(xfe) and x1f cp x17 ; 'C' pressed ? ret nz ld a,(dm.DataAddr+1) ; change man cp x4e jr z,fh.Goblin ld hl,img.ManLeft1-54 jr fh.ChangeMan fh.Goblin: ld hl,img.GoblinL1-54 fh.ChangeMan: ld (dm.DataAddr+1),hl call ClearMan ld a,x1c ld (so.Type),a ; so.Type = inc e call SoundEffect1 call RedrawMan ret ;----------------------------------------------------------------------------- ; Enemy Data ;----------------------------------------------------------------------------- ORG 44288 dat.EnemyData: DEFB x0C,x04,x01,x00,x08,x0E,x00,x01 DEFB x00,x00,x00,x00,x02,x09,x00,x00 DEFB x04,x11,x00,x02,x02,x0C,x00,x01 DEFB x0F,x1B,x00,x03,x09,x0B,x00,x01 DEFB x02,x02,x00,x00,x09,x02,x01,x04 DEFB x07,x16,x00,x02,x00,x00,x00,x00 DEFB x0A,x0E,x00,x00,x06,x02,x01,x03 DEFB x02,x0E,x00,x02,x02,x0E,x00,x00 DEFB x00,x00,x00,x00,x02,x05,x00,x03 DEFB x0F,x15,x00,x02,x07,x0F,x00,x03 DEFB x09,x06,x00,x03,x02,x0F,x00,x00 DEFB x02,x17,x00,x00,x0A,x0B,x01,x03 DEFB x03,x0F,x00,x01,x08,x02,x01,x02 DEFB x02,x07,x00,x00,x0B,x16,x00,x01 DEFB x00,x00,x00,x00,x08,x02,x01,x00 DEFB x02,x19,x00,x05,x06,x09,x01,x04 DEFB x0F,x12,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x0F,x03,x00,x00,x0A,x02,x01,x02 DEFB x0B,x12,x00,x00,x02,x12,x00,x03 DEFB x02,x0B,x00,x01,x07,x12,x01,x01 DEFB x02,x03,x00,x05,x02,x10,x00,x03 DEFB x00,x00,x00,x00,x02,x16,x00,x02 DEFB x0D,x1B,x00,x05,x06,x02,x01,x04 DEFB x02,x18,x00,x00,x06,x02,x01,x04 DEFB x02,x10,x00,x00,x08,x0A,x01,x04 DEFB x0F,x0E,x02,x00,x02,x0C,x00,x01 DEFB x0F,x09,x00,x05,x00,x00,x00,x00 DEFB x02,x0F,x00,x00,x08,x02,x01,x03 DEFB x00,x00,x00,x00,x0F,x14,x00,x01 DEFB x06,x06,x01,x04,x0F,x0D,x00,x02 DEFB x02,x11,x00,x03,x00,x00,x00,x00 DEFB x06,x07,x01,x00,x00,x00,x00,x00 DEFB x02,x11,x00,x05,x08,x02,x01,x03 DEFB x06,x0B,x00,x02,x00,x00,x00,x00 DEFB x0D,x0D,x00,x05,x00,x00,x00,x00 DEFB x02,x12,x00,x01,x02,x0B,x00,x05 DEFB x02,x11,x00,x03,x00,x00,x00,x00 DEFB x0F,x11,x00,x00,x0F,x13,x00,x02 DEFB x0A,x0E,x01,x04,x0F,x12,x00,x01 DEFB x06,x0E,x01,x00,x02,x1B,x00,x03 DEFB x00,x00,x00,x00,x06,x06,x00,x02 DEFB x02,x06,x00,x01,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x0A,x0A,x01,x05 DEFB x02,x16,x00,x03,x06,x10,x01,x04 DEFB x09,x0C,x00,x03,x02,x08,x00,x01 DEFB x00,x00,x00,x00,x0F,x1B,x00,x02 DEFB x0A,x10,x01,x04,x02,x0E,x00,x05 DEFB x0B,x14,x00,x01,x02,x0E,x00,x02 DEFB x02,x0C,x00,x05,x00,x00,x00,x00 DEFB x02,x0C,x00,x02,x0A,x02,x01,x04 DEFB x0B,x16,x00,x05,x00,x00,x00,x00 DEFB x06,x07,x01,x04,x06,x0A,x00,x02 DEFB x0A,x09,x01,x03,x02,x0B,x00,x03 DEFB x02,x0D,x00,x02,x02,x14,x00,x05 DEFB x0F,x0B,x00,x03,x0F,x11,x00,x01 DEFB x02,x10,x00,x00,x02,x16,x00,x02 DEFB x02,x08,x00,x00,x00,x00,x00,x00 DEFB x02,x09,x00,x03,x02,x04,x00,x02 DEFB x0A,x0C,x01,x05,x0E,x13,x00,x00 ;----------------------------------------------------------------------------- ; Ready Positions Data ;----------------------------------------------------------------------------- ORG 44768 dat.ReadyPos: DEFB x08,x08,x10,x10,x0A,x00,x00,x18 DEFB x02,x08,x0C,x10,x06,x18,x04,x00 DEFB x06,x08,x0A,x10,x0E,x18,x12,x00 DEFB x14,x08,x04,x10,x12,x18,x00,x00 DEFB x12,x10,x0A,x18,x0C,x00,x0E,x08 DEFB x00,x10,x02,x18,x06,x00,x0A,x08 DEFB x06,x10,x08,x18,x10,x00,x12,x08 DEFB x14,x10,x10,x18,x02,x00,x10,x08 DEFB x02,x10,x0C,x18,x0E,x00,x04,x08 DEFB x08,x10,x14,x18,x08,x00,x0C,x08 DEFB x0E,x10,x04,x18,x14,x00,x00,x08 ;----------------------------------------------------------------------------- ; Game Images ;----------------------------------------------------------------------------- ORG 44860 img.Library: DEFB x80,x00,x3F,xF8,x00,x00,x00,x00 ; (13x5) DEFB x3F,x00,x00,x00,x01,x00,x00,x35 DEFB x58,x00,x00,x00,x00,x3F,x00,x00 DEFB x00,x00,x00,x00,x2A,xA8,x00,x00 DEFB x00,x00,x3F,x00,x00,x00,x00,x00 DEFB x00,x37,xD8,x00,x00,x00,x00,x3F DEFB x00,x00,x3F,x00,x00,x00,x2F,xE8 DEFB x00,x3F,x00,x00,x3F,x00,x00,x3F DEFB x00,x00,x00,x37,xD8,x00,x33,x00 DEFB x00,x3D,x00,x00,x33,x00,x00,x00 DEFB x2F,xE8,x00,x21,x00,x00,x3B,x00 DEFB x00,x33,x00,x00,x00,x37,xD8,x00 DEFB x21,x00,x00,x37,x00,x00,x3F,x00 DEFB x80,xFF,x2F,xE8,xFF,x29,x00,xFF DEFB x2D,x00,xFF,x33,x01,x00,xC3,x37 DEFB xD8,xFF,x25,x00,x81,x3B,x00,xFF DEFB x3F,x00,x00,x81,x2F,xE8,x81,x29 DEFB x3E,xBD,x37,x00,x81,x33,x00,x00 DEFB xBD,x36,xD8,xFF,x25,x3E,xBD,x2D DEFB x7C,xFF,x3F,x00,x00,x81,x2E,xE8 DEFB x81,x29,x3E,xBD,x3B,x7C,x81,x3F DEFB x00,x00,x81,x37,xD8,x81,x25,x22 DEFB xBD,x37,x6C,x81,x3F,x00,x00,x81 DEFB x2E,xE8,xFF,x21,x3E,xBD,x2F,x7C DEFB xFF,x3F,x00,x00,x81,x37,xD8,x81 DEFB x21,x3E,xBD,x3F,x7C,x81,x3F,x00 DEFB x80,x81,x2F,xE8,x81,x21,x3E,xBD DEFB x3F,x7C,x81,x3F,x01,x00,x81,x37 DEFB xD8,x81,x21,x3E,xBD,x3F,x7C,x81 DEFB x3F,x00,x00,x81,x2E,xE8,xFF,x29 DEFB x3E,xBD,x3F,x7C,xFF,x3F,x00,x00 DEFB x81,x36,xD8,x81,x25,x3E,xBD,x3F DEFB x7C,x81,x33,x00,x00,x81,x2E,xE8 DEFB x81,x29,x3E,xBD,x3F,x7C,x81,x33 DEFB x00,x00,x81,x37,xD8,x81,x25,x3E DEFB xBD,x3F,x7C,x81,x3F,x00,x00,xBD DEFB x2E,xE8,x81,x29,x3E,xBD,x3F,x7C DEFB x81,x33,x00,x00,x81,x37,xD8,xFF DEFB x25,x3E,xBD,x3F,x7C,xFF,x3F,x00 DEFB x80,xBD,x2E,xE8,x81,x29,x3E,xBD DEFB x3F,x7C,x81,x33,x01,x00,x81,x36 DEFB xD8,x81,x25,x3E,xBD,x3F,x7C,x81 DEFB x3F,x00,x00,xBD,x2F,xE8,x81,x29 DEFB x22,xBD,x3F,x7C,x81,x33,x00,x00 DEFB x81,x37,xD8,x81,x25,x3E,xBD,x3F DEFB x7C,x81,x33,x00,x00,xBD,x2A,xA8 DEFB x81,x29,x22,xBD,x3F,x7C,x81,x33 DEFB x00,x00,x81,x35,x58,xFF,x21,x3E DEFB xBD,x3F,x6C,xFF,x33,x00,x00,xC3 DEFB x3F,xF8,xFF,x33,x3E,x81,x3F,x7C DEFB xFF,x3F,x00,x00,xFF,x3F,xF8,xFF DEFB x3F,x3E,xFF,x3F,x7C,xFF,x3F,x00 DEFB x80,x80,x80,x80,x80,x80,x80,x80 DEFB x80,x80,x80,x80,x01,x7F,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFE,xFF,xFF,xFF,x9F,xE7,x83 DEFB x81,x81,x81,x9D,xFF,xFF,xFF,xFF DEFB xFF,xFF,x9F,xE7,x9D,x9D,xB9,x9D DEFB x9D,xFF,xFF,xFF,xC0,x00,x03,x9F DEFB xE7,x83,x83,x81,x83,x81,xC0,x00 DEFB x03,xFF,xFF,xFF,x9F,xE7,x9D,xB9 DEFB xB9,xB9,xE7,xFF,xFF,xFF,xFF,xFF DEFB xFF,x81,xE7,x83,xB9,xB9,xB9,xE7 DEFB xFF,xFF,xFF,x7F,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFE DEFB x06,x05,x02,x02,x00,x04,x03,x00 DEFB x05,x02,x00,x04,x06,x06,x05,x02 DEFB x02,x0D,x04,x03,x0E,x05,x02,x16 DEFB x04,x06,x06,x05,x02,x02,x0D,x04 DEFB x03,x0E,x05,x02,x16,x04,x06,x06 DEFB x05,x02,x02,x0D,x04,x03,x0E,x05 DEFB x02,x16,x04,x06,x0D,x0D,x0D,x0D DEFB x0D,x0D,x0D,x0D,x0D,x0D,x0D,x0D DEFB x0D img.HiFi: DEFB x1F,xFF,xF8,x20,x00,x04,x3F,xFF ; (3x5) DEFB xFC,x24,xFF,xE4,x3F,xFF,xFC,xC0 DEFB x00,x03,xFF,xFF,xFF,x80,x00,x01 DEFB xBF,xFF,xFD,xA0,xA4,xED,xA0,xE7 DEFB xC5,xA0,xA4,xED,xBF,xFF,xFD,x80 DEFB x00,x01,xFF,xFF,xFF,x80,x00,x01 DEFB xBF,xFF,xFD,xA9,x3F,x85,xA9,x2A DEFB x85,xBF,xFF,xFD,x80,x00,x01,xFF DEFB xFF,xFF,x80,x00,x01,xBF,xFF,xFD DEFB xA8,x3F,xA5,xA8,x2A,xA5,xBF,xFF DEFB xFD,x80,x00,x01,xFF,xFF,xFF,x80 DEFB x00,x01,xC8,x00,x41,xC8,x00,x41 DEFB xA4,x81,x21,xA4,x81,x21,x92,x81 DEFB x11,x92,x81,x11,x80,x81,x01,xFF DEFB xFF,xFF,x7F,xFF,xFE,x7F,xFF,xFE DEFB x47,x47,x47,x47,x47,x47,x47,x47 DEFB x47,x47,x47,x47,x47,x47,x47 ;***************************************************************************** ; Music Code and Data ;***************************************************************************** ORG 49152 Music: ld hl,dat.Ch1 ; xc1cf ld (Ch1.Ptr),hl ld hl,dat.Ch2 ; xc361 ld (Ch2.Ptr),hl di mu.NoKey: call PlayMusic call KEY_SCAN ; KEY-SCAN inc e jr z,mu.NoKey ; key pressed ? ei ret ; return Ch1.Data: DEFB x13 ; ch1 data Ch2.Data: DEFB x29 ; ch2 data Sound.Data: DEFB 0 ; data to port 254 Ch1.Ptr: DEFW dat.Ch1+3 ; ch1 pointer Ch1.Start: DEFW dat.Ch1+1 ; ch1 data start Ch2.Ptr: DEFW dat.Ch2+3 ; ch2 pointer Ch2.Start: DEFW dat.Ch2+1 ; ch2 data start Sound.Timer: DEFB xe8 ; timer value pm.GetNextData: ld e,(hl) ; get pointer inc hl ld d,(hl) inc de ; inc pointer pm.GetData: ld a,(de) ; get data cp x40 ; end ? jr z,pm.ResetPtr ld (hl),d ; set pointer value dec hl ld (hl),e ret pm.ReadTable: ld a,(hl) add a,12 ld e,a ld d,0 ; de = a+12 ld hl,dat.pm.Table add hl,de ld h,(hl) ; out : hl = xxx01 ld l,1 ret pm.ResetPtr: inc hl ; reset pointer ld e,(hl) inc hl ld d,(hl) dec hl dec hl jr pm.GetData PlayMusic: ld hl,Ch1.Ptr ; pointer address 1 call pm.GetNextData ; get data 1 hl=xxx01 ld (Ch1.Data),a ld hl,Ch2.Ptr ; pointer address 2 call pm.GetNextData ; get data 2 hl=xxx01 ld (Ch2.Data),a ld hl,Ch1.Data ; ch1 call pm.ReadTable rl e ; e = a+12 jp c,pm.Extra push hl ld hl,Ch2.Data ; ch2 call pm.ReadTable pop de ; hl : ch2, de : ch1 ld a,h dec a jr nz,pm.Do ld a,d dec a jr z,pm.Timer ; timer pm.Do: ld a,(Sound.Timer) ; timer value ld c,a ld b,0 ; bc = timer ld a,(Sound.Data) ex af,af ld a,(Sound.Data) DEFB xdd,x62 ; ld xh,d ld d,x10 ; bit 4 of port 254 pm.LoopB: nop nop pm.LoopC: ex af,af dec e ; ch1 freq value out (xfe),a jr nz,pm.EOK DEFB xdd,x5c ; ld e,xh xor d ; change speaker bit ex af,af dec l ; ch2 freq value jp nz,pm.LOK pm.LoopL: out (xfe),a ld l,h xor d djnz pm.LoopB inc c jp nz,pm.LoopC ret pm.Dummy: ld h,c ld h,h ld h,c ld l,l pm.EOK: jr z,pm.EOK ex af,af dec l jp z,pm.LoopL pm.LOK: out (xfe),a nop nop djnz pm.LoopB inc c jp nz,pm.LoopC ret pm.Timer: ld a,(Sound.Timer) ; timer cpl ld c,a pm.TimerLoop1: push bc push af ld b,0 pm.TimerLoop2: push hl ld hl,0 sra (hl) sra (hl) sra (hl) nop pop hl djnz pm.TimerLoop2 dec c jp nz,pm.TimerLoop2 pop af pop bc ret dat.pm.Table: DEFB xFF,xF0,xE3,xD7,xCB,xC0,xB4,xAB DEFB xA1,x97,x90,x88,x80,x79,x72,x6C DEFB x66,x60,x5B,x56,x51,x4C,x48,x44 DEFB x40,x3D,x39,x36,x33,x30,x2D,x2B DEFB x28,x26,x24,x22,x20,x1E,x1C,x1B DEFB x19,x18,x17,x15,x14,x13,x12,x11 DEFB x10,x0F,x0E,x0D,x0C,x01 pm.Extra: push af ld a,(Ch2.Data) ld d,a pop af call pm.Calc cp xff jr z,pm.ExBeep cp xc0 jp z,xc17f ld b,4 ld c,e rla rla rla rla pm.ExtraLoop: rla call c,pm.ExBeep call nc,pm.TimerLoop1 djnz pm.ExtraLoop ret pm.Calc: push af ld a,(Sound.Timer) cpl ld b,a ld c,a add a,1 sra a sra a ld e,a cp 0 jr nz,pm.CalcOK inc e pm.CalcOK: pop af ret pm.ExBeep: push af push hl push bc ld a,(Sound.Data) ld b,0 ld hl,x03e8 pm.eb.Loop: rrc d jp nc,pm.eb.Delay inc hl bit 0,(hl) jp z,pm.eb.Off set 4,a xor x83 xor x83 pm.eb.Out: out (xfe),a pm.eb.Next: nop dec b jp nz,pm.eb.Loop dec c jp nz,pm.eb.Loop pop bc pop hl pop af ret pm.eb.Off: res 4,a jr pm.eb.Out pm.eb.Delay: scf jp nc,x0000 jp nc,x0000 jp nc,x0000 nop nop jr pm.eb.Next ld e,b ld d,0 ld hl,dat.Music adc hl,de ld a,(hl) ld b,a ld hl,3 pm.BeepLoop: push bc ld de,1 push hl call pm.Beeper pop hl ld de,x00ff adc hl,de pop bc djnz pm.BeepLoop ret pm.Beeper: ld a,l ; like spectrum ROM srl l ; from address x03b5 srl l cpl and x03 ld c,a ld b,0 ld ix,x03d1 ; base address of add ix,bc ; timer cycle ld a,(Sound.Data) call x03d4 ; call BEEPER di ret ORG 49591 dat.Music: DEFB x0C,x0C,x0D,x0D,x0E,x0E,x0E,x0F DEFB x0F,x0F,x10,x10,x11,x11,x12,x12 DEFB x13,x13,x14,x14,x15,x15,x15,x16 dat.Ch1: DEFB x16,x10,x11,x13,x13,x13,x13,x13 DEFB x10,x10,x11,x13,x13,x13,x13,x13 DEFB x13,x13,x13,x29,x11,x11,x11,x13 DEFB x13,x15,x15,x13,x13,x0E,x13,x13 DEFB x13,x10,x11,x13,x13,x13,x13,x13 DEFB x10,x10,x11,x13,x13,x13,x13,x13 DEFB x13,x13,x13,x29,x11,x11,x11,x13 DEFB x13,x15,x15,x13,x13,x15,x17,x17 DEFB x17,x17,x17,x29,x18,x18,x18,x18 DEFB x18,x18,x18,x17,x17,x13,x13,x13 DEFB x13,x13,x13,x29,x15,x15,x15,x18 DEFB x18,x15,x15,x13,x13,x13,x13,x13 DEFB x13,x13,x13,x15,x15,x15,x15,x15 DEFB x15,x15,x15,x15,x15,x15,x15,x15 DEFB x15,x15,x15,x15,x15,x15,x15,x17 DEFB x17,x15,x15,x13,x13,x13,x13,x13 DEFB x13,x13,x13,x29,x18,x18,x18,x13 DEFB x13,x10,x10,x11,x11,x13,x15,x15 DEFB x15,x15,x15,x29,x13,x13,x15,x13 DEFB x13,x11,x11,x10,x10,x11,x10,x10 DEFB x10,x10,x10,x29,x18,x18,x18,x13 DEFB x13,x10,x10,x11,x11,x13,x15,x15 DEFB x15,x15,x15,x29,x13,x13,x15,x13 DEFB x13,x11,x11,x10,x10,x11,x10,x10 DEFB x10,x10,x10,x11,x11,x11,x11,x15 DEFB x15,x11,x11,x10,x10,x13,x13,x13 DEFB x13,x13,x13,x29,x13,x13,x15,x13 DEFB x13,x11,x11,x10,x10,x13,x13,x13 DEFB x13,x13,x13,x29,x11,x11,x11,x15 DEFB x15,x11,x11,x10,x10,x13,x13,x13 DEFB x13,x13,x13,x29,x13,x13,x15,x13 DEFB x13,x11,x11,x10,x10,x0C,x0C,x0C DEFB x29,xF3,xEC,xEC,xF3,xF3,xEC,xEC DEFB xF3,xEC,xEC,xF3,xEC,xF3,xF3,xEC DEFB xEE,x13,x1C,x1A,x18,x13,x13,x13 DEFB x13,x13,x1C,x1A,x18,x15,x15,x15 DEFB x15,x15,x1D,x1C,x1A,x1F,x1F,x1F DEFB x1F,x21,x1F,x1D,x1A,x1C,x1C,x1C DEFB x13,x13,x1C,x1A,x18,x13,x13,x13 DEFB x13,x13,x1C,x1A,x18,x15,x15,x15 DEFB x15,x15,x1D,x1C,x1A,x1F,x1F,x1F DEFB x1F,x21,x1F,x1D,x1A,x18,x18,x18 DEFB x29,x29,x1C,x1C,x1C,x29,x1C,x1C DEFB x1C,x29,x1C,x1F,x18,x1A,x1C,x29 DEFB x29,x1C,x1D,x1D,x1D,x1D,x1D,x1C DEFB x1C,x1C,xEE,xEE,xEE,xEE,x1A,x29 DEFB x1F,x29,x1C,x1C,x1C,x29,x1C,x1C DEFB x1C,x29,x1C,x1F,x18,x1A,x1C,x29 DEFB x29,x1C,x1D,x1D,x1D,x1D,x1D,x1C DEFB x1C,x1C,x1F,x1F,x1D,x1A,x18,x29 DEFB xF4,x40 dat.Ch2: DEFB xFB,x29,x29,x29,x29,x29,x29,x29 DEFB x29,x29,x29,x29,x29,x29,x29,x29 DEFB x29,x29,x29,xF9,xF9,x00,x00,xFB DEFB xFB,xF9,xF9,xFB,xF4,xFB,xFB,xFB DEFB xFB,x29,x29,x18,xF4,xFB,xFB,x00 DEFB x00,xF8,xF9,xF4,xF4,xFB,xFB,x00 DEFB x00,xFB,xFB,xF9,xF9,x00,x00,x05 DEFB x05,x00,x00,xFB,xFB,xF9,xFB,xFB DEFB xFB,xFB,xFB,xFB,x00,xF4,x00,xF4 DEFB x00,x00,xF4,xFB,xFB,xFB,xFB,x07 DEFB x07,xFB,xFB,xFD,xFD,xF9,xF9,xF4 DEFB xF4,xF9,xF9,xFB,xFB,x00,x00,xFB DEFB xFB,xF4,xF4,xF9,xF9,x05,x05,xF9 DEFB xF9,x05,xF9,xF9,xF9,x05,x05,xF9 DEFB xF9,x05,xF9,xF9,xF9,x05,x05,xFB DEFB xFB,xF9,xF9,xFB,xFB,x00,x00,x07 DEFB x07,x00,x07,x00,x29,x29,x29,x29 DEFB x29,x29,x29,xF9,xF9,x11,xF9,xF9 DEFB x11,xF9,x11,xF4,xFB,xFB,xF9,xFB DEFB xFB,xF9,xF9,xF4,xF4,x0C,x00,x00 DEFB x00,x00,x00,x29,x29,x29,x29,x29 DEFB x29,x29,x29,xF9,xF9,x05,xF9,xF9 DEFB xF9,x05,xF9,x07,xFB,x07,x29,xFB DEFB xFB,xF9,xF9,xF4,xF4,x00,xF4,xF4 DEFB xF4,x29,x29,xF9,xF9,x00,x00,xF9 DEFB x1D,xF9,x1D,xF4,xF4,xFB,xFB,xF4 DEFB xFB,xF4,xFB,x29,xFB,xFB,xF8,xF9 DEFB xFB,xF9,xFD,xF8,xF8,xF4,xF4,x24 DEFB x00,xF4,xF4,x24,x29,x29,x29,x29 DEFB x29,x29,x29,xF4,xF4,xFB,xFB,x00 DEFB x00,xFB,xFB,xF4,xFB,xFB,xF9,xFB DEFB xFB,xF9,xF9,xF4,xF4,x24,x24,x24 DEFB x29,xFF,x01,x01,xFF,xFF,x01,x01 DEFB xFF,x01,x01,xFF,x01,xFF,xFF,x01 DEFB xFF,x29,x29,x29,x29,x00,x00,x00 DEFB x00,x29,x29,x29,x29,x05,x05,x05 DEFB x05,x29,x29,x29,x29,x07,x00,x0C DEFB x07,x09,x09,x05,x05,x07,x00,x07 DEFB x00,x00,x07,x00,x07,x0C,x0C,x0C DEFB x0C,x0C,x07,x0C,x07,x05,x09,x05 DEFB x09,x05,x09,x07,x05,xFB,xFB,xFB DEFB xFB,xFD,xFD,xFF,xFF,xF4,x0C,x07 DEFB x29,x29,x29,x29,x29,x00,x29,x29 DEFB x29,x00,x29,x29,x29,x29,x29,x00 DEFB x00,x29,x29,x05,x05,x29,x29,x04 DEFB x04,x29,x29,x29,x29,x29,x29,x29 DEFB x29,x29,x29,x29,x29,x00,x29,x29 DEFB x29,x00,x29,x29,x29,x29,x29,x00 DEFB x00,x29,x29,x05,x05,x29,x29,x00 DEFB x00,x29,x29,x07,x29,x02,x29,x00 DEFB x0C,x40 ;----------------------------------------------------------------------------- ; Goblin Images (2x3) ;----------------------------------------------------------------------------- ORG 50420 img.GoblinL1: DEFB x40,x08,x40,x08,x6F,x9C,x60,xDC DEFB x00,x1C,x1C,x96,x3E,xB2,x1E,x32 DEFB x60,xFE,x7F,xEC,x71,xC8,x3B,x80 DEFB x0E,x00,x01,x30,x07,x78,x0F,xC8 DEFB x19,xCC,x18,x44,x13,xE6,x03,x76 DEFB x06,x30,x06,x30,x0A,x50,x1C,xE0 DEFB x06,x06,x06,x06,x06,x06 img.GoblinL2: DEFB x00,x00,x40,x08,x40,x08,x6F,x9C DEFB x60,xDC,x00,x1C,x1C,x96,x3E,xB2 DEFB x1E,x32,x60,xFE,x7F,xEC,x71,xC8 DEFB x3F,x80,x0E,x60,x01,x70,x03,xD0 DEFB x07,xD0,x04,x58,x05,xC8,x03,x68 DEFB x03,x60,x01,x60,x06,xA0,x0D,xC0 DEFB x06,x06,x06,x06,x06,x06 img.GoblinL3: DEFB x40,x08,x40,x08,x6F,x9C,x60,xDC DEFB x00,x1C,x1C,x96,x3E,xB2,x1E,x32 DEFB x60,xFE,x7F,xEC,x71,xC8,x3B,x80 DEFB x0E,x00,x01,xA0,x01,xF0,x02,x50 DEFB x02,xD0,x06,xC8,x05,xA8,x03,x60 DEFB x03,x60,x03,x20,x05,x50,x0E,xE0 DEFB x06,x06,x06,x06,x06,x06 img.GoblinR1: DEFB x10,x02,x10,x02,x39,xF6,x3B,x06 DEFB x38,x00,x69,x38,x4D,x7C,x4C,x78 DEFB x7F,x06,x37,xFE,x13,x8E,x01,xDC DEFB x00,x70,x05,x80,x0F,x80,x0A,x40 DEFB x0B,x40,x13,x60,x15,xA0,x06,xC0 DEFB x06,xC0,x04,xC0,x0A,xA0,x07,x70 DEFB x06,x06,x06,x06,x06,x06 img.GoblinR2: DEFB x00,x00,x10,x02,x10,x02,x39,xF6 DEFB x3B,x06,x38,x00,x69,x38,x4D,x7C DEFB x4C,x78,x7F,x06,x37,xFE,x13,x8E DEFB x01,xFC,x06,x70,x0E,x80,x0B,xC0 DEFB x0B,xE0,x1A,x20,x13,xA0,x16,xC0 DEFB x06,xC0,x06,x80,x05,x60,x03,xB0 DEFB x06,x06,x06,x06,x06,x06 img.GoblinR3: DEFB x10,x02,x10,x02,x39,xF6,x3B,x06 DEFB x38,x00,x69,x38,x4D,x7C,x4C,x78 DEFB x7F,x06,x37,xFE,x13,x8E,x01,xDC DEFB x00,x70,x0C,x80,x1E,xE0,x13,xF0 DEFB x33,x98,x22,x18,x67,xC8,x6E,xC0 DEFB x0C,x60,x0C,x60,x0A,x50,x07,x38 DEFB x06,x06,x06,x06,x06,x06 img.GoblinJL: DEFB x40,x08,x40,x08,x6F,x9C,x60,xDC DEFB x00,x1C,x1C,x96,x3E,xB2,x1E,x32 DEFB x60,xFE,x7F,xEC,x71,xC8,x3B,x80 DEFB x0E,x00,x01,xA0,x01,xF0,x02,x50 DEFB x02,xD0,x06,xC8,x05,xA8,x03,x60 DEFB x03,x60,x03,x20,x05,x50,x0E,xE0 DEFB x06,x06,x06,x06,x06,x06 img.GoblinJR: DEFB x10,x02,x10,x02,x39,xF6,x3B,x06 DEFB x38,x00,x69,x38,x4D,x7C,x4C,x78 DEFB x7F,x06,x37,xFE,x13,x8E,x01,xDC DEFB x00,x70,x05,x80,x0F,x80,x0A,x40 DEFB x0B,x40,x13,x60,x15,xA0,x06,xC0 DEFB x06,xC0,x04,xC0,x0A,xA0,x07,x70 DEFB x06,x06,x06,x06,x06,x06 ;----------------------------------------------------------------------------- ; Game Images ;----------------------------------------------------------------------------- ORG 51200 img.Computer: DEFB x00,x00,x00,x00,x00,xFF,xFF,xFF ; (20x7) DEFB xFF,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x80,x00,x00,x01,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,xBF,xFF,xFF DEFB xFD,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,xA0,x00,x00,x05,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,xA0,x00,x00 DEFB x05,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,xA0,x00,x00,x05,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,xA0,x00,x00 DEFB x05,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,xA0,x00,x00,x05,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,xA6,x0C,x00 DEFB x05,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x40,x00,x00,x00,x00,x00,x00 DEFB x00,xA0,x0C,x00,xC5,x00,x00,x00 DEFB x00,x00,x00,x00,x00,xA0,x00,x00 DEFB x00,x00,x00,x00,x00,xA0,x0C,x06 DEFB xC5,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x50,x00,x00,x00,x00,x00,x00 DEFB x00,xA0,x0C,x06,xC5,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x28,x00,x00 DEFB x00,x00,x00,x00,x00,xA6,x6C,x06 DEFB xC5,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x15,x00,x00,x00,x00,x00,x00 DEFB x00,xA0,x6D,x86,xC5,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x0B,x00,x00 DEFB x00,x00,x00,x00,x00,xA0,x6D,x86 DEFB xC5,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x05,x00,x00,x00,x00,x00,x00 DEFB x00,xA0,x6D,x86,xC5,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x0F,x00,x00 DEFB x00,x00,x00,x00,x00,xA6,x6D,xB6 DEFB xC5,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,xA0,x6D,xB6,xC5,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,xA0,x6D,xB6 DEFB xC5,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,xA0,x6D,xB6,xC5,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,xA6,x6D,xB6 DEFB xC5,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,xA0,x00,x00,x05,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,xA0,x00,x00 DEFB x05,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,xA0,x00,x00,x05,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x07,xFF,xFF,xE0,x00,xBF,xFF,xFF DEFB xFD,x00,x07,xFF,xFF,xFF,xFF,xF8 DEFB x07,xFF,xFF,xE0,x0D,x55,x55,x50 DEFB x00,x80,x00,x00,x01,x00,x08,x00 DEFB x00,x00,x00,x18,x08,x00,x00,x10 DEFB xFF,xFF,xFF,xFF,x00,xFF,xFF,xFF DEFB xFF,x00,x1F,xFF,xFF,xFF,xFF,xE8 DEFB x0B,xFF,xFF,xD0,x80,x00,x00,x01 DEFB x00,x80,x00,x00,x01,x00,x25,xB6 DEFB xDB,x6D,x8E,x50,x0B,xF0,xFE,xD0 DEFB x80,x00,x03,x6D,x00,x80,x00,x1B DEFB x6D,x00,x4B,x6D,xB6,xDB,x1C,x90 DEFB x0A,x00,x06,xD0,xBF,x60,x03,x6D DEFB x00,xBF,x60,x1B,x6D,x00,xFF,xFF DEFB xFF,xFF,xFF,x20,x0B,xFF,xFF,xD0 DEFB x80,x00,x00,x01,x00,x80,x00,x00 DEFB x01,x00,x80,x00,x00,x00,x01,x40 DEFB x08,x00,x00,x10,xFF,xFF,xFF,xFF DEFB x00,xFF,xFF,xFF,xFF,x00,xFF,xFF DEFB xFF,xFF,xFF,x80,x07,xFF,xFF,xE0 DEFB x80,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x01,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB x80,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x01,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xE0,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x07,xE0,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x07 DEFB xE0,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x07,xE0,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x07 DEFB xE0,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x07,xE0,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x07 DEFB xE0,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x07,xE0,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x07 DEFB xE0,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x07,xE0,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x07 DEFB xE0,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x07,xE0,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x07 DEFB xE0,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x07,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB x45,x45,x45,x45,x45,x45,x45,x45 DEFB x45,x45,x45,x45,x45,x45,x45,x45 DEFB x45,x45,x45,x45,x45,x45,x45,x45 DEFB x45,x45,x42,x43,x45,x45,x45,x45 DEFB x45,x45,x45,x45,x45,x42,x45,x45 DEFB x45,x45,x45,x45,x45,x45,x42,x43 DEFB x45,x45,x45,x45,x45,x45,x45,x45 DEFB x45,x45,x45,x45,x44,x44,x44,x44 DEFB x40,x45,x45,x45,x45,x40,x47,x47 DEFB x47,x47,x47,x47,x46,x46,x46,x46 DEFB x41,x41,x41,x41,x41,x41,x41,x41 DEFB x41,x41,x41,x41,x41,x41,x41,x41 DEFB x41,x41,x41,x41,x41,x41,x41,x41 DEFB x41,x41,x41,x41,x41,x41,x41,x41 DEFB x41,x41,x41,x41,x41,x41,x41,x41 DEFB x41,x41,x41,x41,x41,x41,x41,x41 DEFB x41,x41,x41,x41,x41,x41,x41,x41 DEFB x41,x41,x41,x41 img.LiftUp: DEFB xFF,xFF,xFF,xFF,xFF,xFE,x7F,xFF ; (4x1) DEFB xFF,xFC,x3F,xFF,xFF,xF8,x1F,xFF DEFB xFF,xF0,x0F,xFF,xFF,xFC,x3F,xFF DEFB xFF,xFC,x3F,xFF,xFF,xFC,x3F,xFF DEFB x15,x15,x15,x15 img.LiftDown: DEFB xFF,xFC,x3F,xFF,xFF,xFC,x3F,xFF ; (4x1) DEFB xFF,xFC,x3F,xFF,xFF,xF0,x0F,xFF DEFB xFF,xF8,x1F,xFF,xFF,xFC,x3F,xFF DEFB xFF,xFE,x7F,xFF,xFF,xFF,xFF,xFF DEFB x15,x15,x15,x15 img.BeltRight: DEFB x55,x55,xFF,xFF,xEF,xEF,xF7,xF7 ; (2x1) DEFB x83,x83,xF7,xF7,xEF,xEF,xFF,xFF DEFB x03,x03 img.BeltLeft: DEFB xAA,xAA,xFF,xFF,xF7,xF7,xEF,xEF ; (2x1) DEFB xC1,xC1,xEF,xEF,xF7,xF7,xFF,xFF DEFB x03,x03 img.Kitchen: DEFB x00,x00,x00,x00,x00,x03,x81,xC0 ; (15x6) DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x01,xE7,x80,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x7E,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x03,x81,xC0,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x01,xE7,x80,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x7E,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x03 DEFB x01,xC0,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x01,xE7 DEFB x80,x00,x00,x00,x00,x00,x00,x00 DEFB x03,xE0,x0F,x80,x00,x00,x7E,x00 DEFB x42,x42,x42,x00,x00,x00,x00,x07 DEFB xF0,x1F,xC0,x00,x03,x81,xC0,x7E DEFB x7E,x7E,x00,x00,x00,x00,x7F,xFF DEFB xFF,xFC,x00,x01,xE7,x80,x52,x52 DEFB x52,x00,x00,x00,x00,x7F,xFF,xFF DEFB xFC,x00,x00,x7E,x00,x52,x52,x52 DEFB x00,x00,x00,x00,x80,x00,x00,x02 DEFB x00,x03,x81,xC0,x52,x52,x52,x00 DEFB x00,x00,x00,x80,x00,x00,x02,x00 DEFB x01,xE7,x80,x52,x52,x52,x00,x00 DEFB x00,x00,x84,x21,x08,x42,x00,x00 DEFB x7E,x00,x3C,x3C,x3C,x00,x00,x00 DEFB x00,x8E,x73,x9C,xE2,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x84,x21,x08,x42,x7F,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xF0,x00,x00,x80 DEFB x00,x00,x02,xD5,x55,x55,x55,x55 DEFB x55,x55,x55,x58,x00,x00,x80,x00 DEFB x00,x02,xAA,xAA,xAA,xAA,xAA,xAA DEFB xAA,xAA,xA8,x00,x00,x9F,xFF,xFF DEFB xF2,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xF8,x00,x00,xA0,x00,x00,x0A DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xF8,x00,x00,xA0,x03,x80,x0A,x7F DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xF0 DEFB x00,x00,xA0,x00,x00,x0A,x06,xC0 DEFB x00,x00,x00,x00,x00,x17,x00,x00 DEFB x00,xA0,x00,x00,x0A,x05,xC0,x00 DEFB x00,x00,x00,x00,x1B,x00,x00,x00 DEFB xBF,xFF,xFF,xFA,x06,xC0,x00,x00 DEFB x00,x00,x00,x17,x00,xF0,x1E,xA0 DEFB x00,x00,x0A,x05,xC0,x00,x00,x00 DEFB x00,x00,x1B,x01,xFF,xFF,xBF,xFF DEFB xFF,xFA,x06,xC0,x00,x00,x00,x00 DEFB x00,x17,x01,xC9,x27,xA0,x00,x00 DEFB x0A,x05,xC0,x00,x00,x00,x00,x00 DEFB x1B,x01,x36,xDB,xBF,xFF,xFF,xFA DEFB x06,xC0,x00,x00,x00,x00,x00,x17 DEFB x00,xB6,xDA,xA0,x00,x00,x0A,x05 DEFB xC0,x00,x00,x00,x00,x00,x1B,x00 DEFB xB6,xDA,xBF,xFF,xFF,xFA,x06,xC0 DEFB x00,x00,x00,x00,x00,x17,x00,xB6 DEFB xDA,xA0,x00,x00,x0A,x05,xC0,x00 DEFB x00,x00,x00,x00,x1B,x00,xB6,xDA DEFB xBF,xFF,xFF,xFA,x06,xC0,x00,x00 DEFB x00,x00,x00,x17,x00,xB6,xDA,xA0 DEFB x00,x00,x0A,x05,xC0,x00,x00,x00 DEFB x00,x00,x1B,x00,xB6,xDA,xBF,xFF DEFB xFF,xFA,x06,xC0,x00,x00,x00,x00 DEFB x00,x17,x00,xB6,xDA,xA0,x00,x00 DEFB x0A,x05,xC0,x00,x00,x00,x00,x00 DEFB x1B,x00,xB6,xDA,xBF,xFF,xFF,xFA DEFB x06,xC0,x00,x00,x00,x00,x00,x17 DEFB x00,xB6,xDA,xA0,x00,x00,x0A,x05 DEFB xC0,x00,x00,x00,x00,x00,x1B,x00 DEFB xB6,xDA,xBF,xFF,xFF,xFA,x06,xC0 DEFB x00,x00,x00,x00,x00,x17,x00,xB6 DEFB xDA,xA0,x00,x00,x0A,x05,xC0,x00 DEFB x00,x00,x00,x00,x1B,x00,xB6,xDA DEFB x9F,xFF,xFF,xF2,x06,xC0,x00,x00 DEFB x00,x00,x00,x17,x00,xB6,xDA,xC0 DEFB x00,x00,x06,x05,xC0,x00,x00,x00 DEFB x00,x00,x1B,x00,xB6,xDA,xFF,xFF DEFB xFF,xFE,x06,xC0,x00,x00,x00,x00 DEFB x00,x17,x00,xB6,xDA,xFF,xFF,xFF DEFB xFE,x05,xC0,x00,x00,x00,x00,x00 DEFB x1B,x00,xB6,xDA,x7F,xFF,xFF,xFC DEFB x06,xC0,x00,x00,x00,x00,x00,x17 DEFB x01,xB6,xDB,x40,x00,x00,x04,x05 DEFB xC0,x00,x00,x00,x00,x00,x1B,x01 DEFB xC9,x27,x40,x00,x00,x04,x06,xC0 DEFB x00,x00,x00,x00,x00,x1F,x01,xFF DEFB xFF,x3F,xFF,xFF,xF8,x03,x80,x00 DEFB x00,x00,x00,x00,x0E,x00,xFF,xFE DEFB x04,x04,x04,x04,x04,x04,x04,x04 DEFB x04,x04,x04,x04,x04,x04,x04,x03 DEFB x03,x03,x03,x04,x04,x04,x04,x05 DEFB x07,x03,x07,x07,x07,x07,x03,x03 DEFB x03,x03,x06,x06,x06,x06,x06,x06 DEFB x06,x06,x06,x06,x06,x03,x03,x03 DEFB x03,x06,x06,x06,x06,x06,x06,x06 DEFB x06,x05,x05,x05,x03,x03,x03,x03 DEFB x06,x06,x06,x06,x06,x06,x06,x06 DEFB x05,x05,x05,x03,x03,x03,x03,x06 DEFB x06,x06,x06,x06,x06,x06,x06,x05 DEFB x05,x05 ;----------------------------------------------------------------------------- ; Enemy Images (2x3) ;----------------------------------------------------------------------------- ORG 53378 img.Ghost1: DEFB xA1,x80,xA3,x40,xA5,xA0,xAA,x50 DEFB xAD,xB0,x4E,x70,x44,x20,x42,x40 DEFB x43,xC0,x07,xE0,xCF,xF8,xBF,x5C DEFB xBF,xBE,x7F,xFF,x3F,xFF,x4F,xF3 DEFB x47,xE0,x47,xE0,x47,xC0,x03,x80 DEFB x03,x80,x03,x00,x07,x00,x0E,x00 DEFB x07,x07,x07,x07,x07,x07 img.Ghost2: DEFB x01,x00,x02,xC0,xA5,xA0,xAA,x50 DEFB xAD,xB0,xAF,xF0,xA6,x60,x43,xC0 DEFB x43,xC0,x47,xE0,x5F,xF3,x3F,x1F DEFB x7F,xFF,xBF,xFE,xBF,xFC,xCF,xF0 DEFB x07,xE0,x47,xE0,x43,xE0,x41,xC0 DEFB x41,xC0,x00,xC0,x00,xE0,x00,x70 DEFB x07,x07,x07,x07,x07,x07 DEFS 36 img.Bug1: DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x07,xE0,x0F,xF0,x1F,xF8,xFF,xFF DEFB x1F,xF8,x1F,xF8,x21,x8C,x2A,x54 DEFB x71,x8E,x9E,xF9,x8D,xF1,x1D,xB8 DEFB x32,x4C,x58,x1A,x4C,x32,x07,xE0 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x04,x04,x04,x04,x04,x04 img.Bug2: DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x07,xE0,x8F,xF1,x5F,xFA,x3F,xFC DEFB x1F,xF8,x11,x88,x2E,x74,x2A,x54 DEFB x71,x8E,x5E,xFA,x8D,xF1,x1D,xB8 DEFB x12,x48,x78,x1E,x8C,x31,x07,xE0 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x04,x04,x04,x04,x04,x04 img.Head1: DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x03,xC0,x0B,xF0,x15,x78,x3F,xFC DEFB x50,x0C,x65,xA6,xC7,xE7,xF1,x8F DEFB xBE,x7F,xDD,xF7,x2C,x3A,x5A,x5E DEFB x2C,x3C,x16,x78,x0B,xF0,x03,xC0 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x06,x06,x06,x06,x06,x06 img.Head2: DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x03,xC0,x0D,xF0,x1A,xF8,x3F,xFC DEFB x51,x8C,x64,x26,xC5,xA7,xB3,xCF DEFB x5D,xBB,xAA,x77,x5F,xFA,x72,x4E DEFB x38,x1C,x1C,x38,x0B,xF0,x02,xC0 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x06,x06,x06,x06,x06,x06 DEFS 54 img.Devil1: DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x01,x02,x02,x87,x05,x42,x0A,xE2 DEFB x0B,xA2,x15,xF2,x17,xF2,x09,x22 DEFB x04,x41,x03,x16,x0A,xA8,x15,x52 DEFB x2A,xA2,x55,x42,x22,x80,x00,x00 DEFB x0E,xE0,x00,x00,x00,x00,x00,x00 DEFB x05,x05,x05,x05,x05,x05 img.Devil2: DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x01,x00,x02,x80,x05,x40,x0A,xE2 DEFB x0B,xA7,x15,xF2,x17,xF2,x09,x20 DEFB x04,x42,x03,x81,x0A,xAE,x15,x52 DEFB x2A,xA2,x55,x42,x22,x82,x00,x02 DEFB x0E,xE2,x00,x00,x00,x00,x00,x00 DEFB x05,x05,x05,x05,x05,x05 img.Car1: DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x07,xE0,x03,x40 DEFB x01,x80,x01,x80,x01,x80,x01,x80 DEFB x01,x80,x01,x80,x01,x80,x01,x80 DEFB x3F,xFC,x01,x80,x00,x00,x1C,x38 DEFB x26,x64,x32,x4C,x1C,x38,x00,x00 DEFB x03,x03,x03,x03,x03,x03 img.Car2: DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x07,xE0,x03,xC0 DEFB x01,x80,x01,x80,x01,x80,x01,x80 DEFB x3F,xFC,x01,x80,x00,x00,x1C,x38 DEFB x32,x4C,x26,x64,x1C,x38,x00,x00 DEFB x03,x03,x03,x03,x03,x03 DEFS 18 img.Medusa1: DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x04,x40,x12,xC0,x0B,x10 DEFB x07,xA0,x3F,xC0,x0F,xF8,x3F,xC0 DEFB x2F,xF8,x1B,xE0,x22,xA0,x05,x98 DEFB x0A,x40,x00,x40,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x02,x02,x02,x02,x02,x02 img.Medusa2: DEFB x00,x00,x00,x00,x00,x00,x05,x20 DEFB x03,x40,x31,x74,x1D,xCC,x03,x50 DEFB x3F,xEC,x07,xF4,x3F,xE0,x67,xFC DEFB x0B,xF3,x12,xAC,x64,xA4,x4B,x10 DEFB x1A,xD8,x00,xC0,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x02,x02,x02,x02,x02,x02 ;----------------------------------------------------------------------------- ; Game Images ;----------------------------------------------------------------------------- ORG 54134 img.GameOver: DEFB x00,x00,x00,x00,x00,x00,x00,x00 ; (12x3) DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x0F,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xF0,x18,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x18 DEFB x37,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xEC,x37,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xF4 DEFB x36,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x74,x34,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x34 DEFB x34,x9C,x0C,x42,x5C,x00,x00,x9E DEFB x62,x5C,x7C,x34,x34,x72,x16,x46 DEFB x34,x00,x00,x73,xB5,x34,xA2,x34 DEFB x34,x7C,x26,x6E,x18,x00,x00,x63 DEFB x74,x18,x36,x34,x34,x60,x26,x76 DEFB x3C,x00,x00,x63,x34,x3C,x3C,x34 DEFB x34,x66,x3E,x56,x60,x00,x00,x63 DEFB x34,x60,x36,x34,x34,x3E,xA6,xD7 DEFB x63,x00,x00,x62,x18,x63,xA2,x34 DEFB x34,x46,x43,x42,x3C,x00,x00,x3C DEFB x08,x3C,x63,x34,x34,x3C,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x34 DEFB x34,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x34,x36,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x74 DEFB x3B,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xF4,x3C,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x0C DEFB x1F,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xF8,x0F,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xF0 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x45,x45,x45,x45,x45,x45,x45,x45 DEFB x45,x45,x45,x45,x45,x45,x45,x45 DEFB x45,x45,x45,x45,x45,x45,x45,x45 DEFB x45,x45,x45,x45,x45,x45,x45,x45 DEFB x45,x45,x45,x45 img.Info: DEFB x00,x00,x00,x00,x00,x00,x00,x00 ; (14x3) DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x0F,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xF0,x18,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x18 DEFB x37,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xEC,x37,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xF4,x36,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x74,x34,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x34 DEFB x34,x2C,x00,x0F,x00,x00,x00,x00 DEFB x06,x04,x00,x00,x00,x34,x34,x1C DEFB x00,x19,x00,x20,x00,x00,x0C,x00 DEFB x00,x00,x04,x34,x34,x0C,x2C,x12 DEFB x1C,x38,x54,x1D,x1F,x08,x1C,x2C DEFB x0C,x34,x34,x0C,x5A,x3C,x26,x48 DEFB xAA,x22,x38,x10,x26,x5A,x16,x34 DEFB x34,x0C,xB6,xF8,x65,x98,xAA,x64 DEFB x58,x30,x65,xB6,x3A,x34,x34,x2D DEFB x27,x57,xB8,x1F,x57,xBF,x8F,xDF DEFB xB8,x27,xDD,x34,x34,x1E,x00,x90 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x34,x34,x00,x00,xE0,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x34 DEFB x34,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x34,x36,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x74,x3B,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xF4,x3C,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x0C DEFB x1F,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xF8,x0F,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xF0,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x06,x06,x06,x06,x06,x06,x06,x06 DEFB x06,x06,x06,x06,x06,x06,x06,x03 DEFB x03,x03,x03,x03,x03,x03,x03,x03 DEFB x03,x03,x03,x06,x06,x06,x06,x06 DEFB x06,x06,x06,x06,x06,x06,x06,x06 DEFB x06,x06 img.Continue: DEFB x00,x00,x00,x00,x00,x00,x00,x00 ; (10x3) DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x0F,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xF0,x18,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x18 DEFB x37,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xEC,x37,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xF4,x36,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x74,x34,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x34 DEFB x34,x5C,x00,x00,x06,x04,x00,x00 DEFB x00,x34,x34,xB4,x00,x00,x0C,x00 DEFB x00,x00,x00,x34,x34,x78,x1C,x2C DEFB x1F,x08,x2C,x26,x1C,x34,x34,x60 DEFB x26,x5A,x38,x10,x5A,x6C,x24,x34 DEFB x34,x60,x65,xB6,x58,x30,xB6,xEC DEFB x78,x34,x34,x63,x38,x27,x8F,xDF DEFB x27,x37,x9F,x34,x34,x3C,x00,x00 DEFB x00,x00,x00,x00,x00,x34,x34,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x34 DEFB x34,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x34,x36,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x74,x3B,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xF4,x3C,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x0C DEFB x1F,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xF8,x0F,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xF0,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x03,x03,x03,x03,x03,x03,x03,x03 DEFB x03,x03,x03,x06,x06,x06,x06,x06 DEFB x06,x06,x06,x03,x03,x03,x03,x03 DEFB x03,x03,x03,x03,x03,x03 img.Congrat: DEFB x00,x00,x00,x00,x00,x00,x00,x00 ; (17x3) DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x0F,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xF0,x18,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x18,x37,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xEC,x37,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xF4,x36,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x74,x34 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x34 DEFB x34,x5C,x9E,x23,x9C,x7C,x0C,x76 DEFB x61,x4C,x0C,x76,x2C,x9E,x23,x4E DEFB x34,x34,xB4,x73,x32,x72,xA2,x16 DEFB x9E,xB2,xBC,x16,x9E,x1C,x73,x32 DEFB x59,x34,x34,x78,x63,x3A,x7C,x36 DEFB x26,x58,x72,x58,x26,x58,x0C,x63 DEFB x3A,x3E,x34,x34,x60,x63,x2E,x60 DEFB x3C,x26,x18,x32,x18,x26,x18,x0C DEFB x63,x2E,x0C,x34,x34,x60,x63,x26 DEFB x66,x36,x3E,x18,x32,x18,x3E,x18 DEFB x0C,x63,x26,x06,x34,x34,x63,x62 DEFB xA2,x3E,xA2,xA6,x19,x32,x71,xA6 DEFB x19,x2D,x62,xA2,x46,x34,x34,x3C DEFB x3C,x43,x46,x63,x43,x0E,x1C,x3E DEFB x43,x0E,x1E,x3C,x43,x3C,x34,x34 DEFB x00,x00,x00,x3C,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x34 DEFB x34,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x34,x36,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x74,x3B,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xF4,x3C,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x0C,x1F,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xF8,x0F,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xF0,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x42,x42,x42,x42,x42,x42,x42,x42 DEFB x42,x42,x42,x42,x42,x42,x42,x42 DEFB x42,x42,x45,x45,x45,x45,x45,x45 DEFB x45,x45,x45,x45,x45,x45,x45,x45 DEFB x45,x42,x42,x42,x42,x42,x42,x42 DEFB x42,x42,x42,x42,x42,x42,x42,x42 DEFB x42,x42,x42 ;----------------------------------------------------------------------------- ; Witch Images ;----------------------------------------------------------------------------- ORG 55565 img.WitchRoom: DEFB x00,x00,x00,x00,x00,x00,x00,x00 ; (15x9) DEFB x00,x00,x00,x08,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x08,x00,x00,x00,xC0,x03 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x08,x00,x00,x00,xC0,x03,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x08,x00,x00,x00,xC0,x03,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x08 DEFB x00,x00,x00,xC0,x03,x00,x00,x00 DEFB x00,x7C,x00,x7C,x00,x00,x08,x00 DEFB x00,x00,xC0,x03,x00,x00,x00,x00 DEFB x83,x60,x83,x60,x00,x08,x00,x00 DEFB x00,xFF,xFF,x00,x00,x00,x00,x81 DEFB xC0,x81,xC0,x00,x08,x00,x00,x00 DEFB xFF,xFF,x00,x00,x00,x00,xFF,x80 DEFB xFF,x00,x00,x08,x00,x00,x00,xC0 DEFB x03,x00,x00,x00,x00,xDD,x80,xDD DEFB x80,x00,x08,x00,x00,x00,xC0,x03 DEFB x00,x00,x00,x00,xEB,x00,xEB,x80 DEFB x00,x08,x00,x00,x00,xC0,x03,x00 DEFB x00,x00,x00,xF7,x80,xF7,x80,x00 DEFB x08,x00,x00,x00,xC0,x03,x00,x00 DEFB x00,x00,xEB,x80,xEB,x80,x00,x0C DEFB x00,x00,x00,xC0,x03,x00,x00,x00 DEFB x00,xDD,x80,xDD,x80,x00,x18,x00 DEFB x00,x00,xC0,x03,x00,x00,x00,x00 DEFB xFF,x00,xFF,x80,x00,x0C,x00,x00 DEFB x00,xFF,xFF,x00,x00,x00,x00,x7F DEFB x00,x7F,x00,x00,x14,x00,x00,x00 DEFB x00,x00,x3F,xFC,x3F,xFC,x3F,xFC DEFB x3F,xFC,x3F,xFC,x3F,xFC,x3F,x27 DEFB xFC,x67,xFE,x67,xFE,x67,xFE,x67 DEFB xFE,x67,xFE,x67,xFE,x67,x1F,xFC DEFB x5F,xFE,x5F,xFE,x5F,xFE,x5F,xFE DEFB x5F,xFE,x5F,xFE,x5F,x3F,xFC,x7F DEFB xFE,x7F,xFE,x7F,xFE,x7F,xFE,x7F DEFB xFE,x7F,xFE,x7F,x3F,xFC,x7F,xFE DEFB x7F,xFE,x7F,xFE,x7F,xFE,x7F,xFE DEFB x7F,xFE,x7F,x3F,xFC,x7F,xFE,x7F DEFB xFE,x7F,xFE,x7F,xFE,x7F,xFE,x7F DEFB xFE,x7F,x3F,xFC,x3F,xFC,x3F,xFC DEFB x3F,xFC,x3F,xFC,x3F,xFC,x3F,xFC DEFB x3F,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,xFC,x3F,xFC,x3F,xFC,x3F DEFB xFC,x3F,xFC,x3F,xFC,x3F,xFC,x3E DEFB x64,xFE,x67,xFE,x67,xFE,x67,xFE DEFB x67,xFE,x67,xFE,x67,xFE,x3E,x5C DEFB xFE,x5F,xFE,x5F,xFE,x5F,xFE,x5F DEFB xFE,x5F,xFE,x5F,xFE,x3E,x7C,xFE DEFB x7F,xFE,x7F,xFE,x7F,xFE,x7F,xFE DEFB x7F,xFE,x7F,xFE,x3E,x7C,xFE,x7F DEFB xFE,x7F,xFE,x7F,xFE,x7F,xFE,x7F DEFB xFE,x7F,xFE,x3E,x7C,xFE,x7F,xFE DEFB x7F,xFE,x7F,xFE,x7F,xFE,x7F,xFE DEFB x7F,xFE,x3C,x3C,xFC,x3F,xFC,x3F DEFB xFC,x3F,xFC,x3F,xFC,x3F,xFC,x3F DEFB xFC,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB xFF,xFF,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,xFC,x3F,xC0 DEFB x03,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,xFE,x67,xC0,x03 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,xFE,x5F,xC0,x03,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,xFE,x7F,xC0,x03,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,xFE,x7F,xC0,x03,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB xFE,x7F,xC0,x03,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,xFC DEFB x3F,xFF,xFF,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB xFF,xFF,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x3F,xFC,xC0 DEFB x03,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x67,xFE,xC0,x03 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x5F,xFE,xC0,x03,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x7F,xFE,xC0,x03,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x7F,xFE,xC0,x03,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x7F,xFE,xC0,x03,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x3F DEFB xFC,xFF,xFF,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB xFF,xFF,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,xFC,x3F,xC0 DEFB x03,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,xFE,x67,xC0,x03 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,xFE,x5F,xC0,x03,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,xFE,x7F,xC0,x03,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,xFE,x7F,xC0,x03,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB xFE,x7F,xC0,x03,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,xFC DEFB x3F,xFF,xFF,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB xFF,xFF,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x3F,xFC,xC0 DEFB x03,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x67,xFE,xC0,x03 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x5F,xFE,xC0,x03,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x7F,xFE,xC0,x03,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x7F,xFE,xC0,x03,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x7F,xFE,xC0,x03,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x3F DEFB xFC,xFF,xFF,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB xFF,xFF,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,xFC,x3F,xC0 DEFB x03,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,xFE,x67,xC0,x03 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,xFE,x5F,xC0,x03,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,xFE,x7F,xC0,x03,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,xFE,x7F,xC0,x03,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB xFE,x7F,xC0,x03,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,xFC DEFB x3F,xC0,x03,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x06,x06,x00,x00,x00,x00,x04,x04 DEFB x04,x04,x03,x03,x00,x00,x00,x06 DEFB x06,x00,x00,x00,x00,x04,x04,x04 DEFB x04,x03,x03,x00,x00,x00,x32,x32 DEFB x32,x32,x32,x32,x32,x32,x32,x32 DEFB x32,x32,x32,x32,x32,x32,x32,x32 DEFB x32,x32,x32,x32,x32,x32,x32,x32 DEFB x32,x32,x32,x32,x06,x06,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x32,x32,x06,x06,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x32,x32,x06,x06,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x32 DEFB x32,x06,x06,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x32,x32 DEFB x06,x06,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x32,x32 img.Witch1: DEFB x03,xC0,x00,xE0,x0F,xF0,x00,xF8 ; (2x2) DEFB x03,x80,x01,x00,x02,x80,x07,x80 DEFB x09,xC0,x11,xC0,x20,xEB,xBF,xFE DEFB x00,x45,x01,xC0,x00,x00,x00,x00 DEFB x06,x06,x06,x06 img.Witch2: DEFB x01,x80,x00,xA0,x0D,xB0,x00,xB0 ; (2x2) DEFB x01,x80,x01,x00,x00,x80,x05,x80 DEFB x09,x80,x01,x80,x20,xA2,xAD,xB6 DEFB x00,x04,x01,x80,x00,x00,x00,x00 DEFB x06,x06,x06,x06 img.Witch3: DEFB x01,x80,x00,x00,x0D,xB0,x00,xB0 ; (2x2) DEFB x00,x00,x01,x00,x00,x80,x00,x00 DEFB x09,x80,x01,x80,x00,x00,xAD,xB6 DEFB x00,x04,x01,x80,x00,x00,x00,x00 DEFB x06,x06,x06,x06 img.Witch4: DEFB x00,x80,x00,x00,x0A,xA0,x00,x00 ; (2x2) DEFB x00,x80,x00,x00,x02,x80,x00,x00 DEFB x08,x80,x00,x00,x20,xAA,x4A,x00 DEFB x00,x05,x00,x00,x01,x00,x00,x00 DEFB x06,x06,x06,x06 ;----------------------------------------------------------------------------- ; Ready Images ;----------------------------------------------------------------------------- ORG 56924 img.Ready1: DEFB x00,x00,x00,x00,x00,x00,x00,x00 ; (8x2) DEFB x7F,xC3,xFF,xBF,xC3,xFF,x1F,x7C DEFB x40,x32,x01,xA0,x62,x01,x93,x4C DEFB x4F,x9A,x7F,xA7,x32,x78,xD3,x4C DEFB x4C,x9A,x60,x26,x9A,x64,xD3,x4C DEFB x4F,x9A,x7F,xA7,x9A,x64,xD3,xCC DEFB x40,x1A,x01,xA0,x1A,x64,xD0,x0C DEFB x4F,x3A,x7F,xA7,x9A,x64,xDF,xCC DEFB x4C,x9A,x60,x26,x9A,x64,xC0,x4C DEFB x4C,x9A,x60,x26,x9A,x64,xC0,x4C DEFB x4C,x9A,x60,x26,x9A,x64,xDF,x4C DEFB x4C,x9A,x7F,xA6,x9A,x64,xD3,x4C DEFB x4C,x9A,x7F,xA6,x9A,x78,xD3,xCC DEFB x4C,x9A,x00,xA6,x9A,x01,x90,x0C DEFB x7C,xFB,xFF,xBE,xFB,xFE,x1F,xFC DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x29,x29,x29,x29,x29,x29,x29,x29 DEFB x29,x29,x29,x29,x29,x29,x29,x29 img.Ready2: DEFB x00,x00,x00,x00,x00,x00,x00,x00 ; (8x2) DEFB x7F,xC3,xFF,xBF,xC3,xFF,x1F,x7C DEFB x40,x32,x01,xA0,x62,x01,x93,x4C DEFB x4F,x9A,x7F,xA7,x32,x78,xD3,x4C DEFB x4C,x9A,x60,x26,x9A,x64,xD3,x4C DEFB x4F,x9A,x7F,xA7,x9A,x64,xD3,xCC DEFB x40,x1A,x01,xA0,x1A,x64,xD0,x0C DEFB x4F,x3A,x7F,xA7,x9A,x64,xDF,xCC DEFB x4C,x9A,x60,x26,x9A,x64,xC0,x4C DEFB x4C,x9A,x60,x26,x9A,x64,xC0,x4C DEFB x4C,x9A,x60,x26,x9A,x64,xDF,x4C DEFB x4C,x9A,x7F,xA6,x9A,x64,xD3,x4C DEFB x4C,x9A,x7F,xA6,x9A,x78,xD3,xCC DEFB x4C,x9A,x00,xA6,x9A,x01,x90,x0C DEFB x7C,xFB,xFF,xBE,xFB,xFE,x1F,xFC DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x05,x05,x05,x05,x05,x05,x05,x05 DEFB x05,x05,x05,x05,x05,x05,x05,x05 img.Readysoft: DEFB x00,x00,x00,x00,x00,x00,x00,x00 ; (11x5) DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x01,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,x80,x02 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x40,x04,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,x20,x05,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,xA0 DEFB x05,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,xA0,x05,x3F,xF8,xFF,xFB DEFB xFF,x0F,xFE,x3E,x7C,xA0,x05,x20 DEFB x0C,x80,x1A,x01,x88,x03,x26,x4C DEFB xA0,x05,x27,xE6,x9F,xFA,x7C,xC9 DEFB xF1,xA6,x4C,xA0,x05,x26,x26,x98 DEFB x02,x62,x69,x89,xA6,x4C,xA0,x05 DEFB x27,xE6,x9F,xFA,x7E,x69,x89,xA7 DEFB xCC,xA0,x05,x20,x06,x80,x1A,x00 DEFB x69,x89,xA0,x0C,xA0,x05,x27,xCE DEFB x9F,xFA,x7E,x69,x89,xBF,xCC,xA0 DEFB x05,x26,x26,x98,x02,x62,x69,x89 DEFB x80,x4C,xA0,x05,x26,x26,x98,x02 DEFB x62,x69,x89,x80,x4C,xA0,x05,x26 DEFB x26,x98,x02,x62,x69,x89,xBE,x4C DEFB xA0,x05,x26,x26,x9F,xFA,x62,x69 DEFB xF9,xA7,xCC,xA0,x05,x26,x26,x9F DEFB xFA,x62,x69,xF1,xA7,xCC,xA0,x05 DEFB x26,x26,x80,x1A,x62,x68,x03,x20 DEFB x0C,xA0,x05,x3E,x3E,xFF,xFB,xE3 DEFB xEF,xFC,x3F,xFC,xA0,x05,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,xA0 DEFB x05,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,xA0,x05,x7E,x7E,x7E,x7E DEFB x42,x3C,x7C,x7E,x7E,xA0,x05,x40 DEFB x42,x40,x10,x42,x42,x42,x40,x40 DEFB xA0,x05,x7E,x42,x7E,x10,x42,x7E DEFB x7C,x7E,x7E,xA0,x05,x02,x42,x40 DEFB x10,x5A,x42,x42,x40,x02,xA0,x05 DEFB x7E,x7E,x40,x10,x24,x42,x42,x7E DEFB x7E,xA0,x05,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,xA0,x04,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,x20 DEFB x02,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x40,x01,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,x80,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x06,x06,x06,x06,x06,x06,x06,x06 DEFB x06,x06,x06,x06,x17,x17,x17,x17 DEFB x17,x17,x17,x17,x17,x06,x06,x06 DEFB x06,x06,x06,x06,x06,x06,x06,x06 DEFB x06,x06,x05,x05,x05,x05,x05,x05 DEFB x05,x05,x05,x06,x06,x06,x06,x06 DEFB x06,x06,x06,x06,x06,x06,x06 ;----------------------------------------------------------------------------- ; Disk Print Data (2x1) ;----------------------------------------------------------------------------- ORG 57707 dat.DiskPrint1: DEFB xFF,xFF,xBF,xED,xFF,xCF,xBF,xED DEFB xFF,xEF,xBF,xED,xFF,xFF,xBF,xFD dat.DiskPrint2: DEFB xFF,xFF,xBF,x8D,xFF,xEF,xBF,x8D DEFB xFF,xBF,xBF,x8D,xFF,xFF,xBF,xFD dat.DiskPrint3: DEFB xFF,xFF,xBF,x8D,xFF,xEF,xBF,x8D DEFB xFF,xEF,xBF,x8D,xFF,xFF,xBF,xFD dat.DiskPrint4: DEFB xFF,xFF,xBF,xAD,xFF,xAF,xBF,x8D DEFB xFF,xEF,xBF,xED,xFF,xFF,xBF,xFD dat.DiskPrint5: DEFB xFF,xFF,xBF,x8D,xFF,xBF,xBF,x8D DEFB xFF,xEF,xBF,x8D,xFF,xFF,xBF,xFD dat.DiskPrint6: DEFB xFF,xFF,xBF,x8D,xFF,xBF,xBF,x8D DEFB xFF,xAF,xBF,x8D,xFF,xFF,xBF,xFD ;----------------------------------------------------------------------------- ; Door Open Data (1x2) ;----------------------------------------------------------------------------- ORG 58124 dat.DoorLeft1: DEFB x06,x1E,x3E,x7E,xCA,xCA,xFE,xCA DEFB xCA,xFE,xCA,xCA,xFE,xCA,xCA,xFE dat.DoorRight1: DEFB x60,x78,x7C,x7E,x53,x53,x7F,x53 DEFB x53,x7F,x53,x53,x7F,x53,x53,x7F dat.DoorLeft2: DEFB x04,x0C,x3C,x7C,xD4,xD4,xFC,xD4 DEFB xD4,xFC,xD4,xD4,xFC,xD4,xD4,xFC dat.DoorRight2: DEFB x20,x30,x3C,x3E,x2B,x2B,x3F,x2B DEFB x2B,x3F,x2B,x2B,x3F,x2B,x2B,x3F dat.DoorLeft3: DEFB x08,x18,x38,x78,xA8,xA8,xF8,xA8 DEFB xA8,xF8,xA8,xA8,xF8,xA8,xA8,xF8 dat.DoorRight3: DEFB x10,x18,x1C,x1E,x15,x15,x1F,x15 DEFB x15,x1F,x15,x15,x1F,x15,x15,x1F dat.DoorLeft4: DEFB x10,x30,x70,x70,xB0,xB0,xF0,xB0 DEFB xB0,xF0,xB0,xB0,xF0,xB0,xB0,xF0 dat.DoorRight4: DEFB x08,x0C,x0E,x0E,x0B,x0B,x0F,x0B DEFB x0B,x0F,x0B,x0B,x0F,x0B,x0B,x0F dat.DoorLeft5: DEFB x20,x20,x60,x60,xA0,xA0,xE0,xA0 DEFB xA0,xE0,xA0,xA0,xE0,xA0,xA0,xE0 dat.DoorRight5: DEFB x04,x04,x06,x06,x05,x05,x07,x05 DEFB x05,x07,x05,x05,x07,x05,x05,x07 dat.DoorLeft6: DEFB x40,x40,x40,x40,xC0,xC0,xC0,xC0 DEFB xC0,xC0,xC0,xC0,xC0,xC0,xC0,xC0 dat.DoorRight6: DEFB x02,x02,x02,x02,x03,x03,x03,x03 DEFB x03,x03,x03,x03,x03,x03,x03,x03 dat.DoorLeft7: DEFB x80,x80,x80,x80,x80,x80,x80,x80 DEFB x80,x80,x80,x80,x80,x80,x80,x80 dat.DoorRight7: DEFB x01,x01,x01,x01,x01,x01,x01,x01 DEFB x01,x01,x01,x01,x01,x01,x01,x01 ;----------------------------------------------------------------------------- ; Control Text ;----------------------------------------------------------------------------- ORG 58348 txt.Castle: DEFM 'GHOST CASTLE' txt.Keys: DEFM 'Keys :' txt.O.Left: DEFM 'O.......Left' txt.P.Right: DEFM 'P......Right' txt.M.Jump: DEFM 'M.......Jump' txt.I.Info: DEFM 'I.......Info' txt.H.Hold: DEFM 'H.......Hold' txt.C1988: DEFM 'C 1988 READYSOFT' txt.Enter: DEFM 'Press ENTER to start' ;----------------------------------------------------------------------------- ; Handwrite Charset ;----------------------------------------------------------------------------- ORG 58464 dat.HandChars: DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB x00,x00,x00,x00,x00,x00,x00,x00 ; ' ' DEFB x00,x10,x10,x10,x10,x00,x10,x00 ; '!' DEFB x00,x24,x24,x00,x00,x00,x00,x00 ; '"' DEFB x00,x24,x7E,x24,x24,x7E,x24,x00 ; '#' DEFB x00,x08,x3E,x28,x3E,x0A,x3E,x08 ; '$' DEFB x00,x62,x64,x08,x10,x26,x46,x00 ; '%' DEFB x00,x10,x28,x10,x2A,x44,x3A,x00 ; '&' DEFB x00,x08,x10,x00,x00,x00,x00,x00 ; ''' DEFB x00,x04,x08,x08,x08,x08,x04,x00 ; '(' DEFB x00,x20,x10,x10,x10,x10,x20,x00 ; ')' DEFB x00,x00,x14,x08,x3E,x08,x14,x00 ; '*' DEFB x00,x00,x08,x08,x3E,x08,x08,x00 ; '+' DEFB x00,x00,x00,x00,x00,x08,x08,x10 ; ',' DEFB x00,x00,x00,x00,x3E,x00,x00,x00 ; '-' DEFB x00,x00,x00,x00,x00,x18,x18,x00 ; '.' DEFB x00,x00,x02,x04,x08,x10,x20,x00 ; '/' DEFB x3C,x42,x42,x00,x42,x42,x3C,x00 ; '0' DEFB x04,x04,x04,x00,x04,x04,x04,x00 ; '1' DEFB x3C,x02,x02,x3C,x40,x40,x3C,x00 ; '2' DEFB x3C,x02,x02,x3C,x02,x02,x3C,x00 ; '3' DEFB x22,x22,x22,x1C,x02,x02,x02,x00 ; '4' DEFB x3C,x40,x40,x3C,x02,x02,x3C,x00 ; '5' DEFB x3C,x40,x40,x3C,x42,x42,x3C,x00 ; '6' DEFB x3C,x02,x02,x00,x02,x02,x02,x00 ; '7' DEFB x3C,x42,x42,x3C,x42,x42,x3C,x00 ; '8' DEFB x3C,x42,x42,x3C,x02,x02,x3C,x00 ; '9' DEFB x00,x00,x00,x10,x00,x00,x10,x00 ; ':' DEFB x00,x00,x10,x00,x00,x10,x10,x20 ; ';' DEFB x00,x00,x04,x08,x10,x08,x04,x00 ; '<' DEFB x00,x00,x00,x3E,x00,x3E,x00,x00 ; '=' DEFB x00,x00,x10,x08,x04,x08,x10,x00 ; '>' DEFB x00,x3C,x42,x04,x08,x00,x08,x00 ; '?' DEFB x00,x3C,x4A,x56,x5E,x40,x3C,x00 ; '@' DEFB x0C,x16,x26,x26,x3E,xA6,x43,x00 ; 'A' DEFB x3C,x52,x3E,x33,x33,xB3,x6E,x00 ; 'B' DEFB x5C,xB4,x78,x60,x60,x63,x3C,x00 ; 'C' DEFB x7C,x96,x73,x33,x33,xA6,x7C,x00 ; 'D' DEFB x5C,x34,x18,x3C,x60,x63,x3C,x00 ; 'E' DEFB x71,x9E,x70,x3C,x30,xB0,x60,x00 ; 'F' DEFB x9C,x72,x7C,x60,x66,x3E,x46,x3C ; 'G' DEFB xA4,x67,x66,xFE,x66,x66,xC3,x00 ; 'H' DEFB x2C,x1C,x0C,x0C,x0C,x2D,x1E,x00 ; 'I' DEFB x16,x1E,x16,x06,x26,x47,x3C,x00 ; 'J' DEFB xB2,x72,x3C,x32,x32,xB3,x43,x00 ; 'K' DEFB x4C,xBC,x58,x18,x18,x71,x3E,x00 ; 'L' DEFB x42,x46,x6E,x76,x56,xD7,x42,x00 ; 'M' DEFB x23,x32,x3A,x2E,x26,xA2,x43,x00 ; 'N' DEFB x9E,x73,x63,x63,x63,x62,x3C,x00 ; 'O' DEFB x7E,xB3,x73,x3E,x30,xB0,x60,x00 ; 'P' DEFB x9C,x72,x63,x63,x7B,x66,x3E,x03 ; 'Q' DEFB x7C,xA2,x36,x3C,x36,xA2,x63,x00 ; 'R' DEFB x4E,x59,x3E,x0C,x06,x46,x3C,x00 ; 'S' DEFB x76,x9E,x58,x18,x18,x19,x0E,x00 ; 'T' DEFB x61,xB2,x72,x32,x32,x32,x1C,x00 ; 'U' DEFB x62,xB5,x74,x34,x34,x18,x08,x00 ; 'V' DEFB x45,xED,x6D,x7D,x77,x66,x24,x00 ; 'W' DEFB x62,xB5,x3C,x18,x38,xAD,xC6,x00 ; 'X' DEFB x62,xB6,x36,x36,x1E,x46,x46,x3C ; 'Y' DEFB x7E,x8C,x58,x18,x30,x61,xFE,x00 ; 'Z' DEFB x00,x0E,x08,x08,x08,x08,x0E,x00 ; '[' DEFB x00,x00,x40,x20,x10,x08,x04,x00 ; '\' DEFB x00,x70,x10,x10,x10,x10,x70,x00 ; ']' DEFB x00,x10,x38,x54,x10,x10,x10,x00 ; '^' DEFB x00,x00,x00,x00,x00,x00,x00,xFF ; '_' DEFB x00,x1C,x22,x78,x20,x20,x7E,x00 ; '`' DEFB x00,x00,x1D,x22,x64,xBF,x00,x00 ; 'a' DEFB x0E,x12,x24,x3A,x62,xBD,x00,x00 ; 'b' DEFB x00,x00,x1C,x24,x60,xBF,x00,x00 ; 'c' DEFB x01,x02,x3C,x48,xC8,x77,x00,x00 ; 'd' DEFB x00,x00,x1C,x24,x78,x9F,x00,x00 ; 'e' DEFB x0F,x19,x12,x3C,xF8,x57,x90,xE0 ; 'f' DEFB x00,x00,x1F,x32,xD4,x3F,x48,x70 ; 'g' DEFB x07,x09,x12,x3C,xE4,x47,x00,x00 ; 'h' DEFB x04,x00,x08,x10,x30,xDF,x00,x00 ; 'i' DEFB x02,x00,x0C,x38,xD8,x7F,x90,xF0 ; 'j' DEFB x0E,x12,x1C,x34,x7C,xA7,x00,x00 ; 'k' DEFB x06,x09,x12,x14,x38,xDF,x00,x00 ; 'l' DEFB x00,x00,x54,xAA,xAA,x57,x00,x00 ; 'm' DEFB x00,x00,x2C,x5A,xB6,x27,x00,x00 ; 'n' DEFB x00,x00,x1C,x26,x65,xB8,x00,x00 ; 'o' DEFB x00,x00,x14,x3A,xF6,x67,x40,xC0 ; 'p' DEFB x00,x00,x1E,x26,xFD,x08,x18,x30 ; 'q' DEFB x00,x20,x38,x48,x98,x1F,x00,x00 ; 'r' DEFB x00,x04,x0C,x16,x3A,xDD,x00,x00 ; 's' DEFB x06,x0C,x1F,x38,x58,x8F,x00,x00 ; 't' DEFB x00,x00,x26,x6C,xEC,x37,x00,x00 ; 'u' DEFB x00,x00,x22,x57,xB4,x38,x00,x00 ; 'v' DEFB x00,x00,x6B,xDA,x5A,x6C,x00,x00 ; 'w' DEFB x00,x00,x12,x2D,x4C,xB3,x00,x00 ; 'x' DEFB x00,x00,x09,x32,xDC,x3F,x48,x70 ; 'y' DEFB x00,x3C,x28,x5C,x9F,x24,x28,x30 ; 'z' DEFB x30,x78,xCC,xCF,xCF,xCC,x78,x30 ; '{' DEFB x00,x00,x00,xFF,xFF,xDB,xDB,xC3 ; '|' DEFB x00,x70,x10,x0C,x10,x10,x70,x00 ; '}' DEFB x00,x14,x28,x00,x00,x00,x00,x00 ; '~' DEFB x3C,x42,x99,xA1,xA1,x99,x42,x3C ; '' ;----------------------------------------------------------------------------- ; Brick Images (2x1) ;----------------------------------------------------------------------------- ORG 59488 img.Brick1: DEFB x3F,xFC,x67,xFE,x5F,xFE,x7F,xFE DEFB x7F,xFE,x7F,xFE,x3F,xFC,x00,x00 DEFB x32,x32 img.Brick2: DEFB xFC,x3F,xFE,x67,xFE,x5F,xFE,x7F DEFB xFE,x7F,xFE,x7F,xFC,x3F,x00,x00 DEFB x32,x32 ;----------------------------------------------------------------------------- ; Man Images (2x3) ;----------------------------------------------------------------------------- ORG 59524 img.ManLeft1: DEFB x00,x00,x01,xC0,x02,xE0,x05,xF0 DEFB x00,x70,x1F,xF8,x00,x00,x06,xF0 DEFB x0F,xE0,x01,xC0,x07,x20,x00,x70 DEFB x02,x70,x07,x30,x07,x30,x04,x30 DEFB x04,x60,x03,xE0,x03,xC0,x00,x00 DEFB x00,xC0,x01,xC0,x03,xC0,x00,x00 DEFB x07,x07,x07,x07,x07,x07 img.ManLeft2: DEFB x00,x00,x01,xC0,x02,xE0,x05,xF0 DEFB x00,x70,x1F,xF8,x00,x00,x06,xF0 DEFB x0F,xE0,x01,xC0,x07,x20,x00,x70 DEFB x03,x78,x02,x7A,x04,x7A,x04,xF8 DEFB x03,xF0,x00,xF0,x01,x7C,x01,xBA DEFB x1E,x87,x1F,x1E,x07,x1C,x00,x00 DEFB x07,x07,x07,x07,x07,x07 img.ManLeft3: DEFB x00,x00,x01,xC0,x02,xE0,x05,xF0 DEFB x00,x70,x1F,xF8,x00,x00,x06,xF0 DEFB x0F,xE0,x01,xC0,x07,x20,x00,x70 DEFB x02,x70,x06,x10,x0F,x10,x0E,x30 DEFB x01,x60,x03,xC0,x03,xB0,x03,x08 DEFB x3D,x3C,x3E,x78,x0E,xE0,x00,x00 DEFB x07,x07,x07,x07,x07,x07 img.ManRight1: DEFB x00,x00,x03,x80,x07,x40,x0F,xA0 DEFB x0E,x00,x1F,xF8,x00,x00,x0F,x60 DEFB x07,xF0,x03,x80,x04,xE0,x0E,x00 DEFB x0E,x40,x0C,xE0,x0C,xE0,x0C,x20 DEFB x06,x20,x07,xC0,x03,xC0,x00,x00 DEFB x03,x00,x03,x80,x03,xC0,x00,x00 DEFB x07,x07,x07,x07,x07,x07 img.ManRight2: DEFB x00,x00,x03,x80,x07,x40,x0F,xA0 DEFB x0E,x00,x1F,xF8,x00,x00,x0F,x60 DEFB x07,xF0,x03,x80,x04,xE0,x0E,x00 DEFB x1E,xC0,x5E,x40,x5E,x20,x1F,x20 DEFB x0F,xC0,x0F,x00,x3E,x80,x5D,x80 DEFB xE1,x78,x78,xF8,x38,xE0,x00,x00 DEFB x07,x07,x07,x07,x07,x07 img.ManRight3: DEFB x00,x00,x03,x80,x07,x40,x0F,xA0 DEFB x0E,x00,x1F,xF8,x00,x00,x0F,x60 DEFB x07,xF0,x03,x80,x04,xE0,x0E,x00 DEFB x0E,x40,x08,x60,x08,xF0,x0C,x70 DEFB x06,x80,x03,xC0,x0D,xC0,x10,xC0 DEFB x3C,xBC,x1E,x7C,x07,x70,x00,x00 DEFB x07,x07,x07,x07,x07,x07 img.ManJumpL: DEFB x07,x80,x0B,xC0,x17,xC0,x67,xE0 DEFB x38,xE0,x07,xE0,x34,xF0,x3F,x00 DEFB x1F,xC0,x3F,xC0,x4C,xC0,x20,xF0 DEFB x18,xF0,x07,xF8,x01,xF8,x00,xF8 DEFB x01,x7C,x01,xBC,x00,x9F,x00,x67 DEFB x00,x16,x00,x16,x00,x16,x00,x08 DEFB x07,x07,x07,x07,x07,x07 img.ManJumpR: DEFB x01,xE0,x03,xD0,x03,xE8,x07,xE6 DEFB x07,x1C,x07,xE0,x0F,x2C,x00,xFC DEFB x03,xF8,x03,xFC,x03,x32,x0F,x04 DEFB x0F,x18,x1F,xE0,x1F,x80,x1F,x00 DEFB x3E,x80,x3D,x80,xF9,x00,xE6,x00 DEFB x68,x00,x68,x00,x68,x00,x10,x00 DEFB x07,x07,x07,x07,x07,x07 ;----------------------------------------------------------------------------- ; Disk Image (1x1) ;----------------------------------------------------------------------------- ORG 59956 img.Disk: DEFB xE4,xE6,xE7,xFF,xC3,xC3,xC3,xFF DEFB x05 ;----------------------------------------------------------------------------- ; Disk Positions ;----------------------------------------------------------------------------- ORG 59965 dat.DiskPos: DEFB x13,x07,x03,x75,x88 DEFB x0F,x0F,x0B,xAD,x87 DEFB x66,x03,x12,xAB,x98 DEFB x6C,x0F,x03,xDD,x99 DEFB x2B,x0F,x16,x2B,x8D DEFB x6F,x0F,x03,x73,x9A ;----------------------------------------------------------------------------- ; Room Decor Images (5x4) ;----------------------------------------------------------------------------- ORG 60900 img.Picture1: DEFB xFF,xFF,xFF,xFF,xFF,xC0,x00,x00 DEFB x00,x03,xBF,xFF,xFF,xFF,xFD,xA0 DEFB x00,x00,x00,x7D,xA0,x60,x00,x01 DEFB x7D,xA0,xB0,x00,x04,x3D,xA0,xB0 DEFB x00,x10,x1D,xA0,xB0,x00,x40,x85 DEFB xA1,xA8,x00,x00,x15,xA1,xA8,x00 DEFB x02,x05,xA1,xA8,x00,x00,x25,xA2 DEFB xAC,x00,x08,x05,xA2,xAC,x00,x00 DEFB x45,xA2,xAC,x00,x00,x05,xA1,xA8 DEFB x00,x00,x85,xA1,xA8,x00,x00,x05 DEFB xA1,xA8,x00,x00,x05,xA0,xB0,x00 DEFB x00,x05,xA0,x60,x00,x00,x05,xA0 DEFB x60,x00,x00,x05,xA0,x60,x00,x00 DEFB x05,xA0,x60,x01,xFC,x05,xA0,x60 DEFB x3F,xFE,x05,xA0,x67,xFF,xFF,x85 DEFB xA0,xFF,xFF,xFF,xC5,xBF,xFF,xFF DEFB xFF,xF5,xBF,xFF,xFF,xFF,xFD,xBF DEFB xFF,xFF,xFF,xFD,xBF,xFF,xFF,xFF DEFB xFD,xBF,xFF,xFF,xFF,xFD,xC0,x00 DEFB x00,x00,x03,xFF,xFF,xFF,xFF,xFF DEFB x05,x05,x05,x05,x05,x05,x06,x06 DEFB x06,x05,x04,x04,x04,x04,x04,x04 DEFB x04,x04,x04,x04 img.Picture2: DEFB x3F,xFF,xFF,xFF,xFC,x7F,xFF,xFF DEFB xFF,xFE,x40,x00,x00,x00,x02,x7F DEFB xFF,xFF,xFF,xFE,x7C,x00,x00,x00 DEFB x3E,x40,x00,x00,x00,x02,x78,x00 DEFB x00,x00,x1E,x78,x00,x00,x00,x1E DEFB x78,x00,x18,x00,x1E,x40,x01,x99 DEFB x80,x02,x78,x01,x89,xB0,x1E,x78 DEFB x0C,x8A,x30,x1E,x78,xCC,x52,x46 DEFB x1E,x78,xE3,x22,x46,x1E,x40,x10 DEFB x92,x48,x02,x78,x0C,xD4,xB0,x1E DEFB x78,x12,x49,x0C,x1E,x78,x71,x29 DEFB x0C,x1E,x78,x67,xFF,xE0,x1E,x78 DEFB x07,x7F,xE0,x1E,x40,x03,x7F,xC0 DEFB x02,x78,x03,xBF,xC0,x1E,x78,x01 DEFB xBF,x80,x1E,x78,x00,xFF,x00,x1E DEFB x7C,x01,x81,x80,x3E,x7F,xFF,xFF DEFB xFF,xFE,x7F,xFF,xFF,xFF,xFE,x40 DEFB x00,x00,x00,x02,x7F,xFF,xFF,xFF DEFB xFE,x7F,xFF,xFF,xFF,xFE,x3F,xFF DEFB xFF,xFF,xFC,x00,x00,x00,x00,x00 DEFB x45,x45,x45,x45,x45,x05,x04,x04 DEFB x04,x05,x43,x06,x06,x06,x43,x03 DEFB x03,x03,x03,x03 img.Wardrobe1: DEFB x7F,xFF,xFF,xFF,xFE,xFF,xFF,xFF DEFB xFF,xFF,xC0,x00,x00,x00,x03,xDF DEFB xFF,xFF,xFF,xFB,xDF,xFF,xFF,xFF DEFB xFB,xDF,xFF,xFF,xFF,xFB,xDF,xFF DEFB xFF,xFF,xFB,xDF,x00,x00,x00,xFB DEFB xDF,x00,x00,x00,xFB,xDF,xFF,xFF DEFB xFF,xFB,xDF,x00,x00,x00,xFB,xDF DEFB xFF,xFF,xFF,xFB,xDF,xFF,xFF,xFF DEFB xFB,xDF,xFF,xFF,xFF,xFB,xDF,xFF DEFB xFF,xFF,xFB,xC0,x00,x00,x00,x03 DEFB xDF,xFF,xE7,xFF,xFB,xDF,xFF,xE7 DEFB xFF,xFB,xDF,x03,xE7,xC0,xFB,xDF DEFB xFF,xE7,xFF,xFB,xDF,xFF,xE7,xFF DEFB xFB,xC0,x00,x00,x00,x03,xDF,xFF DEFB xE7,xFF,xFB,xDF,xFF,xE7,xFF,xFB DEFB xDF,x03,xE7,xC0,xFB,xDF,xFF,xE7 DEFB xFF,xFB,xDF,xFF,xE7,xFF,xFB,xC0 DEFB x00,x00,x00,x03,xFF,xFF,xFF,xFF DEFB xFF,x7F,xFF,xFF,xFF,xFE,x04,x01 DEFB x00,x80,x20,x03,xFE,x00,x7F,xC0 DEFB x05,x05,x05,x05,x05,x05,x05,x05 DEFB x05,x05,x03,x03,x03,x03,x03,x03 DEFB x03,x03,x03,x03 img.Books: DEFB xFF,xFC,xFC,xFF,x1F,xDB,xBC,x84 DEFB xD7,x11,xDB,xBC,x84,xD7,x11,xA4 DEFB x44,x8C,xA9,x1F,xA4,x44,x94,xA9 DEFB x11,xA4,x44,xAC,xA9,x1F,xA4,x44 DEFB xD4,xA9,x11,xA4,x44,xAC,xA9,x1F DEFB xA4,x44,xD4,xA9,x11,xDB,xBC,xAC DEFB xD7,x1F,xDB,xBC,xD4,xD7,x11,xDB DEFB xBC,xA4,xD7,x11,xDB,xBC,xC4,xD7 DEFB x11,xDB,xBC,x84,xD7,x11,xDB,xBC DEFB x84,xD7,x11,xDB,xBC,x84,xD7,x11 DEFB xDB,xBC,x84,xD7,x11,xDB,xBC,x84 DEFB xD7,x11,xDB,xBC,x84,xD7,x11,xDB DEFB xBC,x84,xD7,x11,xDB,xBC,x84,xD7 DEFB x11,xDB,xBC,x84,xD7,x11,xFF,xFC DEFB xFC,xFF,x1F,x00,x00,x00,x00,x00 DEFB xFF,xFF,xFF,xFF,xFF,xC0,x00,x00 DEFB x00,x03,xBF,xFF,xFF,xFF,xFD,xC0 DEFB x00,x00,x00,x03,xFF,xFF,xFF,xFF DEFB xFF,x0D,x55,x81,xAA,xB0,x0A,xAA DEFB x81,x55,x50,x0F,xFF,x81,xFF,xF0 DEFB x07,x07,x02,x05,x04,x07,x07,x02 DEFB x05,x04,x07,x07,x02,x05,x04,x06 DEFB x06,x06,x06,x06 img.Flower1: DEFB x01,xC0,x03,x81,xC0,x00,x60,x05 DEFB xE3,x60,x07,x33,x0F,x76,x80,x0E DEFB xB6,xC6,x1F,x7C,x19,xED,xA4,x3C DEFB xF6,x00,xD8,x70,xEF,xCA,x03,xAE DEFB x31,xE4,x87,x0D,xDD,x81,x47,x85 DEFB x1A,xF2,xC2,x83,x03,x3C,x91,xC3 DEFB x04,x82,x28,xF0,xE6,x07,x82,x50 DEFB x60,xA4,x03,x00,x61,x20,x60,x04 DEFB x80,x41,xE0,x00,x07,x80,x00,xC0 DEFB x00,x03,x00,x02,x40,x00,x02,x40 DEFB x03,xC0,x00,x03,xC0,x01,x80,x00 DEFB x01,x80,x02,x40,x00,x02,x40,x03 DEFB xC0,x00,x03,xC0,x01,x80,x00,x01 DEFB x80,x7F,xFE,x00,x7F,xFE,x7E,x02 DEFB x00,x7E,x02,x6F,xFE,x00,x6F,xFE DEFB x6F,xFE,x7E,x6F,xFE,x6F,xFE,x00 DEFB x6F,xFE,x37,xFC,x00,x37,xFC,x37 DEFB xFC,x00,x37,xFC,x1B,xF8,x00,x1B DEFB xF8,xE4,x07,xFF,xE4,x07,xF0,x0F DEFB xFF,xF0,x0F,x7F,xFF,xFF,xFF,xFE DEFB x06,x06,x06,x06,x06,x44,x44,x44 DEFB x44,x44,x04,x04,x04,x04,x04,x03 DEFB x03,x03,x03,x03 img.Bed: DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB xDF,x7F,x7E,x7F,xFB,xE1,xC1,xC3 DEFB x80,x07,xC0,x80,x81,x00,x03,xC0 DEFB x80,x81,x00,x03,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xC0,x00,x00,x00,x03 DEFB xC0,x00,x00,x00,x03,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,x08,x20,x00,x04,x10,x08,x20 DEFB x00,x04,x10,x0F,xE0,x00,x07,xF0 DEFB x00,x00,x00,x00,x00,x06,x06,x06 DEFB x06,x06,x06,x06,x06,x06,x06,x07 DEFB x07,x07,x07,x07 img.Picture3: DEFB xFF,xFF,xFF,xFF,xFF,xEA,xAA,xAA DEFB xAA,xAF,xF5,x55,x55,x55,x5D,xBF DEFB xFF,xFF,xFF,xFB,xD0,x00,x00,x00 DEFB x0D,xB0,x38,x01,x00,x0B,xD3,xFE DEFB x02,x80,x0D,xB1,xFC,x06,xC0,x0B DEFB xD0,xF0,x0E,xC0,x0D,xB0,x00,x1E DEFB xC0,x0B,xD0,x00,x3E,xE0,x0D,xB0 DEFB x00,x7E,xE0,x0B,xD0,x00,xFE,xE0 DEFB x0D,xB0,x01,xFE,xF0,x0B,xD0,x03 DEFB xFE,xF0,x0D,xB0,x00,x01,x00,x0B DEFB xD0,x00,x01,x00,x0D,xB0,x7F,xFF DEFB xF8,x0B,xD0,x55,x55,x58,x0D,xB0 DEFB x6A,xAA,xB0,x0B,xD0,x3F,x55,x50 DEFB x0D,xB1,xFF,xEA,xA0,x7B,xDF,xFF DEFB xFD,x67,xFD,xBF,xFF,xFF,xFF,xFB DEFB xDF,xFF,xFF,xFF,xFD,xBF,xFF,xFF DEFB xFF,xFB,xDF,xFF,xFF,xFF,xFD,xBF DEFB xFF,xFF,xFF,xFB,xDF,xFF,xFF,xFF DEFB xFD,xBA,xAA,xAA,xAA,xAF,xF5,x55 DEFB x55,x55,x57,xFF,xFF,xFF,xFF,xFF DEFB x0D,x0D,x0D,x0D,x0D,x0D,x0E,x0A DEFB x0A,x0D,x0D,x0E,x0E,x0E,x0D,x0D DEFB x0D,x0D,x0D,x0D img.Flower2: DEFB x06,x01,x80,x01,x80,x0B,x03,x40 DEFB x03,x40,x3D,x0E,xC0,x02,xC0,x5F DEFB x17,x80,x07,x80,x6D,x9A,xC0,x0B DEFB x60,x7E,x8F,x41,xCD,xD0,x37,x05 DEFB x81,x26,xB0,x02,x08,x01,x10,xE0 DEFB x02,x08,x00,x91,x80,x01,x10,x00 DEFB x72,x00,x1D,x20,x00,x0A,x00,x22 DEFB xC0,x00,x04,x00,x1C,x80,x00,x04 DEFB x00,x00,x80,x00,x04,x00,x3F,xFF DEFB x01,xFF,xF8,x3F,xFF,x01,xFF,xF8 DEFB x3F,xFF,x01,xFF,xF8,x3F,xFF,x01 DEFB xFF,xF8,x1F,xFE,x00,xFF,xF0,x1F DEFB xFE,x00,xFF,xF0,x0F,xFC,x00,x7F DEFB xE0,x0F,xFC,x00,x7F,xE0,x07,xF8 DEFB x00,x3F,xC0,x07,xF8,x00,x3F,xC0 DEFB x83,xF0,x00,x1F,x81,xFF,xFF,xFF DEFB xFF,xFF,x80,x00,x00,x00,x01,x80 DEFB x00,x00,x00,x01,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xFF,xFF,x40,x00 DEFB x00,x00,x02,x3F,xFF,xFF,xFF,xFC DEFB x02,x06,x04,x02,x02,x04,x04,x04 DEFB x04,x04,x05,x05,x05,x05,x05,x03 DEFB x03,x03,x03,x03 img.Wardrobe2: DEFB x7F,xFF,xFF,xFF,xFE,x80,x00,x00 DEFB x00,x01,xBF,xFF,xFF,xFF,xFD,xA8 DEFB x9B,x3F,xCD,x15,xBA,xEC,xE8,x73 DEFB x5D,xBA,xFF,xDF,x9F,x5D,xBA,xE4 DEFB x38,xF9,x55,xBA,xDF,xF7,x17,x5D DEFB xAA,xB3,x9D,xFF,x5D,xBA,xFC,xE6 DEFB x33,x5D,xBA,xE7,x7F,xEF,x5D,xA8 DEFB x9B,xA1,x19,x15,xBF,xFF,xFF,xFF DEFB xFD,x80,x00,x00,x00,x01,xFF,xFF DEFB xFF,xFF,xFF,x80,x00,x00,x00,x01 DEFB xBF,xFF,xFF,xFF,xFD,xA7,x20,xFE DEFB x7E,x3D,xB9,xDF,x83,xA1,xE5,xAE DEFB xF7,x7C,xDF,x1D,xB3,x09,xF7,xF6 DEFB xFD,xBD,xFF,x99,xAB,x85,xA6,x70 DEFB x7E,xDC,xFD,xBB,xCF,xE3,xF7,xDD DEFB xAE,xF9,xBC,x0F,x6D,xB1,x07,xCF DEFB xF8,xF5,xBF,xFF,xFF,xFF,xFD,x80 DEFB x00,x00,x00,x01,xFF,xFF,xFF,xFF DEFB xFF,x7F,xFF,xFF,xFF,xFE,x08,x10 DEFB x00,x08,x10,x0F,xF0,x00,x0F,xF0 DEFB x46,x46,x46,x46,x46,x06,x06,x06 DEFB x06,x06,x44,x44,x44,x44,x44,x04 DEFB x04,x04,x04,x04 img.Table1: DEFB x7F,xFF,xFF,xFF,xFE,xFF,xFF,xFF DEFB xFF,xFF,xAA,xAA,xAA,xAA,xAB,xD5 DEFB x55,x55,x55,x55,xFF,xFF,xFF,xFF DEFB xFF,x7F,xFF,xFF,xFF,xFE,x07,x80 DEFB x00,x01,xE0,x0B,x80,x00,x01,xD0 DEFB x1D,x00,x00,x00,xB8,x1E,x00,x00 DEFB x00,x78,x1F,x00,x00,x00,xF8,x1E DEFB x00,x00,x00,x78,x1D,x00,x00,x00 DEFB xB8,x0B,x80,x00,x01,xD0,x07,x80 DEFB x00,x01,xE0,x0F,x80,x00,x01,xF0 DEFB x07,x80,x00,x01,xE0,x0B,x00,x00 DEFB x01,xD0,x1D,x00,x00,x00,xB8,x1E DEFB x00,x00,x00,x78,x1F,x00,x00,x00 DEFB xF8,x1E,x00,x00,x00,x78,x1D,x00 DEFB x00,x00,xB8,x0B,x80,x00,x01,xD0 DEFB x07,x80,x00,x01,xE0,x0F,x80,x00 DEFB x01,xF0,x07,x80,x00,x01,xE0,x0B DEFB x80,x00,x01,xD0,x1D,x00,x00,x00 DEFB xB8,x3E,x00,x00,x00,x7C,x7E,x00 DEFB x00,x00,x7E,x7C,x00,x00,x00,x3E DEFB x04,x04,x04,x04,x04,x05,x05,x05 DEFB x05,x05,x05,x05,x05,x05,x05,x05 DEFB x05,x05,x05,x05 img.TV1: DEFB x7F,xFF,xFF,xFF,xFE,xFF,xFF,xFF DEFB xFF,xFF,xE0,x00,x00,x0F,x53,xDC DEFB x00,x00,x07,x53,xDC,x07,x00,x07 DEFB xFF,xD8,x3F,xF0,x07,x53,xC0,xCF DEFB xDC,x07,x53,xC1,x80,x1E,x07,xFF DEFB xC3,xC0,x7F,x07,x53,xC7,xF2,xFF DEFB x87,x53,xC7,xF2,xFF,x87,xFF,xCF DEFB xE1,xF7,xC7,x53,xCB,x83,x1B,x47 DEFB x53,xC9,x80,xEB,x47,xFF,xD1,x01 DEFB xF1,x27,x53,xD3,x83,xF8,x27,x53 DEFB xD7,xC3,xF8,x27,xFF,xD7,xC3,xF0 DEFB x27,x53,xCB,xC1,xE0,x47,x53,xCB DEFB x81,xC1,xC7,xFF,xC9,x81,xC3,xC7 DEFB x03,xC4,x81,x87,x87,x7B,xC4,x40 DEFB x87,x87,x7B,xC2,x00,x07,x07,x7B DEFB xC1,x03,x82,x07,x03,xC0,xCF,xEC DEFB x07,x7B,xC0,x3F,xF0,x07,x7B,xC0 DEFB x07,x80,x07,x7B,xE0,x00,x00,x0F DEFB x03,xFF,xFF,xFF,xFF,xFF,x7F,x00 DEFB x00,x00,xFE,x7F,xFF,xFF,xFF,xFE DEFB x0D,x0D,x0D,x0D,x05,x0D,x0D,x0D DEFB x0D,x05,x0D,x0D,x0D,x0D,x05,x0D DEFB x0D,x0D,x0D,x05 img.TV2: DEFB x3F,xFF,xFF,xFF,xFC,x7F,xFF,xFF DEFB xFF,xFE,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,xF0,x00,x00,x1F DEFB xFF,xE0,x00,x1D,xEF,x57,xE0,x20 DEFB x61,xEE,xAB,xE0,x50,x00,xEF,x57 DEFB xE0,xA8,x04,x6E,xAB,xE1,x54,x08 DEFB x0F,x57,xE0,xA8,x11,x4E,xAB,xE1 DEFB x54,x22,x4F,x57,xE0,xA8,x04,x4E DEFB xAB,xE1,x54,x08,x8F,x57,xE0,xA8 DEFB x00,x8F,xFF,xE0,x50,x00,x0F,xFF DEFB xE0,x20,x28,x0F,xFF,xE0,x20,x54 DEFB x0E,x23,xE0,x20,xAA,x0E,x23,xE0 DEFB x20,x54,x0F,xFF,xE0,x20,xAA,x0E DEFB x23,xE0,x20,x54,x0E,x23,xE0,x20 DEFB x28,x0F,xFF,xE0,x70,x38,x0E,x23 DEFB xE7,xFF,xFF,xCE,x23,xF0,x00,x00 DEFB x1F,xFF,xFF,xFF,xFF,xFF,xFF,xFF DEFB xFF,xFF,xFF,xFF,x7F,xFF,xFF,xFF DEFB xFE,x3F,xFF,xFF,xFF,xFC,x0F,x80 DEFB x00,x01,xF0,x1F,xC0,x00,x03,xF8 DEFB x06,x06,x06,x06,x06,x06,x02,x06 DEFB x06,x06,x06,x02,x04,x06,x06,x06 DEFB x06,x06,x06,x06 img.Lamp1: DEFB x00,x03,xFF,xC0,x00,x00,x00,xFF DEFB x00,x00,x00,x00,x7E,x00,x00,x00 DEFB x00,x3C,x00,x00,x00,x00,x18,x00 DEFB x00,x00,x00,x18,x00,x00,x00,x00 DEFB x18,x00,x00,x00,x00,x18,x00,x00 DEFB x00,x00,x18,x00,x00,x00,x1E,x18 DEFB x78,x00,x00,x21,x18,x84,x00,x00 DEFB x21,x18,x84,x00,x00,x6A,x99,xAA DEFB x00,x00,x55,x99,x56,x00,x00,x6A DEFB x99,xAA,x00,x00,xFF,xDB,xFF,x00 DEFB x00,xCC,xDB,x33,x00,x1E,x0C,x18 DEFB x30,x78,x21,x0C,x18,x30,x84,x21 DEFB x06,x18,x60,x84,x6A,x86,x18,x61 DEFB xAA,x55,x83,xDB,xC1,x56,x6A,x81 DEFB xFF,x81,xAA,xFF,xC0,x7C,x03,xFF DEFB xCC,xC0,x18,x03,x33,x0C,x00,x3C DEFB x00,x30,x0C,x00,x66,x00,x30,x06 DEFB x00,x66,x00,x60,x07,x83,xE7,xC1 DEFB xE0,x03,xEF,x81,xF7,xC0,x00,xFE DEFB x00,x7F,x00,x00,x38,x00,x1C,x00 DEFB x07,x07,x07,x07,x07,x06,x06,x07 DEFB x06,x06,x05,x07,x07,x07,x05,x07 DEFB x07,x07,x07,x07 img.Lamp2: DEFB x01,x80,x00,x01,x80,xFF,xFF,xFF DEFB xFF,xFF,x80,x00,x00,x00,x01,xFF DEFB xFF,xFF,xFF,xFF,x40,x00,x00,x00 DEFB x02,x4A,xAA,xAA,xAA,xAA,x40,x00 DEFB x00,x00,x02,x3F,xFF,xFF,xFF,xFC DEFB xFF,xFF,xFF,xFF,xFF,x3F,xFF,xFF DEFB xFF,xFC,x3F,xFF,xFF,xFF,xFC,x15 DEFB x55,x55,x55,x54,x2A,xAA,xAA,xAA DEFB xA8,x11,x11,x11,x11,x10,x0A,xAA DEFB xAA,xAA,xA8,x04,x44,x44,x44,x40 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x00,x00 DEFB x06,x06,x06,x06,x06,x01,x01,x01 DEFB x01,x01,x00,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00 img.Table2: DEFB x00,x00,x00,x01,x80,x00,x00,x00 DEFB x06,x80,x00,x00,x00,x1F,x08,x00 DEFB x00,x00,x3F,x48,x00,x00,x00,x7E DEFB x28,x00,x00,x00,x3E,x18,x00,x00 DEFB x00,x1C,x08,x00,x00,x00,x08,x0C DEFB x00,x00,x00,x00,x0A,x00,x00,x00 DEFB x00,x08,x00,x00,x00,x00,x08,x00 DEFB x00,x00,x00,x08,x00,x00,x00,x00 DEFB x08,x00,x00,x00,x00,x08,x00,x00 DEFB x00,x00,x08,x00,x00,x00,x00,x08 DEFB xFF,xF0,x0F,xFF,xFF,x80,x1F,xF8 DEFB x00,x01,x80,x1F,xF8,x00,x01,xFF DEFB xFF,xFF,xFF,xFF,x00,x1F,xF8,x00 DEFB x00,x7F,x1F,xF8,xFF,xFE,x41,x1F DEFB xF8,x80,x02,x41,x0F,xF0,xBF,xFA DEFB x7F,x00,x00,xA0,x0A,x41,x1F,xF8 DEFB xA0,x6A,x41,x0F,xF0,xA0,x0A,x7F DEFB x01,x80,xA0,x0A,x41,x01,x80,xA0 DEFB x0A,x41,x01,x80,xBF,xFA,x7F,x07 DEFB xE0,x80,x02,x7F,x38,x1C,xFF,xFE DEFB x00,x00,x00,x02,x06,x00,x00,x00 DEFB x02,x06,x05,x05,x05,x05,x05,x06 DEFB x04,x04,x06,x06 img.Candle1: DEFB x00,x01,x80,x00,x00,x00,x03,x80 DEFB x00,x00,x00,x02,xC0,x00,x00,x00 DEFB x01,x80,x00,x00,x00,x02,x40,x00 DEFB x00,x00,x05,xC0,x00,x00,x00,x05 DEFB xA0,x00,x00,x00,x05,xA0,x00,x00 DEFB x00,x05,xC0,x00,x00,x00,x05,xC0 DEFB x00,x00,x00,x03,xC0,x00,x00,x00 DEFB x03,xC0,x00,x00,x00,x03,xC0,x00 DEFB x00,x00,x03,xC0,x00,x00,x00,x03 DEFB xC0,x00,x00,x00,x00,x00,x00,x00 DEFB x00,xFF,xFF,x00,x00,x00,x87,xFF DEFB x00,x00,x00,x87,xFF,x00,x00,x00 DEFB xC7,xFF,x00,x00,x00,x63,xFE,x00 DEFB x00,x00,x33,xFC,x00,x00,x00,x1F DEFB xF8,x00,x00,x00,x07,xE0,x00,x00 DEFB x80,x01,x80,x00,x00,x00,x03,xC0 DEFB x00,x00,x80,x01,x80,x00,x00,xC0 DEFB x03,x80,x00,x00,xFF,x07,x00,x00 DEFB x00,xFF,xFE,x00,x00,x00,xC0,xF8 DEFB x00,x00,x00,x80,x00,x00,x00,x00 DEFB x02,x02,x02,x00,x00,x02,x02,x02 DEFB x00,x00,x06,x06,x06,x00,x00,x05 DEFB x05,x05,x00,x00 img.Candle2: DEFB x00,x00,x01,x80,x00,x00,x00,x01 DEFB xC0,x00,x00,x00,x03,x40,x00,x00 DEFB x00,x01,x80,x00,x00,x00,x02,x40 DEFB x00,x00,x00,x03,x20,x00,x00,x00 DEFB x05,xA0,x00,x00,x00,x05,xA0,x00 DEFB x00,x00,x03,x20,x00,x00,x00,x03 DEFB x20,x00,x00,x00,x03,xC0,x00,x00 DEFB x00,x03,xC0,x00,x00,x00,x03,xC0 DEFB x00,x00,x00,x03,xC0,x00,x00,x00 DEFB x03,xC0,x00,x00,x00,x00,x00,x00 DEFB x00,x00,xFF,xFF,x00,x00,x00,xFF DEFB xE1,x00,x00,x00,xFF,xE1,x00,x00 DEFB x00,xFF,xE3,x00,x00,x00,x7F,xC6 DEFB x00,x00,x00,x3F,xCC,x00,x00,x00 DEFB x1F,xF8,x00,x00,x00,x07,xE0,x00 DEFB x00,x00,x01,x80,x01,x00,x00,x03 DEFB xC0,x00,x00,x00,x01,x80,x01,x00 DEFB x00,x01,xC0,x03,x00,x00,x00,xE0 DEFB xFF,x00,x00,x00,x7F,xFF,x00,x00 DEFB x00,x1F,x03,x00,x00,x00,x00,x01 DEFB x00,x00,x02,x02,x02,x00,x00,x02 DEFB x02,x02,x00,x00,x06,x06,x06,x00 DEFB x00,x05,x05,x05 img.Flower3: DEFB x00,x00,x7E,x00,x00,x00,x00,x00 DEFB x00,x00,x00,x00,x3C,x00,x00,x00 DEFB x00,x00,x00,x00,x00,x00,x18,x00 DEFB x00,x00,x00,x24,x00,x00,x00,x00 DEFB x5A,x00,x00,x00,x00,x42,x00,x00 DEFB x00,x00,x81,x00,x00,x00,x00,x81 DEFB x00,x00,x00,x01,x00,x82,x00,x00 DEFB x01,x00,x83,x00,x02,x02,x20,x43 DEFB x80,x03,x82,x50,x44,x00,x01,x84 DEFB x62,xA8,x00,x03,x64,x23,x30,x00 DEFB x00,x18,x23,x90,x00,x00,x08,x42 DEFB x30,x00,x00,x14,x42,x48,x00,x00 DEFB x12,x42,x4E,x00,x00,x22,x24,x8D DEFB x80,x00,xF1,x24,x94,x40,x01,x48 DEFB xA5,x22,x38,x02,x44,xA5,x22,x38 DEFB x07,x7F,xFF,xFE,x30,x05,x75,xFF DEFB xFE,x00,x02,x35,xFF,xFC,x00,x00 DEFB x3A,xFF,xFC,x00,x00,x1C,xFF,xF8 DEFB x00,x00,x07,xFF,xE0,x00,x00,x00 DEFB xFF,x00,x00,x00,x00,x00,x00,x00 DEFB x06,x06,x06,x06,x06,x04,x04,x04 DEFB x04,x04,x04,x04,x04,x04,x04,x04 DEFB x05,x05,x05,x04 DEFS 24 END