diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3c733c4 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ + +*.bak +*.lab +*.lst diff --git a/art/DM_logo_src/digital_melody_logo.asm b/art/DM_logo_src/digital_melody_logo.asm new file mode 100644 index 0000000..430917a --- /dev/null +++ b/art/DM_logo_src/digital_melody_logo.asm @@ -0,0 +1,295 @@ +/***************************************/ +/* Use MADS http://mads.atari8.info/ */ +/* Mode: DLI (char mode) */ +/***************************************/ + + icl "digital_melody_logo.h" + + org $f0 + +fcnt .ds 2 +fadr .ds 2 +fhlp .ds 2 +cloc .ds 1 +regA .ds 1 +regX .ds 1 +regY .ds 1 + +WIDTH = 40 +HEIGHT = 30 + +; --- BASIC switch OFF + org $2000\ mva #$ff portb\ rts\ ini $2000 + +; --- MAIN PROGRAM + org $2000 +ant dta $42,a(scr) + dta $02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02 + dta $02,$02,$02,$02,$02,$02,$02,$02,$82,$04,$02,$02,$22 + dta $41,a(ant) + +scr ins "digital_melody_logo.scr" + + .ds 0*40 + + .ALIGN $0400 +fnt ins "digital_melody_logo.fnt" + + ift USESPRITES + .ALIGN $0800 +pmg .ds $0300 + ift FADECHR = 0 + SPRITES + els + .ds $500 + eif + eif + +main +; --- init PMG + + ift USESPRITES + mva >pmg pmbase ;missiles and players data address + mva #$03 pmcntl ;enable players and missiles + eif + + lda:cmp:req $14 ;wait 1 frame + + sei ;stop IRQ interrupts + mva #$00 nmien ;stop NMI interrupts + sta dmactl + mva #$fe portb ;switch off ROM to get 16k more ram + + mwa #NMI $fffa ;new NMI handler + + mva #1 vscrol + + mva #$c0 nmien ;switch on NMI+DLI again + + ift CHANGES ;if label CHANGES defined + +_lp lda trig0 ; FIRE #0 + beq stop + + lda trig1 ; FIRE #1 + beq stop + + lda consol ; START + and #1 + beq stop + + lda cloc + cmp #200 ; timer - 4s. + bcs stop + + lda skctl + and #$04 + bne _lp ;wait to press any key; here you can put any own routine + + els + +null jmp DLI.dli1 ;CPU is busy here, so no more routines allowed + + eif + + +stop + mva #0 dmactls ; dark screen + sta dmactl + + mva #$00 pmcntl ;PMG disabled + tax + sta:rne hposp0,x+ + + mva #$ff portb ;ROM switch on + mva #$40 nmien ;only NMI interrupts, DLI disabled + cli ;IRQ enabled + + rts ;return to ... DOS + +; --- DLI PROGRAM + +.local DLI + + ?old_dli = * + + ift !CHANGES + +dli1 lda trig0 ; FIRE #0 + beq stop + + lda trig1 ; FIRE #1 + beq stop + + lda consol ; START + and #1 + beq stop + + lda skctl + and #$04 + beq stop + + lda vcount + cmp #$02 + bne dli1 + + :3 sta wsync + + DLINEW dli4 + + eif + +dli_start + +dli4 + sta regA + stx regX + sty regY + +c9 lda #$38 +c10 ldx #$04 +c11 ldy #$0E + sta wsync ;line=208 + sta color0 + stx color1 + sty color2 +c12 lda #$82 + sta color3 + lda #$01 + sta gtictl + + lda regA + ldx regX + ldy regY + rti + + +.endl + +; --- + +CHANGES = 1 +FADECHR = 0 + +SCHR = 127 + +; --- + +.proc NMI + + bit nmist + bpl VBL + + jmp DLI.dli_start +dliv equ *-2 + +VBL + sta regA + stx regX + sty regY + + sta nmist ;reset NMI flag + + mwa #ant dlptr ;ANTIC address program + + mva #@dmactl(standard|dma|lineX1|players|missiles) dmactl ;set new screen width + + inc cloc ;little timer + +; Initial values + + lda >fnt+$400*$00 + sta chbase +c0 lda #$0E + sta colpm0 +c1 lda #$38 + sta colpm1 +c2 lda #$04 + sta colpm2 +c3 lda #$0E + sta colpm3 +c4 lda #$82 + sta color0 +c5 lda #$02 + sta color1 +c6 lda #$56 + sta color2 +c7 lda #$86 + sta color3 +c8 lda #$0E + sta colbak + lda #$02 + sta chrctl + lda #$81 + sta gtictl +x0 lda #$00 + sta hposp0 + sta hposp1 + sta hposp2 + sta hposp3 + sta hposm0 + sta hposm1 + sta hposm2 + sta hposm3 + sta sizep0 + sta sizep1 + sta sizep2 + sta sizep3 + sta sizem + + mwa #DLI.dli_start dliv ;set the first address of DLI interrupt + +;this area is for yours routines + +quit + lda regA + ldx regX + ldy regY + rti + +.endp + +; --- + ini main +; --- + + opt l- + +.MACRO SPRITES +missiles + .ds $100 +player0 + .ds $100 +player1 + .ds $100 +player2 + .ds $100 +player3 + .ds $100 +.ENDM + +USESPRITES = 0 + +.MACRO DLINEW + mva <:1 NMI.dliv + ift [>?old_dli]<>[>:1] + mva >:1 NMI.dliv+1 + eif + + ift :2 + lda regA + eif + + ift :3 + ldx regX + eif + + ift :4 + ldy regY + eif + + rti + + .def ?old_dli = * +.ENDM + diff --git a/art/DM_logo_src/digital_melody_logo.fad b/art/DM_logo_src/digital_melody_logo.fad new file mode 100644 index 0000000..a1798ad --- /dev/null +++ b/art/DM_logo_src/digital_melody_logo.fad @@ -0,0 +1,164 @@ +; --- +; --- FADE +; --- +.local FADE + + stx jsr+1 + sty jsr+2 + + ldx #6 + jsr wait + + mva #16 cnt + +lcol mva tcol fcnt+1 + + ldx #2 + jsr wait + +jsr jsr $ffff + + dec cnt + bne lcol + + ldx #6 + +wait lda:cmp:req cloc + dex + bne wait + rts + +cnt brk +.end + + +; --- +; --- FADE IN +; --- +.local FADE_IN + + ldx fade + jmp :fade + +fade ldy #0 + mva (fcnt),y fadr + + iny + lda (fcnt),y + sne:rts + + sta fadr+1 + + lda (fadr),y + tax + + iny + eor (fcnt),y + beq skp + + dey + + pha + + and #$f0 + beq plus1 + +plus16 txa + add #$10 + tax + +plus1 pla + and #$0f + seq + inx + + txa + sta (fadr),y + +skp adw fcnt #3 + + jmp fade +.end + + +; --- +; --- FADE OUT +; --- +.local FADE_OUT + + ldx fade + jmp :fade + +fade ldy #0 + mva (fcnt),y fadr + + iny + lda (fcnt),y + sne:rts + + sta fadr+1 + + lda (fadr),y + tax + + and #$0f + beq skp0 + + dex +skp0 + txa + and #$f0 + beq skp1 + + txa + sub #$10 + tax +skp1 + txa + + sta (fadr),y + + adw fcnt #3 + + jmp fade +.end + + +; --- +; --- SAVE COLOR +; --- +.local SAVE_COLOR + + mva fade.lcol+1 fcnt + mva fade.hcol+1 fcnt+1 + +loop ldy #0 + mva (fcnt),y fadr + + iny + lda (fcnt),y + sne:rts + + sta fadr+1 + + lda (fadr),y + + iny + sta (fcnt),y + + dey + mva #0 (fadr),y ; black screen (all colors = $00) + + adw fcnt #3 + + jmp loop +.end + + .use DLI,NMI +tcol + dta t(c0,c1,c2,c3,c4,c5,c6,c7,c8,c9) + dta t(c10,c11,c12) + dta t(0) diff --git a/art/DM_logo_src/digital_melody_logo.fnt b/art/DM_logo_src/digital_melody_logo.fnt new file mode 100644 index 0000000..72e6611 Binary files /dev/null and b/art/DM_logo_src/digital_melody_logo.fnt differ diff --git a/art/DM_logo_src/digital_melody_logo.h b/art/DM_logo_src/digital_melody_logo.h new file mode 100644 index 0000000..1f20bfa --- /dev/null +++ b/art/DM_logo_src/digital_melody_logo.h @@ -0,0 +1,275 @@ + opt l- + +.enum @dmactl + blank = %00 + narrow = %01 + standard= %10 + wide = %11 + missiles= %100 + players = %1000 + lineX1 = %10000 + lineX2 = %00000 + dma = %100000 +.ende + +scr48 = @dmactl(wide|dma|players|missiles|lineX1) ;screen 48b +scr40 = @dmactl(standard|dma|players|missiles|lineX1) ;screen 40b +scr32 = @dmactl(narrow|dma|players|missiles|lineX1) ;screen 32b + +.enum @pmcntl + missiles= %1 + players = %10 + trigs = %100 +.ende + +.enum @gtictl + prior0 = %0 + prior1 = %1 + prior2 = %10 + prior4 = %100 + prior8 = %1000 + ply5 = %10000 ; Fifth Player Enable + mlc = %100000 ; Multiple Color Player Enable + mode9 = %01000000 + mode10 = %10000000 + mode11 = %11000000 +.ende + + +* --------------------------------------------------------------------------------------------- +* --- OS +* --------------------------------------------------------------------------------------------- + +ramlo = $04 ; (2) wektor RAM dla testu wielko?ci pami?ci + +warmst = $08 ; znacznik gor?cego startu +boot? = $09 ; znacznik odczytu wst?pnego +dosvec = $0A ; (2) wektor startowy programu dyskowego +dosini = $0C ; (2) wektor inicjacji po odczycie z dyskietki + +rtclok = $12 ; (3) zegar czasu rzeczywistego + +lmargin = $52 +rmargin = $53 +rowcrs = $54 ; wiersz kursora +colcrs = $55 ; (2) Kolumna kursora + +keydef = $79 ; (2) tablica konwersji kod?w klawiatury na ATASCII + + +vdslst = $0200 ; (2) wektor przerwa? NMI listy displejowej +timcnt3 = $021C ; trzeci licznik systemu +vvblki = $0222 ; (2) wektor NMI natychmiastowego VBI +vvblkd = $0224 ; (2) wektor NMI op??nionego VBI +timflg3 = $022a ; znacznik wyzerowania licznika TIMCNT3 + +colpf0s = $02C4 ; rejestr-cie? COLPF0 +colpf1s = $02C5 ; rejestr-cie? COLPF1 +colpf2s = $02C6 ; rejestr-cie? COLPF2 +colpf3s = $02C7 ; rejestr-cie? COLPF3 +colbaks = $02C8 ; rejestr-cie? COLBAK + +dsctln = $02D5 ; (2) Disk sector size register; default of 128 ($80) bytes +dvstat = $02EA ; (4) device status + +crsinh = $02F0 ; znacznik widoczno?ci kursora +chact = $02F3 ; rejestr cien CHRCTL +chbas = $02F4 ; rejestr cien CHBASE + +atachr = $02Fb ; numer koloru dla PLOT, DRAW (kod ATASCII znaku) +kbcodes = $02Fc ; kod ostatnio naci?ni?tego klawisza, $ff je?li ?aden nie zosta? naci?ni?ty (KBCODE) +fildat = $02Fd ; numer koloru dla FILL +chart = $02F3 ; cie? rejestru kontroli wy?wietlania znak?w (CHRCTL) + +ddevic = $0300 ; Device Control Block, identyfikator urz?dzenia +dunit = $0301 ; Numer urz?dzenia; w przypadku stacji dysk?w numer nap?du +dcmnd = $0302 ; Komenda dla urz?dzenia. +dstats = $0303 ; Przed wywo?aniem SIO nale?y ustawi? tu rodzaj operacji ($40 odczyt, $80 zapis, $C0 zapis i odczyt, $00 brak transferu danych). Po powrocie z systemu znajduje si? tu status operacji (kod b??du). +dbufa = $0304 ; (2) Adres bufora. Przy operacji zapisu i odczytu jednocze?nie (DSTATS = $C0) bufor na odczytywane dane znajduje si? w tym samym miejscu, co bufor danch przeznaczonych do zapisu. +dtimlo = $0306 ; Czas oczekiwania na pozytywn? odpowied? urz?dzenia, tzw. timeout, najczesciej = 7 +dunuse = $0307 ; Bajt nieu?ywany, zarezerwowany do przysz?ych zastosowa?. +dbyt = $0308 ; (2) Wielko?? bufora; musi by? zgodna z wielko?ci? transmitowanego bloku danych. Zero oznacza 64 kilobajty. +daux1 = $030A ; Pierwszy bajt pomocniczy. W operacjach dyskowych m?odszy bajt numeru sektora. +daux2 = $030B ; Drugi bajt pomocniczy. W operacjach dyskowych starszy bajt numeru sektora. +casflg = $030F ; When set to zero, the current operation is a standard SIO operation; when non-zero, it is a cassette operation. + +hatabs = $031A ; tabela wektor?w procedur obs?ugi + +iocb = $0340 ; IOCB 0..7 ($340, $350, $360 ...) +iocom = iocb+2 ; Komenda dla IOCB +ioadr = iocb+4 ; (2) Adres bufora dla IOCB +ioaux1 = iocb+10 ; Bajt pomocniczy 1 IOCB +ioaux2 = iocb+11 ; Bajt pomocniczy 2 IOCB + +icchid = $0340 +icdno = $0341 +iccmd = $0342 ; kod rozkazu operacji I/O +icstat = $0343 ; status operacji I/O +icbufa = $0344 ; (2) adres bufora danych dla operacji I/O +icputb = $0346 ; (2) adres procedury przesy?ania danych +icbufl = $0348 ; (2) d?ugo?? bufora danych dla operacji I/O +icax1 = $034A ; rejestr pomocniczy dla operacji I/O +icax2 = $034B ; rejestr pomocniczy dla operacji I/O +icax3 = $034C ; rejestr pomocniczy dla operacji I/O +icax4 = $034D ; rejestr pomocniczy dla operacji I/O +icax5 = $034E ; rejestr pomocniczy dla operacji I/O +icax6 = $034F ; rejestr pomocniczy dla operacji I/O + +casbuf = $0400 ; bufor magnetofonu +casben = $047F ; koniec bufora magnetofonu + +setvbv = $E45C +xitvbv = $E462 +ciov = $E456 ; Wektor do CIOMAIN +jsioint = $E459 ; Wektor do SIO +jdskint = $E453 ; Wektor do sterownika dyskowego + +* --------------------------------------------------------------------------------------------- +* --- KEY ($d209) +* --------------------------------------------------------------------------------------------- + +key_esc = 28 +key_space = 33 + +key_a = 63 +key_b = 21 +key_d = 58 +key_m = 37 +key_n = 35 +key_v = 16 +key_o = 8 +key_p = 10 +key_s = 62 +key_w = 46 + +* --------------------------------------------------------------------------------------------- +* --- GTIA +* --------------------------------------------------------------------------------------------- + +hposp0 = $D000 ; pozioma pozycja gracza 0 (Z) +hposp1 = $D001 ; pozioma pozycja gracza 1 (Z) +hposp2 = $D002 ; pozioma pozycja gracza 2 (Z) +hposp3 = $D003 ; pozioma pozycja gracza 3 (Z) +hposm0 = $D004 ; pozioma pozycja pocisku 0 (Z) +hposm1 = $D005 ; pozioma pozycja pocisku 1 (Z) +hposm2 = $D006 ; pozioma pozycja pocisku 2 (Z) +hposm3 = $D007 ; pozioma pozycja pocisku 3 (Z) +sizep0 = $D008 ; poziomy rozmiar gracza 0 (Z) +sizep1 = $D009 ; poziomy rozmiar gracza 1 (Z) +sizep2 = $D00A ; poziomy rozmiar gracza 2 (Z) +sizep3 = $D00B ; poziomy rozmiar gracza 3 (Z) +sizem = $D00C ; poziomy rozmiar pocisk?w (Z) +grafp0 = $D00D ; rejestr grafiki gracza 0 (Z) +grafp1 = $D00E ; rejestr grafiki gracza 1 (Z) +grafp2 = $D00F ; rejestr grafiki gracza 2 (Z) +grafp3 = $D010 ; rejestr grafiki gracza 3 (Z) +grafm = $D011 ; rejestr grafiki pocisk?w (Z) +colpm0 = $D012 ; rejestr koloru gracza i pocisku 0 (Z) +colpm1 = $D013 ; rejestr koloru gracza i pocisku 1 (Z) +colpm2 = $D014 ; rejestr koloru gracza i pocisku 2 (Z) +colpm3 = $D015 ; rejestr koloru gracza i pocisku 3 (Z) +colpf0 = $D016 ; rejestr koloru pola gry 0 (Z) +colpf1 = $D017 ; rejestr koloru pola gry 1 (Z) +colpf2 = $D018 ; rejestr koloru pola gry 2 (Z) +colpf3 = $D019 ; rejestr koloru pola gry 3 (Z) +colpf4 = $D01A +colbak = $D01A ; rejestr koloru t?a (Z) + +color0 = colpf0 +color1 = colpf1 +color2 = colpf2 +color3 = colpf3 + +kolm0pf = $D000 ; kolizja pocisku 0 z polem gry (O) +kolm1pf = $D001 ; kolizja pocisku 1 z polem gry (O) +kolm2pf = $D002 ; kolizja pocisku 2 z polem gry (O) +kolm3pf = $D003 ; kolizja pocisku 3 z polem gry (O) +kolp0pf = $D004 ; kolizja gracza 0 z polem gry (O) +kolp1pf = $D005 ; kolizja gracza 1 z polem gry (O) +kolp2pf = $D006 ; kolizja gracza 2 z polem gry (O) +kolp3pf = $D007 ; kolizja gracza 3 z polem gry (O) +kolm0p = $D008 ; kolizja pocisku 0 z graczem (O) +kolm1p = $D009 ; kolizja pocisku 1 z graczem (O) +kolm2p = $D00A ; kolizja pocisku 2 z graczem (O) +kolm3p = $D00B ; kolizja pocisku 3 z graczem (O) +kolp0p = $D00C ; kolizja gracza 0 z innym graczem (O) +kolp1p = $D00D ; kolizja gracza 1 z innym graczem (O) +kolp2p = $D00E ; kolizja gracza 2 z innym graczem (O) +kolp3p = $D00F ; kolizja gracza 3 z innym graczem (O) +trig0 = $D010 ; stan przycisku joysticka 0 (O) +trig1 = $D011 ; stan przycisku joysticka 1 (O) +trig3 = $D013 ; znacznik do??czenia cartridge-a (O) +pal = $D014 ; znacznik systemu TV (O) PAL = 1, NTSC = 15 + +gtictl = $D01B ; rejestr kontroli uk?adu GTIA +gtiactl = gtictl + +vdelay = $D01C ; licznik op??nienia pionowego P/MG +pmcntl = $D01D ; rejestr kontroli graczy i pocisk?w +hitclr = $D01E ; rejestr kasowania rejestr?w kolizji +consol = $D01F ; rejestr stanu klawiszy konsoli + +* --------------------------------------------------------------------------------------------- +* --- POKEY +* --------------------------------------------------------------------------------------------- + +irqens = $0010 ; rejestr-cie? IRQEN +irqstat = $0011 ; rejestr-cie? IRQST + +audf1 = $d200 ; cz?stotliwo?? pracy generatora 1 (Z) +audc1 = $d201 ; rejestr kontroli d?wi?ku generatora 1 (Z) +audf2 = $d202 ; cz?stotliwo?? pracy generatora 2 (Z) +audc2 = $d203 ; rejestr kontroli d?wi?ku generatora 2 (Z) +audf3 = $d204 ; cz?stotliwo?? pracy generatora 3 (Z) +audc3 = $d205 ; rejestr kontroli d?wi?ku generatora 3 (Z) +audf4 = $d206 ; cz?stotliwo?? pracy generatora 4 (Z) +audc4 = $d207 ; rejestr kontroli d?wi?ku generatora 4 (Z) + +audctl = $D208 ; rejestr kontroli generator?w d?wi?ku (Z) +stimer = $D209 ; rejestr zerowania licznik?w (Z) +kbcode = $D209 ; kod ostatnio naci?ni?tego klawisza (O) +skstres = $D20A ; rejestr statusu z??cza szeregowego (Z) +random = $D20A ; rejestr liczby losowej (O) +serout = $D20D ; szeregowy rejestr wyj?ciowy (Z) +serin = $D20D ; szeregowy rejestr wej?ciowy (O) +irqen = $D20E ; zezwolenie przerwa? IRQ (Z) +irqst = $D20E ; status przerwa? IRQ (O) +skctl = $D20F ; rejestr kontroli z??cza szeregowego (Z) +skstat = $D20F ; rejestr statusu z??cza szeregowego (O) + +* --------------------------------------------------------------------------------------------- +* --- PIA +* --------------------------------------------------------------------------------------------- + +porta = $D300 ; port A uk?adu PIA +portb = $D301 ; port B uk?adu PIA +pactl = $D302 ; rejestr kontroli portu A +pbctl = $D303 ; rejestr kontroli portu B + +* --------------------------------------------------------------------------------------------- +* --- ANTIC +* --------------------------------------------------------------------------------------------- + +dmactl = $D400 ; rejestr kontroli dost?pu do pami?ci +chrctl = $D401 ; rejestr kontroli wy?wietlania znak?w +dlptr = $D402 ; adres programu ANTIC-a +hscrol = $D404 ; znacznik poziomego przesuwu obrazu +vscrol = $D405 ; znacznik pionowego przesuwu obrazu +pmbase = $D407 ; adres pami?ci graczy i pocisk?w +chbase = $D409 ; adres zestawu znak?w +wsync = $D40A ; znacznik oczekiwania na synchronizacj? poziom? +vcount = $D40B ; licznik linii obrazu +lpenh = $D40C ; poziome po?o?enie pi?ra ?wietlengo +lpenv = $D40D ; pionowe po?o?enie pi?ra ?wietlnego +nmien = $D40E ; rejestr zezwole? na przerwania NMI +nmist = $D40F ; rejestr statusu przerwa? NMI + +* --------------------------------------------------------------------------------------------- +* --- HARDWARE +* --------------------------------------------------------------------------------------------- + +nmivec = $FFFA ; wektor przerwania NMI +resetvec= $FFFC ; wektor przerwania RESET +irqvec = $FFFE ; wektor przerwania IRQ + + opt l+ diff --git a/art/DM_logo_src/digital_melody_logo.pmf b/art/DM_logo_src/digital_melody_logo.pmf new file mode 100644 index 0000000..5742cf7 --- /dev/null +++ b/art/DM_logo_src/digital_melody_logo.pmf @@ -0,0 +1,466 @@ +// Player-Missile Fade +// v2.5 (26.07.2010 - 12.08.2013) + + .ifndef pmg +pmg = $0000 + eif + +mapBits = pmg+$100 + + ert 0 + +// ----------------------------------------------------------- + +.local fade_chars + + color + +cont ldx #0 + ldy #0 + + ift FADECHR = 1 + box #WIDTH #HEIGHT + eli FADECHR = 2 + random + eli FADECHR = 3 + left_right + eli FADECHR = 4 + plasma + eif + +wait lda:cmp:req cloc + rts + +.proc color (.byte a) .reg + beq color0 + +color1 mva #{lda $ffff,y} plot.src + rts + +color0 mva #{bit $ffff} plot.src + rts +.endp + +// ----------------------------------------------------------- + + ift FADECHR = 4 +.proc plasma + +loop mwa #hmap src + + ldx #HEIGHT-1 +lpy + ldy #WIDTH-1 + +lpx lda $ffff,y +src equ *-2 + cmp #0 +hmax equ *-1 + sne + + jsr plot + + dey + bpl lpx + + adw src #48 + + dex + bpl lpy + + jsr wait + +incdec inc hmax + lda hmax + bmi stop_p + cmp #$3f+1 + bcs stop_m + + jmp loop + +stop_p lda #{inc*} + dta {bit*} +stop_m lda #{dec*} + sta incdec + rts + +hmap .he 28 2E 33 39 3F 3B 35 2F 29 24 1F 1A 16 12 0F 0B 09 07 05 05 04 05 06 07 09 0C 0F 12 16 1B 1F 24 + .he 29 2E 33 38 3C 3F 3B 38 35 34 33 33 34 36 38 3B 2D 33 39 3F 3A 34 2E 28 23 1E 18 14 0F 0B 08 05 + .he 03 01 00 00 00 00 01 02 04 07 0A 0E 13 18 1C 21 26 2C 32 37 3B 3F 3B 37 34 33 32 32 33 35 37 39 + .he 33 39 3F 3B 34 2E 28 23 1D 18 12 0E 0A 06 02 00 01 04 05 05 05 04 03 01 01 03 07 0B 0F 14 1A 1F + .he 25 2A 30 35 3B 3F 3A 37 33 32 30 31 32 33 35 38 38 3E 3B 35 2F 29 23 1D 18 12 0D 09 05 01 02 05 + .he 07 09 0A 0A 0A 09 07 05 03 00 03 08 0C 11 16 1C 23 28 2E 34 3A 3F 3A 36 33 30 2F 2F 30 32 34 37 + .he 3D 3D 37 30 2B 24 1F 19 13 0E 09 03 00 03 06 09 0B 0D 0E 0E 0E 0D 0B 09 06 02 00 05 09 0F 14 1A + .he 20 26 2D 33 3A 3E 3B 37 33 31 30 2F 30 32 34 37 3E 39 32 2C 26 21 1A 15 0F 09 05 00 04 07 0A 0C + .he 0F 10 11 11 11 10 0E 0C 09 05 01 02 07 0C 11 18 1E 24 2B 31 38 3E 3C 38 34 31 2F 30 30 32 34 37 + .he 3B 35 2F 29 23 1D 17 12 0C 07 02 02 06 0A 0C 0F 11 13 14 14 13 12 11 0E 0B 08 04 00 05 0A 10 15 + .he 1B 22 29 2F 35 3B 3D 39 35 32 31 30 31 34 36 38 38 32 2C 27 20 1A 15 0F 09 04 00 05 09 0C 0F 12 + .he 13 15 16 16 15 14 13 10 0D 0A 06 02 02 08 0D 14 1A 20 26 2D 33 39 3E 3C 37 35 33 33 34 35 37 39 + .he 35 2F 2A 24 1E 18 13 0D 08 03 02 06 09 0D 10 13 15 16 17 17 16 15 14 12 0F 0B 07 03 01 06 0C 11 + .he 17 1D 24 2A 30 36 3C 3F 3C 38 37 37 36 38 39 3C 34 2E 28 23 1D 17 11 0C 07 02 02 07 0A 0D 11 13 + .he 15 16 17 17 17 16 14 12 0F 0C 08 04 00 04 0A 10 15 1B 21 27 2D 33 38 3C 3F 3C 3B 3A 3A 3B 3D 3E + .he 32 2D 28 22 1C 16 11 0C 07 02 02 06 0A 0D 10 13 14 16 17 17 16 15 14 12 0F 0C 09 05 00 04 08 0E + .he 13 19 1F 24 2A 30 34 38 3C 3E 3F 3E 3E 3F 3F 3E 32 2D 28 22 1D 17 12 0D 08 03 01 04 09 0C 10 11 + .he 13 15 15 15 15 15 13 11 0F 0C 09 04 01 03 07 0D 12 17 1C 22 26 2B 30 34 37 39 3C 3D 3D 3C 3C 3A + .he 33 2E 28 23 1E 19 13 0E 09 04 00 03 07 0A 0D 10 12 13 13 13 14 13 11 10 0D 0A 07 04 00 02 07 0C + .he 10 15 19 1F 23 28 2C 2F 33 35 37 38 38 38 38 37 33 2F 2A 24 20 1A 15 10 0B 07 03 01 05 08 0B 0D + .he 0E 0F 11 11 11 10 0F 0E 0B 09 07 03 00 03 07 0B 0F 14 18 1C 20 24 28 2B 2E 31 32 33 34 34 34 33 + .he 35 30 2C 27 22 1C 18 13 0E 0A 06 02 01 04 07 09 0B 0C 0D 0E 0E 0D 0C 0A 09 07 04 01 00 04 07 0B + .he 0E 12 16 1A 1E 21 24 27 2A 2C 2E 2F 30 30 30 30 36 33 2E 2A 25 20 1B 17 13 0E 0A 06 02 00 03 04 + .he 06 08 09 09 09 09 08 07 06 04 02 00 01 05 08 0B 0E 11 14 18 1B 1E 21 23 26 28 2A 2B 2C 2C 2C 2C + .he 39 35 32 2D 29 24 20 1B 17 12 0E 0A 07 04 02 00 02 03 04 05 05 04 04 03 02 00 00 02 04 07 09 0B + .he 0E 10 13 16 19 1B 1E 20 23 24 26 27 28 29 29 29 3C 39 35 31 2D 29 24 20 1C 17 13 10 0D 0A 07 05 + .he 03 02 01 00 00 00 00 01 01 02 04 05 06 08 0A 0C 0E 11 13 15 17 1A 1B 1E 1F 21 23 24 24 25 26 26 + .he 3F 3D 39 36 31 2E 29 25 21 1D 19 16 12 0F 0C 0A 09 08 06 05 05 05 06 06 07 07 08 09 0A 0B 0C 0E + .he 0F 11 12 14 16 18 19 1B 1D 1E 20 20 22 22 23 24 3C 3E 3E 3A 37 33 2F 2B 27 23 1F 1C 19 16 13 11 + .he 0F 0E 0D 0C 0C 0B 0B 0C 0C 0C 0D 0D 0D 0E 0F 0F 10 11 12 14 15 16 18 19 1B 1C 1D 1E 1F 20 21 21 + .he 37 3A 3C 3F 3C 38 34 30 2D 29 25 22 1F 1C 1A 18 15 15 13 12 12 12 12 12 12 12 12 12 11 12 11 11 + .he 12 12 13 14 15 15 16 18 19 1A 1B 1C 1D 1E 1E 20 33 35 37 3A 3D 3E 3B 37 33 2F 2C 28 25 23 20 1E + .he 1D 1B 1A 19 19 19 18 18 18 17 17 16 16 15 15 14 13 13 14 14 14 15 15 16 18 18 19 1A 1B 1D 1D 1F + .he 2E 30 32 35 37 3B 3E 3D 39 35 32 2F 2C 29 27 25 23 22 21 21 20 1F 1F 1F 1E 1D 1D 1C 1A 19 17 17 + .he 16 15 15 14 14 14 15 15 16 17 18 19 1A 1B 1C 1D 2A 2B 2D 2F 31 35 38 3C 3F 3C 38 35 32 2F 2D 2B + .he 2A 29 28 27 27 26 26 25 24 23 22 20 1E 1D 1B 19 18 16 16 15 15 15 15 15 15 16 17 18 19 1B 1B 1C + .he 26 27 28 29 2C 2F 32 36 3A 3D 3F 3B 38 36 33 31 31 2F 2E 2E 2D 2C 2D 2B 2B 2A 28 26 24 21 1E 1C + .he 1A 19 17 16 15 15 15 15 15 16 17 18 19 1A 1B 1D 22 22 23 25 26 29 2D 30 34 37 3B 3E 3E 3B 39 37 + .he 36 35 34 34 34 33 32 31 30 2F 2C 2A 28 24 22 1F 1D 1A 18 17 17 16 15 15 15 16 17 18 19 1A 1C 1D + .he 1E 1E 1E 1F 21 24 28 2B 2F 32 36 39 3C 3E 3E 3D 3C 3B 3A 3A 39 39 38 36 36 34 31 2E 2B 28 25 22 + .he 1F 1C 1A 19 17 17 16 16 16 17 17 18 1A 1B 1C 1E 1B 1B 1B 1B 1E 20 23 27 2A 2E 31 35 38 3A 3C 3E + .he 3F 3F 3F 3F 3D 3D 3C 3B 39 38 35 32 2E 2A 27 24 21 1E 1C 1A 19 18 18 17 18 18 19 19 1B 1C 1E 1F + .he 19 18 17 19 1A 1D 20 23 27 2A 2E 31 34 36 39 3A 3A 3C 3C 3D 3D 3E 3F 3E 3D 3A 37 33 31 2D 29 26 + .he 22 20 1E 1C 1A 1A 19 18 19 19 1A 1B 1C 1D 1F 21 18 16 16 17 18 1B 1D 21 25 28 2B 2F 31 34 35 37 + .he 38 39 39 3A 3B 3C 3E 3F 3E 3C 39 35 32 2E 2B 27 24 21 1F 1E 1C 1B 1A 1A 1A 1B 1C 1D 1E 1F 22 24 + +.endp + eif + +// ----------------------------------------------------------- + + ift FADECHR = 3 +.proc left_right + + mva #WIDTH/2 cnt + + mva #0 x0 + mva #WIDTH-1 x1 + +loop ldy #0 +x0 equ *-1 + jsr column + + ldy #0 +x1 equ *-1 + jsr column + + :2 inc x0 + :2 dec x1 + + dec cnt + bne loop + rts + +column ldx #HEIGHT-1 +draw jsr plot + dex + bpl draw + jmp wait + +cnt brk + +.endp + eif + +// ----------------------------------------------------------- + + ift FADECHR = 2 +.proc random + + mwa #0 cnt + +loop lda $d20a ; y + and #$f + cmp #15 + bcs loop + asl @ + sta py + + :2 asl @ + sta bmap + +ret lda $d20a ; x + lsr @ + and #$1f + cmp #WIDTH/2 + bcs ret + asl @ + sta px + + :3 lsr @ + tax + + lda px + and #7 + tay + + jsr mapByte + and mask,y + bne loop + + jsr mapByte + ora mask,y + + mvy #{sta $ffff,x} mapByte + jsr mapByte + mvy #{lda $ffff,x} mapByte + + ldy #0 +px equ *-1 + ldx #0 +py equ *-1 + + jsr plot + iny + jsr plot + inx + jsr plot + dey + jsr plot + + inw cnt + + cpw cnt #(WIDTH/2)*15 + jne loop + + ldx #$7f + lda #0 + sta:rpl mapBits,x- + +mapByte lda mapBits,x +bmap equ *-2 + rts + +mask dta $80,$40,$20,$10,$08,$04,$02,$01 + +cnt dta a(0) +.endp + eif + +// ----------------------------------------------------------- + + ift FADECHR = 1 +.proc box (.byte width, height) .var + +loop mva width w + dec w +l0 jsr plot + iny + dec w + bne l0 + + mva height h + dec h +l1 jsr plot + inx + dec h + bne l1 + + mva width w + dec w +l2 jsr plot + dey + dec w + bne l2 + + mva height h + dec h +l3 jsr plot + dex + dec h + bne l3 + + :2 dec width + :2 dec height + + inx + iny + + jsr wait + + cpy #15 + bne loop + + rts + +w brk +h brk + +width brk +height brk + +.endp + eif + +// ----------------------------------------------------------- + +.proc movfil (.word fadr, fhlp, fcnt .byte fill+1) .var + + sta fill_+1 + + LDY #0 + LDX fcnt+1 + BEQ MD2 +MD1 LDA (fadr),y ; move the remaining bytes + STA (fhlp),y +fill lda #0 + sta (fadr),y + INY + BNE MD1 + INC fadr+1 + INC fhlp+1 + DEX + BNE MD1 +MD2 LDX fcnt + BEQ MD4 +MD3 LDA (fadr),y ; move the remaining bytes + STA (fhlp),y +fill_ lda #0 + sta (fadr),y + INY + DEX + BNE MD3 +MD4 RTS + +.endp + +init movfil #scr #scrn #WIDTH*HEIGHT #SCHR + + ldy #0 + tya +pmgClr sta pmg+$300,y + sta pmg+$400,y + sta pmg+$500,y + sta pmg+$600,y + sta pmg+$700,y + iny + bne pmgClr + rts + +// ----------------------------------------------------------- + +.proc plot (.byte x,y) .reg + + stx rx ; Y char position + sty ry ; X char position + + mva lmul,x fadr + mva hmul,x fadr+1 + + lda fadr + add scrn +_sta1 sta src+2 + + adw fadr #scr dst+1 + + lda #SCHR + +src lda $ffff,y +dst sta $ffff,y + + jsr pmg_plot + + ldx #0 +rx equ *-1 + ldy #0 +ry equ *-1 + + rts + +.local pmg_plot + + mva lcol,y fcnt + mva hcol,y fcnt+1 + + txa + asl @ + tay + + asl @ + asl @ + add #8 + tax + + lda (fcnt),y + sta fadr + iny + lda (fcnt),y + sta fadr+1 + + ldy #0 + +loop lda (fadr),y +src equ *-2 + sta tmp + + beq stop + + jmi _mis +p0 asl tmp + jmi _pl0 +p1 asl tmp + jmi _pl1 +p2 asl tmp + jmi _pl2 +p3 asl tmp + jmi _pl3 + +stop rts + +tmp brk + +_mis @plot $300 + jmp p0 + +_pl0 @plot $400 + jmp p1 + +_pl1 @plot $500 + jmp p2 + +_pl2 @plot $600 + jmp p3 + +_pl3 @plot $700 + rts + +.macro @plot (player) + .rept 8 + iny + lda pmg+%%player+#,x + eor (fadr),y + sta pmg+%%player+#,x + .endr +.endm + +.endl + +lcol :WIDTH dta l(col%%1) +hcol :WIDTH dta h(col%%1) + + .rept WIDTH,# +col%%1 dta a(c%%1r0),a(c%%1r1),a(c%%1r2),a(c%%1r3),a(c%%1r4) + dta a(c%%1r5),a(c%%1r6),a(c%%1r7),a(c%%1r8),a(c%%1r9) + dta a(c%%1r10),a(c%%1r11),a(c%%1r12),a(c%%1r13),a(c%%1r14) + dta a(c%%1r15),a(c%%1r16),a(c%%1r17),a(c%%1r18),a(c%%1r19) + dta a(c%%1r20),a(c%%1r21),a(c%%1r22),a(c%%1r23),a(c%%1r24) + dta a(c%%1r25),a(c%%1r26),a(c%%1r27),a(c%%1r28),a(c%%1r29) + .endr + +lmul :HEIGHT dta l(#*WIDTH) +hmul :HEIGHT dta h(#*WIDTH) +.endp + +.endl + +scrn .ds WIDTH*HEIGHT diff --git a/art/DM_logo_src/digital_melody_logo.scr b/art/DM_logo_src/digital_melody_logo.scr new file mode 100644 index 0000000..bd2dda5 Binary files /dev/null and b/art/DM_logo_src/digital_melody_logo.scr differ diff --git a/art/anim_exported.asm b/art/anim_exported.asm new file mode 100644 index 0000000..2532ec8 --- /dev/null +++ b/art/anim_exported.asm @@ -0,0 +1,846 @@ +gamescreen_upper +skyp1c0 = $8E +skyp1c1 = $88 +skyp1c2 = $00 +skyp1c3 = $F4 +skyp1c4 = $38 +skyp1c5 = $16 +skyp1c6 = $16 +skyp1c7 = $1A +skyp1c8 = $B4 +skyp1c9 = $BA +power_bar + dta $A8,$8D,$01,$01,$01,$01,$8E,$86,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$84,$8D,$01,$01,$01,$01,$01,$01,$85 + dta $A8,$8D,$01,$01,$01,$01,$8E,$86,$01,$02,$0B,$0B,$0B,$0B,$0B,$0B,$87,$87,$87,$87,$87,$87,$0C,$84,$8D,$01,$01,$01,$01,$01,$01,$85 +branch0 + dta $A8,$8D,$01,$01,$01,$01,$8E,$86,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$84,$8D,$01,$01,$01,$01,$01,$01,$85 + dta $A8,$8D,$01,$01,$01,$01,$8E,$86,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$84,$8D,$01,$01,$01,$01,$01,$01,$85 + dta $A8,$8D,$01,$01,$01,$01,$8E,$86,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$84,$8D,$01,$01,$01,$01,$01,$01,$85 + dta $A8,$8D,$01,$01,$01,$01,$8E,$86,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$84,$8D,$01,$01,$01,$01,$01,$01,$85 + dta $A8,$8D,$01,$01,$01,$01,$8E,$86,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$84,$8D,$01,$01,$01,$01,$01,$01,$85 +branch1 + dta $A8,$8D,$01,$01,$01,$01,$8E,$86,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$B4,$C3,$C4,$C5,$C6,$C7,$C8,$C9,$CA,$01,$01,$85 + dta $A8,$8D,$01,$01,$01,$01,$8E,$86,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$B5,$CB,$CC,$CD,$CE,$CF,$01,$01,$01,$01,$01,$85 + dta $A8,$8D,$01,$01,$01,$01,$8E,$86,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$84,$8D,$01,$01,$01,$01,$01,$01,$85 + dta $A8,$8D,$01,$01,$01,$01,$8E,$86,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$84,$8D,$01,$01,$01,$01,$01,$01,$85 + dta $A8,$8D,$01,$01,$01,$01,$8E,$86,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$84,$8D,$01,$01,$01,$01,$01,$01,$85 +branch2 + dta $A8,$8D,$01,$B6,$B7,$B8,$B9,$BA,$BB,$BC,$BD,$AB,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$84,$8D,$01,$01,$01,$01,$01,$01,$85 + dta $A8,$8D,$01,$01,$01,$01,$8E,$BF,$C0,$C1,$C2,$AA,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$84,$8D,$01,$01,$01,$01,$01,$01,$85 + dta $A8,$8D,$01,$01,$01,$01,$8E,$86,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$84,$8D,$01,$01,$01,$01,$01,$01,$85 + dta $A8,$8D,$01,$01,$01,$01,$8E,$86,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$84,$8D,$01,$01,$01,$01,$01,$01,$85 + dta $A8,$8D,$01,$01,$01,$01,$8E,$86,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$84,$8D,$01,$01,$01,$01,$01,$01,$85 + +last_line_r +phase1rp1c0 = $CE +phase1rp1c1 = $C8 +phase1rp1c2 = $00 +phase1rp1c3 = $F4 +phase1rp1c4 = $0C +phase1rp1c5 = $F6 +phase1rp1c6 = $16 +phase1rp1c7 = $1A +phase1rp1c8 = $B4 +phase1rp1c9 = $BA + dta $D2,$D3,$01,$01,$01,$01,$01,$01,$01,$01,$27,$D0,$9F,$00,$0F,$A0,$A3,$A4,$9E,$9F,$51,$A9,$D7,$6F,$70,$6A,$6A,$71,$72,$01,$D4,$D5 +last_line_l +phase1lp1c0 = $CE +phase1lp1c1 = $C8 +phase1lp1c2 = $00 +phase1lp1c3 = $F4 +phase1lp1c4 = $0C +phase1lp1c5 = $F6 +phase1lp1c6 = $16 +phase1lp1c7 = $1A +phase1lp1c8 = $B4 +phase1lp1c9 = $BA + dta $D2,$D3,$01,$7F,$7E,$6A,$6A,$7D,$7C,$01,$27,$D0,$9F,$00,$0F,$A0,$A3,$A4,$9E,$9F,$51,$A9,$D7,$01,$01,$01,$01,$BE,$01,$01,$D4,$D5 +last_line_RIP_l +ripp1c0 = $CE +ripp1c1 = $C8 +ripp1c2 = $00 +ripp1c3 = $F4 +ripp1c4 = $0C +ripp1c5 = $F6 +ripp1c6 = $16 +ripp1c7 = $1A +ripp1c8 = $B4 +ripp1c9 = $BA + dta $D2,$D3,$01,$60,$61,$62,$62,$63,$64,$01,$27,$D0,$9F,$00,$0F,$A0,$A3,$A4,$9E,$9F,$51,$A9,$D7,$01,$01,$01,$01,$BE,$01,$01,$D4,$D5 +last_line_RIP_r +ripp2c0 = $CE +ripp2c1 = $C8 +ripp2c2 = $00 +ripp2c3 = $F4 +ripp2c4 = $0C +ripp2c5 = $F6 +ripp2c6 = $16 +ripp2c7 = $1A +ripp2c8 = $B4 +ripp2c9 = $BA + dta $D2,$D3,$01,$01,$01,$01,$01,$01,$01,$01,$27,$D0,$9F,$00,$0F,$A0,$A3,$A4,$9E,$9F,$51,$A9,$D7,$60,$61,$62,$62,$63,$64,$01,$D4,$D5 + + .align $100 +; Right animation +gamescreen_r_ph1p1 ; phase 1 page 1 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$9D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A6,$01,$01,$01,$01,$01,$01,$04,$87,$08,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$9D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A6,$01,$01,$01,$01,$5A,$5B,$35,$89,$0A,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$9D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A6,$01,$01,$01,$01,$5E,$5F,$DD,$DC,$64,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$9D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A6,$01,$01,$E0,$E1,$62,$63,$E6,$42,$65,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$9D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A6,$01,$01,$ED,$E8,$E9,$6A,$EB,$EC,$64,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$9D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A6,$01,$01,$ED,$EE,$42,$70,$42,$F2,$65,$01,$01 + dta $01,$01,$D6,$01,$01,$01,$D2,$E7,$01,$01,$D9,$9D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A6,$01,$D5,$F5,$F4,$6B,$6E,$F4,$F3,$D2,$01,$01 + dta $01,$01,$01,$01,$D2,$D7,$01,$01,$01,$D8,$01,$9D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A6,$01,$01,$7B,$7A,$79,$78,$77,$76,$01,$01,$01 +gamescreen_r_ph1p2 ; phase 1 page 2 +phase1rp2c0 = $CE +phase1rp2c1 = $C8 +phase1rp2c2 = $00 +phase1rp2c3 = $F4 +phase1rp2c4 = $0C +phase1rp2c5 = $F6 +phase1rp2c6 = $16 +phase1rp2c7 = $1A +phase1rp2c8 = $B4 +phase1rp2c9 = $BA + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$9D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A6,$01,$01,$01,$01,$01,$01,$04,$87,$08,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$9D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A6,$01,$01,$01,$01,$5A,$5B,$35,$89,$0A,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$9D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A6,$01,$01,$01,$01,$5E,$5F,$DD,$DC,$64,$01,$01 + dta $01,$01,$01,$F8,$F9,$FA,$FB,$FC,$FD,$FE,$FF,$A5,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A6,$01,$01,$E0,$E1,$62,$63,$E6,$42,$65,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$F4,$F5,$F6,$F7,$28,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A6,$01,$01,$ED,$E8,$E9,$6A,$EB,$EC,$64,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$9D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A6,$01,$01,$ED,$EE,$42,$70,$42,$F2,$65,$01,$01 + dta $01,$01,$D6,$01,$01,$01,$D2,$E7,$01,$01,$D9,$9D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A6,$01,$D5,$F5,$F4,$6B,$6E,$F4,$F3,$D2,$01,$01 + dta $01,$01,$01,$01,$D2,$D7,$01,$01,$01,$D8,$01,$9D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A6,$01,$01,$7B,$7A,$79,$78,$77,$76,$01,$01,$01 +gamescreen_r_ph2p1 ; phase 2 page 1 +phase2rp1c0 = $CE +phase2rp1c1 = $C8 +phase2rp1c2 = $00 +phase2rp1c3 = $F4 +phase2rp1c4 = $0C +phase2rp1c5 = $F6 +phase2rp1c6 = $16 +phase2rp1c7 = $1A +phase2rp1c8 = $B4 +phase2rp1c9 = $BA + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$06,$0B,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$04,$0C,$0D,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$8E,$8F,$10,$11,$92,$93,$01,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$94,$95,$96,$97,$98,$99,$1A,$1B,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$D0,$9C,$AC,$AD,$2E,$AF,$30,$31,$01 + dta $01,$01,$D6,$01,$01,$01,$D2,$E7,$01,$01,$D9,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$D5,$F5,$F4,$6D,$6C,$F4,$F3,$D2,$01,$01 + dta $01,$01,$01,$01,$D2,$D7,$01,$01,$01,$D8,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$7B,$7A,$79,$78,$77,$76,$01,$01,$01 +gamescreen_r_ph2p2 ; phase 2 page 2 +phase2rp2c0 = $CE +phase2rp2c1 = $C8 +phase2rp2c2 = $00 +phase2rp2c3 = $F4 +phase2rp2c4 = $0C +phase2rp2c5 = $F6 +phase2rp2c6 = $16 +phase2rp2c7 = $1A +phase2rp2c8 = $B4 +phase2rp2c9 = $BA + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$06,$0B,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$04,$0C,$0D,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$A4,$A5,$26,$01,$01,$8E,$8F,$10,$11,$92,$93,$01,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$94,$95,$96,$97,$98,$99,$1A,$1B,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$D0,$9C,$AC,$AD,$2E,$AF,$30,$31,$01 + dta $01,$01,$D6,$01,$01,$01,$D2,$E7,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$D5,$F5,$F4,$6D,$6C,$F4,$F3,$D2,$01,$01 + dta $01,$01,$01,$01,$D2,$D7,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$E8,$D3,$01,$01,$01,$7B,$7A,$79,$78,$77,$76,$01,$01,$01 +gamescreen_r_ph2p3 ; phase 2 page 3 +phase2rp3c0 = $CE +phase2rp3c1 = $C8 +phase2rp3c2 = $00 +phase2rp3c3 = $F4 +phase2rp3c4 = $0C +phase2rp3c5 = $F6 +phase2rp3c6 = $16 +phase2rp3c7 = $1A +phase2rp3c8 = $B4 +phase2rp3c9 = $BA + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$06,$0B,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$04,$0C,$0D,$01,$01,$01,$01,$01 + dta $A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$8E,$8F,$10,$11,$92,$93,$01,$01,$01 + dta $A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$94,$95,$96,$97,$98,$99,$1A,$1B,$01 + dta $A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$D0,$9C,$AC,$AD,$2E,$AF,$30,$31,$01 + dta $A0,$A1,$A2,$A3,$A4,$A5,$26,$E7,$01,$01,$D9,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$D5,$F5,$F4,$6D,$6C,$F4,$F3,$D2,$01,$01 + dta $A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$D8,$01,$01,$01,$01,$01,$01,$01,$01,$E8,$D3,$01,$01,$01,$7B,$7A,$79,$78,$77,$76,$01,$01,$01 +gamescreen_r_ph2p4 ; phase 2 page 4 +phase2rp4c0 = $CE +phase2rp4c1 = $C8 +phase2rp4c2 = $00 +phase2rp4c3 = $F4 +phase2rp4c4 = $0C +phase2rp4c5 = $F6 +phase2rp4c6 = $16 +phase2rp4c7 = $1A +phase2rp4c8 = $B4 +phase2rp4c9 = $BA + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$06,$0B,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$04,$0C,$0D,$01,$01,$01,$01,$01 + dta $A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$8E,$8F,$10,$11,$92,$93,$01,$01,$01 + dta $A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$94,$95,$96,$97,$98,$99,$1A,$1B,$01 + dta $A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$D0,$9C,$AC,$AD,$2E,$AF,$30,$31,$01 + dta $A4,$A5,$26,$01,$01,$01,$D2,$E7,$01,$01,$D9,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$D5,$F5,$F4,$6D,$6C,$F4,$F3,$D2,$01,$01 + dta $A4,$A5,$26,$01,$D2,$D7,$01,$01,$01,$D8,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$7B,$7A,$79,$78,$77,$76,$01,$01,$01 +gamescreen_r_ph2p7 ; phase 2 page 7 +phase2rp7c0 = $CE +phase2rp7c1 = $C8 +phase2rp7c2 = $00 +phase2rp7c3 = $F4 +phase2rp7c4 = $0C +phase2rp7c5 = $F6 +phase2rp7c6 = $16 +phase2rp7c7 = $1A +phase2rp7c8 = $B4 +phase2rp7c9 = $BA + dta $01,$01,$01,$01,$01,$01,$01,$F4,$F5,$F6,$F7,$28,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$06,$0B,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$04,$0C,$0D,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$A4,$A5,$26,$01,$01,$8E,$8F,$10,$11,$92,$93,$01,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$94,$95,$96,$97,$98,$99,$1A,$1B,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$D0,$9C,$AC,$AD,$2E,$AF,$30,$31,$01 + dta $01,$01,$D6,$01,$01,$01,$D2,$E7,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$D5,$F5,$F4,$6D,$6C,$F4,$F3,$D2,$01,$01 + dta $01,$01,$01,$01,$D2,$D7,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$E8,$D3,$01,$01,$01,$7B,$7A,$79,$78,$77,$76,$01,$01,$01 +gamescreen_r_ph2p8 ; phase 2 page 8 +phase2rp8c0 = $CE +phase2rp8c1 = $C8 +phase2rp8c2 = $00 +phase2rp8c3 = $F4 +phase2rp8c4 = $0C +phase2rp8c5 = $F6 +phase2rp8c6 = $16 +phase2rp8c7 = $1A +phase2rp8c8 = $B4 +phase2rp8c9 = $BA + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$06,$0B,$01,$01,$01,$01,$01 + dta $01,$01,$01,$F8,$F9,$FA,$FB,$FC,$FD,$FE,$FF,$A5,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$04,$0C,$0D,$01,$01,$01,$01,$01 + dta $A0,$A1,$A2,$A3,$A4,$A5,$26,$F4,$F5,$F6,$F7,$28,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$8E,$8F,$10,$11,$92,$93,$01,$01,$01 + dta $A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$94,$95,$96,$97,$98,$99,$1A,$1B,$01 + dta $A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$D0,$9C,$AC,$AD,$2E,$AF,$30,$31,$01 + dta $A0,$A1,$A2,$A3,$A4,$A5,$26,$E7,$01,$01,$D9,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$D5,$F5,$F4,$6D,$6C,$F4,$F3,$D2,$01,$01 + dta $A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$D8,$01,$01,$01,$01,$01,$01,$01,$01,$E8,$D3,$01,$01,$01,$7B,$7A,$79,$78,$77,$76,$01,$01,$01 +gamescreen_r_ph2p9 ; phase 2 page 9 +phase2rp9c0 = $CE +phase2rp9c1 = $C8 +phase2rp9c2 = $00 +phase2rp9c3 = $F4 +phase2rp9c4 = $0C +phase2rp9c5 = $F6 +phase2rp9c6 = $16 +phase2rp9c7 = $1A +phase2rp9c8 = $B4 +phase2rp9c9 = $BA + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$06,$0B,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$04,$0C,$0D,$01,$01,$01,$01,$01 + dta $A4,$A5,$26,$F8,$F9,$FA,$FB,$FC,$FD,$FE,$FF,$A5,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$8E,$8F,$10,$11,$92,$93,$01,$01,$01 + dta $A4,$A5,$26,$01,$01,$01,$01,$F4,$F5,$F6,$F7,$28,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$94,$95,$96,$97,$98,$99,$1A,$1B,$01 + dta $A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$D0,$9C,$AC,$AD,$2E,$AF,$30,$31,$01 + dta $A4,$A5,$26,$01,$01,$01,$D2,$E7,$01,$01,$D9,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$D5,$F5,$F4,$6D,$6C,$F4,$F3,$D2,$01,$01 + dta $A4,$A5,$26,$01,$D2,$D7,$01,$01,$01,$D8,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$7B,$7A,$79,$78,$77,$76,$01,$01,$01 +gamescreen_r_ph2p11 ; phase 2 page 11 +phase2rp11c0 = $CE +phase2rp11c1 = $C8 +phase2rp11c2 = $00 +phase2rp11c3 = $F4 +phase2rp11c4 = $0C +phase2rp11c5 = $F6 +phase2rp11c6 = $16 +phase2rp11c7 = $1A +phase2rp11c8 = $B4 +phase2rp11c9 = $BA + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$29,$C8,$C9,$CA,$CB,$CC,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$06,$0B,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$04,$0C,$0D,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$A4,$A5,$26,$01,$01,$8E,$8F,$10,$11,$92,$93,$01,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$94,$95,$96,$97,$98,$99,$1A,$1B,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$D0,$9C,$AC,$AD,$2E,$AF,$30,$31,$01 + dta $01,$01,$D6,$01,$01,$01,$D2,$E7,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$D5,$F5,$F4,$6D,$6C,$F4,$F3,$D2,$01,$01 + dta $01,$01,$01,$01,$D2,$D7,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$E8,$D3,$01,$01,$01,$7B,$7A,$79,$78,$77,$76,$01,$01,$01 +gamescreen_r_ph2p12 ; phase 2 page 12 +phase2rp12c0 = $CE +phase2rp12c1 = $C8 +phase2rp12c2 = $00 +phase2rp12c3 = $F4 +phase2rp12c4 = $0C +phase2rp12c5 = $F6 +phase2rp12c6 = $16 +phase2rp12c7 = $1A +phase2rp12c8 = $B4 +phase2rp12c9 = $BA + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$06,$0B,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$9E,$D1,$D2,$D3,$D4,$0C,$59,$D6,$D7,$01,$01,$01 + dta $A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$29,$C8,$C9,$8E,$8F,$10,$11,$92,$93,$01,$01,$01 + dta $A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$94,$95,$96,$97,$98,$99,$1A,$1B,$01 + dta $A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$D0,$9C,$AC,$AD,$2E,$AF,$30,$31,$01 + dta $A0,$A1,$A2,$A3,$A4,$A5,$26,$E7,$01,$01,$D9,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$D5,$F5,$F4,$6D,$6C,$F4,$F3,$D2,$01,$01 + dta $A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$D8,$01,$01,$01,$01,$01,$01,$01,$01,$E8,$D3,$01,$01,$01,$7B,$7A,$79,$78,$77,$76,$01,$01,$01 +gamescreen_r_ph2p13 ; phase 2 page 13 +phase2rp13c0 = $CE +phase2rp13c1 = $C8 +phase2rp13c2 = $00 +phase2rp13c3 = $F4 +phase2rp13c4 = $0C +phase2rp13c5 = $F6 +phase2rp13c6 = $16 +phase2rp13c7 = $1A +phase2rp13c8 = $B4 +phase2rp13c9 = $BA + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$06,$0B,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$04,$0C,$0D,$01,$01,$01,$01,$01 + dta $A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$9E,$D1,$D2,$8E,$8F,$10,$11,$92,$93,$01,$01,$01 + dta $A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$29,$C8,$C9,$94,$95,$96,$97,$98,$99,$1A,$1B,$01 + dta $A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$D0,$9C,$AC,$AD,$2E,$AF,$30,$31,$01 + dta $A4,$A5,$26,$01,$01,$01,$D2,$E7,$01,$01,$D9,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$D5,$F5,$F4,$6D,$6C,$F4,$F3,$D2,$01,$01 + dta $A4,$A5,$26,$01,$D2,$D7,$01,$01,$01,$D8,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$7B,$7A,$79,$78,$77,$76,$01,$01,$01 +gamescreen_r_ph3p1 ; phase 3 page 1 +phase3rp1c0 = $CE +phase3rp1c1 = $C8 +phase3rp1c2 = $00 +phase3rp1c3 = $F4 +phase3rp1c4 = $0C +phase3rp1c5 = $F6 +phase3rp1c6 = $16 +phase3rp1c7 = $1A +phase3rp1c8 = $B4 +phase3rp1c9 = $BA + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$5A,$5B,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$5E,$5F,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$E0,$67,$62,$63,$A7,$B2,$01,$01,$01 + dta $01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$A1,$A2,$A3,$A4,$B3,$B4,$B6,$B7,$B8,$B9,$BA,$3B,$BC,$BD,$01,$01,$01 + dta $01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$BE,$BF,$C1,$42,$C3,$C4,$45,$46,$CE,$BD,$01,$01,$01 + dta $01,$01,$D6,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$D5,$F5,$F4,$6D,$6C,$F4,$F3,$D2,$01,$01 + dta $01,$01,$01,$01,$D2,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$E8,$D3,$01,$01,$01,$7B,$7A,$79,$78,$77,$76,$01,$01,$01 +gamescreen_r_ph3p2 ; phase 3 page 2 +phase3rp2c0 = $CE +phase3rp2c1 = $C8 +phase3rp2c2 = $00 +phase3rp2c3 = $F4 +phase3rp2c4 = $0C +phase3rp2c5 = $F6 +phase3rp2c6 = $16 +phase3rp2c7 = $1A +phase3rp2c8 = $B4 +phase3rp2c9 = $BA + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$5A,$5B,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$5E,$5F,$01,$01,$01,$01,$01 + dta $01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$E0,$67,$62,$63,$A7,$B2,$01,$01,$01 + dta $01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$B6,$B7,$B8,$B9,$BA,$3B,$BC,$BD,$01,$01,$01 + dta $01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$C1,$42,$C3,$C4,$45,$46,$CE,$BD,$01,$01,$01 + dta $01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$E9,$01,$01,$01,$01,$01,$01,$01,$01,$01,$D5,$F5,$F4,$6D,$6C,$F4,$F3,$D2,$01,$01 + dta $01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$E8,$D3,$01,$01,$01,$7B,$7A,$79,$78,$77,$76,$01,$01,$01 +gamescreen_r_ph3p5 ; phase 3 page 5 +phase3rp5c0 = $CE +phase3rp5c1 = $C8 +phase3rp5c2 = $00 +phase3rp5c3 = $F4 +phase3rp5c4 = $0C +phase3rp5c5 = $F6 +phase3rp5c6 = $16 +phase3rp5c7 = $1A +phase3rp5c8 = $B4 +phase3rp5c9 = $BA + dta $01,$01,$01,$F8,$F9,$FA,$FB,$FC,$FD,$FE,$FF,$A5,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$F4,$F5,$F6,$F7,$28,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$5A,$5B,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$5E,$5F,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$E0,$67,$62,$63,$A7,$B2,$01,$01,$01 + dta $01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$A1,$A2,$A3,$A4,$B3,$B4,$B6,$B7,$B8,$B9,$BA,$3B,$BC,$BD,$01,$01,$01 + dta $01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$BE,$BF,$C1,$42,$C3,$C4,$45,$46,$CE,$BD,$01,$01,$01 + dta $01,$01,$D6,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$D5,$F5,$F4,$6D,$6C,$F4,$F3,$D2,$01,$01 + dta $01,$01,$01,$01,$D2,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$E8,$D3,$01,$01,$01,$7B,$7A,$79,$78,$77,$76,$01,$01,$01 +gamescreen_r_ph3p6 ; phase 3 page 6 +phase3rp6c0 = $CE +phase3rp6c1 = $C8 +phase3rp6c2 = $00 +phase3rp6c3 = $F4 +phase3rp6c4 = $0C +phase3rp6c5 = $F6 +phase3rp6c6 = $16 +phase3rp6c7 = $1A +phase3rp6c8 = $B4 +phase3rp6c9 = $BA + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$F8,$F9,$FA,$FB,$FC,$FD,$FE,$FF,$A5,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$5A,$5B,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$F4,$F5,$F6,$F7,$28,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$5E,$5F,$01,$01,$01,$01,$01 + dta $01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$E0,$67,$62,$63,$A7,$B2,$01,$01,$01 + dta $01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$B6,$B7,$B8,$B9,$BA,$3B,$BC,$BD,$01,$01,$01 + dta $01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$C1,$42,$C3,$C4,$45,$46,$CE,$BD,$01,$01,$01 + dta $01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$E9,$01,$01,$01,$01,$01,$01,$01,$01,$01,$D5,$F5,$F4,$6D,$6C,$F4,$F3,$D2,$01,$01 + dta $01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$E8,$D3,$01,$01,$01,$7B,$7A,$79,$78,$77,$76,$01,$01,$01 +gamescreen_r_ph3p9 ; phase 3 page 9 +phase3rp9c0 = $CE +phase3rp9c1 = $C8 +phase3rp9c2 = $00 +phase3rp9c3 = $F4 +phase3rp9c4 = $0C +phase3rp9c5 = $F6 +phase3rp9c6 = $16 +phase3rp9c7 = $1A +phase3rp9c8 = $B4 +phase3rp9c9 = $BA + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$9E,$D1,$D2,$D3,$D4,$D5,$FA,$D6,$D7,$01,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$29,$C8,$C9,$CA,$CB,$CC,$5B,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$5E,$5F,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$E0,$67,$62,$63,$A7,$B2,$01,$01,$01 + dta $01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$A1,$A2,$A3,$A4,$B3,$B4,$B6,$B7,$B8,$B9,$BA,$3B,$BC,$BD,$01,$01,$01 + dta $01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$BE,$BF,$C1,$42,$C3,$C4,$45,$46,$CE,$BD,$01,$01,$01 + dta $01,$01,$D6,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$D5,$F5,$F4,$6D,$6C,$F4,$F3,$D2,$01,$01 + dta $01,$01,$01,$01,$D2,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$E8,$D3,$01,$01,$01,$7B,$7A,$79,$78,$77,$76,$01,$01,$01 +gamescreen_r_ph3p10 ; phase 3 page 10 +phase3rp10c0 = $CE +phase3rp10c1 = $C8 +phase3rp10c2 = $00 +phase3rp10c3 = $F4 +phase3rp10c4 = $0C +phase3rp10c5 = $F6 +phase3rp10c6 = $16 +phase3rp10c7 = $1A +phase3rp10c8 = $B4 +phase3rp10c9 = $BA + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$9E,$D1,$D2,$D3,$D4,$D5,$D8,$D6,$D7,$01,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$29,$C8,$C9,$CA,$CB,$5E,$5F,$01,$01,$01,$01,$01 + dta $01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$E0,$67,$62,$63,$A7,$B2,$01,$01,$01 + dta $01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$B6,$B7,$B8,$B9,$BA,$3B,$BC,$BD,$01,$01,$01 + dta $01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$C1,$42,$C3,$C4,$45,$46,$CE,$BD,$01,$01,$01 + dta $01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$E9,$01,$01,$01,$01,$01,$01,$01,$01,$01,$D5,$F5,$F4,$6D,$6C,$F4,$F3,$D2,$01,$01 + dta $01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$E8,$D3,$01,$01,$01,$7B,$7A,$79,$78,$77,$76,$01,$01,$01 + +; left animation +gamescreen_l_ph1p1 ; phase 1 page 1 + dta $01,$01,$08,$87,$04,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$09,$8A,$35,$5B,$5A,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$64,$DC,$DD,$5F,$5E,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$65,$C2,$E6,$63,$62,$E1,$E0,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$64,$EC,$EB,$6A,$E9,$E8,$ED,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$65,$F2,$42,$70,$42,$EE,$ED,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$D6,$F5,$F4,$6D,$6C,$F4,$F3,$01,$D9,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$D5,$01,$01,$01,$E9,$D9,$01,$D2,$01,$01 + dta $01,$01,$01,$7B,$7A,$79,$78,$77,$76,$D8,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$E8,$E7,$01,$01,$01,$01,$01,$01 +gamescreen_l_ph1p2 ; phase 1 page 2 +phase1lp2c0 = $CE +phase1lp2c1 = $C8 +phase1lp2c2 = $00 +phase1lp2c3 = $F4 +phase1lp2c4 = $0C +phase1lp2c5 = $F6 +phase1lp2c6 = $16 +phase1lp2c7 = $1A +phase1lp2c8 = $B4 +phase1lp2c9 = $BA + dta $01,$01,$08,$87,$04,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$09,$8A,$35,$5B,$5A,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$64,$DC,$DD,$5F,$5E,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$65,$C2,$E6,$63,$62,$E1,$E0,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$9E,$F5,$F6,$F7,$F8,$F9,$FA,$FB,$FC,$01,$01,$01 + dta $01,$01,$64,$EC,$EB,$6A,$E9,$E8,$ED,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A9,$F3,$F4,$D9,$FD,$FE,$01,$01,$01,$01,$01,$01 + dta $01,$01,$65,$F2,$42,$70,$42,$EE,$ED,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$D6,$F5,$F4,$6D,$6C,$F4,$F3,$01,$D9,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$D5,$01,$01,$01,$E9,$D9,$01,$D2,$01,$01 + dta $01,$01,$01,$7B,$7A,$79,$78,$77,$76,$D8,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$E8,$E7,$01,$01,$01,$01,$01,$01 +gamescreen_l_ph2p1 ; phase 2 page 1 +phase2lp1c0 = $CE +phase2lp1c1 = $C8 +phase2lp1c2 = $00 +phase2lp1c3 = $F4 +phase2lp1c4 = $0C +phase2lp1c5 = $F6 +phase2lp1c6 = $16 +phase2lp1c7 = $1A +phase2lp1c8 = $B4 +phase2lp1c9 = $BA + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$0B,$06,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$0D,$0C,$04,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$93,$92,$11,$10,$8F,$8E,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$1B,$1A,$99,$98,$97,$96,$95,$94,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$31,$30,$AF,$2E,$AD,$AC,$9C,$D0,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$D6,$F5,$F4,$6B,$6E,$F4,$F3,$01,$D9,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$D5,$01,$01,$01,$E9,$D9,$01,$D2,$01,$01 + dta $01,$01,$01,$7B,$7A,$79,$78,$77,$76,$D8,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$E8,$E7,$01,$01,$01,$01,$01,$01 +gamescreen_l_ph2p2 ; phase 2 page 2 +phase2lp2c0 = $CE +phase2lp2c1 = $C8 +phase2lp2c2 = $00 +phase2lp2c3 = $F4 +phase2lp2c4 = $0C +phase2lp2c5 = $F6 +phase2lp2c6 = $16 +phase2lp2c7 = $1A +phase2lp2c8 = $B4 +phase2lp2c9 = $BA + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$0B,$06,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$0D,$0C,$04,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$93,$92,$11,$10,$8F,$8E,$01,$01,$1D,$9E,$9F,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$1B,$1A,$99,$98,$97,$96,$95,$94,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$31,$30,$AF,$2E,$AD,$AC,$9C,$D0,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$D6,$F5,$F4,$6B,$6E,$F4,$F3,$01,$D9,$01,$E9,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$E9,$D9,$01,$D2,$01,$01 + dta $01,$01,$01,$7B,$7A,$79,$78,$77,$76,$D8,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$E8,$E7,$01,$01,$01,$01,$01,$01 +gamescreen_l_ph2p3 ; phase 2 page 3 +phase2lp3c0 = $CE +phase2lp3c1 = $C8 +phase2lp3c2 = $00 +phase2lp3c3 = $F4 +phase2lp3c4 = $0C +phase2lp3c5 = $F6 +phase2lp3c6 = $16 +phase2lp3c7 = $1A +phase2lp3c8 = $B4 +phase2lp3c9 = $BA + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$0B,$06,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$0D,$0C,$04,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$93,$92,$11,$10,$8F,$8E,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3 + dta $01,$1B,$1A,$99,$98,$97,$96,$95,$94,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3 + dta $01,$31,$30,$AF,$2E,$AD,$AC,$9C,$D0,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3 + dta $01,$01,$D6,$F5,$F4,$6B,$6E,$F4,$F3,$01,$D9,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$D5,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3 + dta $01,$01,$01,$7B,$7A,$79,$78,$77,$76,$D8,$01,$01,$01,$01,$01,$01,$01,$01,$E8,$D3,$01,$01,$01,$01,$E8,$1D,$9E,$9F,$A0,$A1,$A2,$A3 +gamescreen_l_ph2p4 ; phase 2 page 4 +phase2lp4c0 = $CE +phase2lp4c1 = $C8 +phase2lp4c2 = $00 +phase2lp4c3 = $F4 +phase2lp4c4 = $0C +phase2lp4c5 = $F6 +phase2lp4c6 = $16 +phase2lp4c7 = $1A +phase2lp4c8 = $B4 +phase2lp4c9 = $BA + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$0B,$06,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$0D,$0C,$04,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$93,$92,$11,$10,$8F,$8E,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F + dta $01,$1B,$1A,$99,$98,$97,$96,$95,$94,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F + dta $01,$31,$30,$AF,$2E,$AD,$AC,$9C,$D0,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F + dta $01,$01,$D6,$F5,$F4,$6B,$6E,$F4,$F3,$01,$D9,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$D5,$01,$01,$01,$E9,$D9,$01,$1D,$9E,$9F + dta $01,$01,$01,$7B,$7A,$79,$78,$77,$76,$D8,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$E8,$E7,$01,$01,$01,$1D,$9E,$9F +gamescreen_l_ph2p7 ; phase 2 page 7 +phase2lp7c0 = $CE +phase2lp7c1 = $C8 +phase2lp7c2 = $00 +phase2lp7c3 = $F4 +phase2lp7c4 = $0C +phase2lp7c5 = $F6 +phase2lp7c6 = $16 +phase2lp7c7 = $1A +phase2lp7c8 = $B4 +phase2lp7c9 = $BA + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$29,$F3,$F4,$D9,$FD,$FE,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$0B,$06,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$0D,$0C,$04,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$93,$92,$11,$10,$8F,$8E,$01,$01,$1D,$9E,$9F,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$1B,$1A,$99,$98,$97,$96,$95,$94,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$31,$30,$AF,$2E,$AD,$AC,$9C,$D0,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$D6,$F5,$F4,$6B,$6E,$F4,$F3,$01,$D9,$01,$E9,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$E9,$D9,$01,$D2,$01,$01 + dta $01,$01,$01,$7B,$7A,$79,$78,$77,$76,$D8,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$E8,$E7,$01,$01,$01,$01,$01,$01 +gamescreen_l_ph2p8 ; phase 2 page 8 +phase2lp8c0 = $CE +phase2lp8c1 = $C8 +phase2lp8c2 = $00 +phase2lp8c3 = $F4 +phase2lp8c4 = $0C +phase2lp8c5 = $F6 +phase2lp8c6 = $16 +phase2lp8c7 = $1A +phase2lp8c8 = $B4 +phase2lp8c9 = $BA + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$0B,$06,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$0D,$0C,$04,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$9E,$F5,$F6,$F7,$F8,$F9,$FA,$FB,$FC,$01,$01,$01 + dta $01,$01,$01,$93,$92,$11,$10,$8F,$8E,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A9,$F3,$F4,$D9,$FD,$1D,$9E,$9F,$A0,$A1,$A2,$A3 + dta $01,$1B,$1A,$99,$98,$97,$96,$95,$94,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3 + dta $01,$31,$30,$AF,$2E,$AD,$AC,$9C,$D0,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3 + dta $01,$01,$D6,$F5,$F4,$6B,$6E,$F4,$F3,$01,$D9,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$D5,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3 + dta $01,$01,$01,$7B,$7A,$79,$78,$77,$76,$D8,$01,$01,$01,$01,$01,$01,$01,$01,$E8,$D3,$01,$01,$01,$01,$E8,$1D,$9E,$9F,$A0,$A1,$A2,$A3 +gamescreen_l_ph2p9 ; phase 2 page 9 +phase2lp9c0 = $CE +phase2lp9c1 = $C8 +phase2lp9c2 = $00 +phase2lp9c3 = $F4 +phase2lp9c4 = $0C +phase2lp9c5 = $F6 +phase2lp9c6 = $16 +phase2lp9c7 = $1A +phase2lp9c8 = $B4 +phase2lp9c9 = $BA + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$0B,$06,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$0D,$0C,$04,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$93,$92,$11,$10,$8F,$8E,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$9E,$F5,$F6,$F7,$F8,$F9,$FA,$FB,$FC,$1D,$9E,$9F + dta $01,$1B,$1A,$99,$98,$97,$96,$95,$94,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A9,$F3,$F4,$D9,$FD,$FE,$01,$01,$01,$1D,$9E,$9F + dta $01,$31,$30,$AF,$2E,$AD,$AC,$9C,$D0,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F + dta $01,$01,$D6,$F5,$F4,$6B,$6E,$F4,$F3,$01,$D9,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$D5,$01,$01,$01,$E9,$D9,$01,$1D,$9E,$9F + dta $01,$01,$01,$7B,$7A,$79,$78,$77,$76,$D8,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$E8,$E7,$01,$01,$01,$1D,$9E,$9F +gamescreen_l_ph2p11 ; phase 2 page 11 +phase2lp11c0 = $CE +phase2lp11c1 = $C8 +phase2lp11c2 = $00 +phase2lp11c3 = $F4 +phase2lp11c4 = $0C +phase2lp11c5 = $F6 +phase2lp11c6 = $16 +phase2lp11c7 = $1A +phase2lp11c8 = $B4 +phase2lp11c9 = $BA + dta $01,$01,$01,$01,$01,$01,$01,$CA,$CB,$CC,$CD,$28,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$0B,$06,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$0D,$0C,$04,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$93,$92,$11,$10,$8F,$8E,$01,$01,$1D,$9E,$9F,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$1B,$1A,$99,$98,$97,$96,$95,$94,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$31,$30,$AF,$2E,$AD,$AC,$9C,$D0,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$D6,$F5,$F4,$6B,$6E,$F4,$F3,$01,$D9,$01,$E9,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$E9,$D9,$01,$D2,$01,$01 + dta $01,$01,$01,$7B,$7A,$79,$78,$77,$76,$D8,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$E8,$E7,$01,$01,$01,$01,$01,$01 +gamescreen_l_ph2p12 ; phase 2 page 12 +phase2lp12c0 = $CE +phase2lp12c1 = $C8 +phase2lp12c2 = $00 +phase2lp12c3 = $F4 +phase2lp12c4 = $0C +phase2lp12c5 = $F6 +phase2lp12c6 = $16 +phase2lp12c7 = $1A +phase2lp12c8 = $B4 +phase2lp12c9 = $BA + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$0B,$06,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$D2,$D3,$0D,$0C,$D5,$D6,$D7,$D8,$A5,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$93,$92,$11,$10,$8F,$8E,$CC,$CD,$28,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3 + dta $01,$1B,$1A,$99,$98,$97,$96,$95,$94,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3 + dta $01,$31,$30,$AF,$2E,$AD,$AC,$9C,$D0,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3 + dta $01,$01,$D6,$F5,$F4,$6B,$6E,$F4,$F3,$01,$D9,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$D5,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3 + dta $01,$01,$01,$7B,$7A,$79,$78,$77,$76,$D8,$01,$01,$01,$01,$01,$01,$01,$01,$E8,$D3,$01,$01,$01,$01,$E8,$1D,$9E,$9F,$A0,$A1,$A2,$A3 +gamescreen_l_ph2p13 ; phase 2 page 13 +phase2lp13c0 = $CE +phase2lp13c1 = $C8 +phase2lp13c2 = $00 +phase2lp13c3 = $F4 +phase2lp13c4 = $0C +phase2lp13c5 = $F6 +phase2lp13c6 = $16 +phase2lp13c7 = $1A +phase2lp13c8 = $B4 +phase2lp13c9 = $BA + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$0B,$06,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$0D,$0C,$04,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$93,$92,$11,$10,$8F,$8E,$D7,$D8,$A5,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F + dta $01,$1B,$1A,$99,$98,$97,$96,$95,$94,$CC,$CD,$28,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F + dta $01,$31,$30,$AF,$2E,$AD,$AC,$9C,$D0,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F + dta $01,$01,$D6,$F5,$F4,$6B,$6E,$F4,$F3,$01,$D9,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$D5,$01,$01,$01,$E9,$D9,$01,$1D,$9E,$9F + dta $01,$01,$01,$7B,$7A,$79,$78,$77,$76,$D8,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$E8,$E7,$01,$01,$01,$1D,$9E,$9F +gamescreen_l_ph3p1 ; phase 3 page 1 +phase3lp1c0 = $CE +phase3lp1c1 = $C8 +phase3lp1c2 = $00 +phase3lp1c3 = $F4 +phase3lp1c4 = $0C +phase3lp1c5 = $F6 +phase3lp1c6 = $16 +phase3lp1c7 = $1A +phase3lp1c8 = $B4 +phase3lp1c9 = $BA + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$5B,$5A,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$5F,$5E,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$B2,$A7,$63,$62,$67,$E0,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01 + dta $01,$01,$01,$BD,$BC,$3B,$BA,$B9,$B8,$B7,$B6,$B4,$B3,$9F,$A0,$A1,$A2,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01 + dta $01,$01,$01,$BD,$CE,$46,$45,$C4,$C3,$42,$C1,$BF,$BE,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01 + dta $01,$01,$D6,$F5,$F4,$6B,$6E,$F4,$F3,$01,$D9,$01,$E9,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$D9,$01,$D2,$01,$01 + dta $01,$01,$01,$7B,$7A,$79,$78,$77,$76,$D8,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01 +gamescreen_l_ph3p2 ; phase 3 page 2 +phase3lp2c0 = $CE +phase3lp2c1 = $C8 +phase3lp2c2 = $00 +phase3lp2c3 = $F4 +phase3lp2c4 = $0C +phase3lp2c5 = $F6 +phase3lp2c6 = $16 +phase3lp2c7 = $1A +phase3lp2c8 = $B4 +phase3lp2c9 = $BA + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$5B,$5A,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$5F,$5E,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$B2,$A7,$63,$62,$67,$E0,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01 + dta $01,$01,$01,$BD,$BC,$3B,$BA,$B9,$B8,$B7,$B6,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01 + dta $01,$01,$01,$BD,$CE,$46,$45,$C4,$C3,$42,$C1,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01 + dta $01,$01,$D6,$F5,$F4,$6B,$6E,$F4,$F3,$01,$D9,$01,$E9,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01 + dta $01,$01,$01,$7B,$7A,$79,$78,$77,$76,$D8,$01,$01,$01,$01,$01,$01,$01,$01,$E8,$D3,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01 +gamescreen_l_ph3p5 ; phase 3 page 5 +phase3lp5c0 = $CE +phase3lp5c1 = $C8 +phase3lp5c2 = $00 +phase3lp5c3 = $F4 +phase3lp5c4 = $0C +phase3lp5c5 = $F6 +phase3lp5c6 = $16 +phase3lp5c7 = $1A +phase3lp5c8 = $B4 +phase3lp5c9 = $BA + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$9E,$F5,$F6,$F7,$F8,$F9,$FA,$FB,$FC,$01,$01,$01 + dta $01,$01,$01,$01,$01,$5B,$5A,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$29,$F3,$F4,$D9,$FD,$FE,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$5F,$5E,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$B2,$A7,$63,$62,$67,$E0,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01 + dta $01,$01,$01,$BD,$BC,$3B,$BA,$B9,$B8,$B7,$B6,$B4,$B3,$9F,$A0,$A1,$A2,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01 + dta $01,$01,$01,$BD,$CE,$46,$45,$C4,$C3,$42,$C1,$BF,$BE,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01 + dta $01,$01,$D6,$F5,$F4,$6B,$6E,$F4,$F3,$01,$D9,$01,$E9,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$D9,$01,$D2,$01,$01 + dta $01,$01,$01,$7B,$7A,$79,$78,$77,$76,$D8,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01 +gamescreen_l_ph3p6 ; phase 3 page 6 +phase3lp6c0 = $CE +phase3lp6c1 = $C8 +phase3lp6c2 = $00 +phase3lp6c3 = $F4 +phase3lp6c4 = $0C +phase3lp6c5 = $F6 +phase3lp6c6 = $16 +phase3lp6c7 = $1A +phase3lp6c8 = $B4 +phase3lp6c9 = $BA + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$5B,$5A,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$9E,$F5,$F6,$F7,$F8,$F9,$FA,$FB,$FC,$01,$01,$01 + dta $01,$01,$01,$01,$01,$5F,$5E,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A9,$F3,$F4,$D9,$FD,$FE,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$B2,$A7,$63,$62,$67,$E0,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01 + dta $01,$01,$01,$BD,$BC,$3B,$BA,$B9,$B8,$B7,$B6,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01 + dta $01,$01,$01,$BD,$CE,$46,$45,$C4,$C3,$42,$C1,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01 + dta $01,$01,$D6,$F5,$F4,$6B,$6E,$F4,$F3,$01,$D9,$01,$E9,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01 + dta $01,$01,$01,$7B,$7A,$79,$78,$77,$76,$D8,$01,$01,$01,$01,$01,$01,$01,$01,$E8,$D3,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01 +gamescreen_l_ph3p9 ; phase 3 page 9 +phase3lp9c0 = $CE +phase3lp9c1 = $C8 +phase3lp9c2 = $00 +phase3lp9c3 = $F4 +phase3lp9c4 = $0C +phase3lp9c5 = $F6 +phase3lp9c6 = $16 +phase3lp9c7 = $1A +phase3lp9c8 = $B4 +phase3lp9c9 = $BA + dta $01,$01,$01,$D2,$D3,$D1,$C8,$D5,$D6,$D7,$D8,$A5,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$5B,$5A,$CA,$CB,$CC,$CD,$28,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$5F,$5E,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$B2,$A7,$63,$62,$67,$E0,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01 + dta $01,$01,$01,$BD,$BC,$3B,$BA,$B9,$B8,$B7,$B6,$B4,$B3,$9F,$A0,$A1,$A2,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01 + dta $01,$01,$01,$BD,$CE,$46,$45,$C4,$C3,$42,$C1,$BF,$BE,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01 + dta $01,$01,$D6,$F5,$F4,$6B,$6E,$F4,$F3,$01,$D9,$01,$E9,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$D9,$01,$D2,$01,$01 + dta $01,$01,$01,$7B,$7A,$79,$78,$77,$76,$D8,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01 +gamescreen_l_ph3p10 ; phase 3 page 10 +phase3lp10c0 = $CE +phase3lp10c1 = $C8 +phase3lp10c2 = $00 +phase3lp10c3 = $F4 +phase3lp10c4 = $0C +phase3lp10c5 = $F6 +phase3lp10c6 = $16 +phase3lp10c7 = $1A +phase3lp10c8 = $B4 +phase3lp10c9 = $BA + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$D2,$D3,$D1,$C8,$D5,$D6,$D7,$D8,$A5,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$5F,$5E,$CA,$CB,$CC,$CD,$28,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$B2,$A7,$63,$62,$67,$E0,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01 + dta $01,$01,$01,$BD,$BC,$3B,$BA,$B9,$B8,$B7,$B6,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01 + dta $01,$01,$01,$BD,$CE,$46,$45,$C4,$C3,$42,$C1,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01 + dta $01,$01,$D6,$F5,$F4,$6B,$6E,$F4,$F3,$01,$D9,$01,$E9,$01,$01,$01,$01,$01,$01,$01,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01 + dta $01,$01,$01,$7B,$7A,$79,$78,$77,$76,$D8,$01,$01,$01,$01,$01,$01,$01,$01,$E8,$D3,$01,$1D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01 + +; RIP screens +RIPscreen_l_nobranch ; page 1 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$9D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A6,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$9D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A6,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$9D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A6,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$9D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A6,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$6D,$6E,$6F,$70,$71,$01,$01,$01,$9D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A6,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$7A,$76,$72,$73,$74,$01,$01,$01,$9D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A6,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$D6,$5F,$5A,$5B,$5B,$5D,$01,$01,$D9,$9D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A6,$01,$D5,$01,$01,$01,$E9,$D9,$01,$D2,$01,$01 + dta $01,$01,$01,$5F,$5A,$66,$5C,$5E,$01,$D8,$01,$9D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A6,$01,$01,$01,$E8,$E7,$01,$01,$01,$01,$01,$01 +RIPscreen_r_nobranch ; page 2 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$9D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A6,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$9D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A6,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$9D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A6,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$9D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A6,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$9D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A6,$01,$01,$6D,$6E,$6F,$70,$71,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$9D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A6,$01,$01,$7A,$76,$72,$73,$74,$01,$01,$01,$01 + dta $01,$01,$D6,$01,$01,$01,$D2,$E7,$01,$01,$D9,$9D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A6,$01,$D5,$5F,$5A,$5B,$5B,$5D,$01,$D2,$01,$01 + dta $01,$01,$01,$01,$D2,$D7,$01,$01,$01,$D8,$01,$9D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A6,$01,$01,$5F,$5A,$66,$5C,$5E,$01,$01,$01,$01 +RIPscreen_l_branch ; page 3 +ripp3c0 = $CE +ripp3c1 = $C8 +ripp3c2 = $00 +ripp3c3 = $F4 +ripp3c4 = $0C +ripp3c5 = $F6 +ripp3c6 = $16 +ripp3c7 = $1A +ripp3c8 = $B4 +ripp3c9 = $BA + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$9D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A6,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$9D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A6,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$9D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A6,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$E9,$D4,$D5,$D6,$D7,$EA,$EB,$EC,$A5,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A6,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$6D,$6E,$6F,$70,$79,$E6,$E7,$E8,$A7,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A6,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$7A,$76,$72,$73,$74,$01,$01,$01,$9D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A6,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$D6,$5F,$5A,$5B,$5B,$5D,$01,$01,$D9,$9D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A6,$01,$D5,$01,$01,$01,$E9,$D9,$01,$D2,$01,$01 + dta $01,$01,$01,$5F,$5A,$66,$5C,$5E,$01,$D8,$01,$9D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$26,$01,$01,$01,$E8,$E7,$01,$01,$01,$01,$01,$01 +RIPscreen_r_branch ; page 4 +ripp4c0 = $CE +ripp4c1 = $C8 +ripp4c2 = $00 +ripp4c3 = $F4 +ripp4c4 = $0C +ripp4c5 = $F6 +ripp4c6 = $16 +ripp4c7 = $1A +ripp4c8 = $B4 +ripp4c9 = $BA + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$9D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A6,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$9D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A6,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$9D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A6,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$9D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$9E,$E2,$E3,$E4,$DC,$DD,$88,$DE,$E5,$01,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$9D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$29,$DF,$E0,$75,$77,$6F,$70,$71,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$9D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A6,$01,$01,$7A,$76,$72,$73,$74,$01,$01,$01,$01 + dta $01,$01,$D6,$01,$01,$01,$D2,$E7,$01,$01,$D9,$9D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A6,$01,$D5,$5F,$5A,$5B,$5B,$5D,$01,$D2,$01,$01 + dta $01,$01,$01,$01,$D2,$D7,$01,$01,$01,$D8,$01,$9D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A6,$01,$01,$5F,$5A,$66,$5C,$5E,$01,$01,$01,$01 +RIPscreen_l_Rbranch ; page 5 +ripp5c0 = $CE +ripp5c1 = $C8 +ripp5c2 = $00 +ripp5c3 = $F4 +ripp5c4 = $0C +ripp5c5 = $F6 +ripp5c6 = $16 +ripp5c7 = $1A +ripp5c8 = $B4 +ripp5c9 = $BA + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$9D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A6,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$9D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A6,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$9D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A6,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$9D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$9E,$E2,$E3,$E4,$DC,$DD,$88,$DE,$E5,$01,$01,$01 + dta $01,$01,$01,$6D,$6E,$6F,$70,$71,$01,$01,$01,$9D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$29,$DF,$E0,$E1,$DA,$DB,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$7A,$76,$72,$73,$74,$01,$01,$01,$9D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A6,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$D6,$5F,$5A,$5B,$5B,$5D,$01,$01,$D9,$9D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A6,$01,$D5,$01,$01,$01,$E9,$D9,$01,$D2,$01,$01 + dta $01,$01,$01,$5F,$5A,$66,$5C,$5E,$01,$D8,$01,$9D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A6,$01,$01,$01,$E8,$E7,$01,$01,$01,$01,$01,$01 +RIPscreen_r_Lbranch ; page 6 +ripp6c0 = $CE +ripp6c1 = $C8 +ripp6c2 = $00 +ripp6c3 = $F4 +ripp6c4 = $0C +ripp6c5 = $F6 +ripp6c6 = $16 +ripp6c7 = $1A +ripp6c8 = $B4 +ripp6c9 = $BA + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$9D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A6,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$9D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A6,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$9D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A6,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$E9,$87,$88,$89,$8A,$EA,$EB,$EC,$A5,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A6,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$D9,$E6,$E7,$E8,$28,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A6,$01,$01,$6D,$6E,$6F,$70,$71,$01,$01,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$9D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A6,$01,$01,$7A,$76,$72,$73,$74,$01,$01,$01,$01 + dta $01,$01,$D6,$01,$01,$01,$D2,$E7,$01,$01,$D9,$9D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A6,$01,$D5,$5F,$5A,$5B,$5B,$5D,$01,$D2,$01,$01 + dta $01,$01,$01,$01,$D2,$D7,$01,$01,$01,$D8,$01,$9D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A6,$01,$01,$5F,$5A,$66,$5C,$5E,$01,$01,$01,$01 diff --git a/art/animations.asm b/art/animations.asm new file mode 100644 index 0000000..4506aca --- /dev/null +++ b/art/animations.asm @@ -0,0 +1,462 @@ +;--------------------------------------------------- +; Animation sequence: +; v1 - if no branches +; v2 - if the branch under (due to change of sides) the lumberjack and none above - (now v1) +; +; - (last position) +; - phase 2 page 1 +; - phase 2 page 2 +; - phase 3 page 1 +; - phase 3 page 2 +; - phase 2 page 3 +; - phase 2 page 4 +; - phase 1 page 1 (new position) +; +; v3 - if the branch opposite the lumberjack and no branch above - (now v1) +; +; - (last position) +; - phase 2 page 5 +; - phase 2 page 6 +; - phase 3 page 3 +; - phase 3 page 4 +; - phase 2 page 3 +; - phase 2 page 4 +; - phase 1 page 1 (new position) +; +; v4 - if no branch at the level of the lumberjack and branch above (kill) +; v5 - if the branch under (due to change of sides) the lumberjack and branch above (kill) - (now v4) +; +; - (last position) +; - phase 2 page 1 +; - phase 2 page 11 +; - phase 3 page 9 +; - phase 3 page 10 +; - phase 2 page 12 +; - phase 2 page 13 +; - phase 1 page 1 (new position) - killed +; +; v6 - if the branch opposite the lumberjack and branch above (kill) - (now v4) +; +; - (last position) +; - phase 2 page 5 +; - phase 2 page 14 +; - phase 3 page 11 +; - phase 3 page 12 +; - phase 2 page 12 +; - phase 2 page 13 +; - phase 1 page 1 (new position) - killed +; +; v7 - if no branch at the level of the lumberjack and branch above on the other side +; v8 - if the branch under (due to change of sides) the lumberjack and branch above on the other side - (now v7) +; +; - (last position) +; - phase 2 page 1 +; - phase 2 page 7 +; - phase 3 page 5 +; - phase 3 page 6 +; - phase 2 page 8 +; - phase 2 page 9 +; - phase 1 page 2 (new position) +; +; v9 - if the branch opposite the lumberjack and branch above on the other side - (now v7) +; +; - (last position) +; - phase 2 page 5 +; - phase 2 page 10 +; - phase 3 page 7 +; - phase 3 page 8 +; - phase 2 page 8 +; - phase 2 page 9 +; - phase 1 page 2 (new position) +; +;-------------------------------------------------- +.proc AnimationR1 +;-------------------------------------------------- + mva #>font_game_lower_right LowCharsetBase + mwa #last_line_r lastline_addr + ;mwa #gamescreen_r_ph2p1 animation_addr + ;jsr SetPMr2 + ;WaitForSync + jsr branches_go_down + mwa #gamescreen_r_ph2p2 animation_addr + jsr SetPMr2 + WaitForSync + jsr branches_go_down + mwa #gamescreen_r_ph3p1 animation_addr + jsr SetPMr3 + WaitForSync + jsr branches_go_down + mwa #gamescreen_r_ph3p2 animation_addr + jsr RestoreRedBar + WaitForSync + jsr branches_go_down + mwa #gamescreen_r_ph2p3 animation_addr + jsr SetPMr2 + WaitForSync + jsr branches_go_down + mwa #gamescreen_r_ph2p4 animation_addr + WaitForSync + mwa #gamescreen_r_ph1p1 animation_addr + jsr SetPMr1 + ;WaitForSync + mva #1 LumberjackDir ; right side + rts +.endp +;AnimationR2 = AnimationR1 +;-------------------------------------------------- +.proc AnimationL1 +;-------------------------------------------------- + mva #>font_game_lower_left LowCharsetBase + mwa #last_line_l lastline_addr + ;mwa #gamescreen_l_ph2p1 animation_addr + ;jsr SetPMl2 + ;WaitForSync + jsr branches_go_down + mwa #gamescreen_l_ph2p2 animation_addr + jsr SetPMl2 + WaitForSync + jsr branches_go_down + mwa #gamescreen_l_ph3p1 animation_addr + jsr SetPMl3 + WaitForSync + jsr branches_go_down + mwa #gamescreen_l_ph3p2 animation_addr + jsr RestoreRedBar + WaitForSync + jsr branches_go_down + mwa #gamescreen_l_ph2p3 animation_addr + jsr SetPMl2 + WaitForSync + jsr branches_go_down + mwa #gamescreen_l_ph2p4 animation_addr + WaitForSync + mwa #gamescreen_l_ph1p1 animation_addr + jsr SetPMl1 + ;WaitForSync + mva #2 LumberjackDir ; left side + rts +.endp +/* AnimationL2 = AnimationL1 +;-------------------------------------------------- +.proc AnimationR3 +;-------------------------------------------------- + mva #>font_game_lower_right LowCharsetBase + mwa #last_line_r lastline_addr + mwa #gamescreen_r_ph2p5 animation_addr + jsr SetPMr2 + WaitForSync + jsr branches_go_down + mwa #gamescreen_r_ph2p6 animation_addr + WaitForSync + jsr branches_go_down + mwa #gamescreen_r_ph3p3 animation_addr + jsr SetPMr3 + WaitForSync + jsr branches_go_down + mwa #gamescreen_r_ph3p4 animation_addr + jsr RestoreRedBar + WaitForSync + jsr branches_go_down + mwa #gamescreen_r_ph2p3 animation_addr + jsr SetPMr2 + WaitForSync + jsr branches_go_down + mwa #gamescreen_r_ph2p4 animation_addr + WaitForSync + mwa #gamescreen_r_ph1p1 animation_addr + jsr SetPMr1 + WaitForSync + mva #1 LumberjackDir ; right side + rts +.endp +;-------------------------------------------------- +.proc AnimationL3 +;-------------------------------------------------- + mva #>font_game_lower_left LowCharsetBase + mwa #last_line_l lastline_addr + mwa #gamescreen_l_ph2p5 animation_addr + jsr SetPMl2 + WaitForSync + jsr branches_go_down + mwa #gamescreen_l_ph2p6 animation_addr + WaitForSync + jsr branches_go_down + mwa #gamescreen_l_ph3p3 animation_addr + jsr SetPMl3 + WaitForSync + jsr branches_go_down + mwa #gamescreen_l_ph3p4 animation_addr + jsr RestoreRedBar + WaitForSync + jsr branches_go_down + mwa #gamescreen_l_ph2p3 animation_addr + jsr SetPMl2 + WaitForSync + jsr branches_go_down + mwa #gamescreen_l_ph2p4 animation_addr + WaitForSync + mwa #gamescreen_l_ph1p1 animation_addr + jsr SetPMl1 + WaitForSync + mva #2 LumberjackDir ; left side + rts +.endp */ +;-------------------------------------------------- +.proc AnimationR4 +;-------------------------------------------------- + mva #>font_game_lower_right LowCharsetBase + mwa #last_line_r lastline_addr + ;mwa #gamescreen_r_ph2p1 animation_addr + ;jsr SetPMr2 + ;WaitForSync + jsr branches_go_down + mwa #gamescreen_r_ph2p11 animation_addr + jsr SetPMr2 + WaitForSync + jsr branches_go_down + mwa #gamescreen_r_ph3p9 animation_addr + jsr SetPMr3 + WaitForSync + jsr branches_go_down + mwa #gamescreen_r_ph3p10 animation_addr + jsr RestoreRedBar + WaitForSync + jsr branches_go_down + mwa #gamescreen_r_ph2p12 animation_addr + jsr SetPMr2 + WaitForSync + jsr branches_go_down + mwa #gamescreen_r_ph2p13 animation_addr + ;WaitForSync + mva #1 LumberjackDir ; right side (kill) + rts +.endp +;AnimationR5 = AnimationR4 +;-------------------------------------------------- +.proc AnimationL4 +;-------------------------------------------------- + mva #>font_game_lower_left LowCharsetBase + mwa #last_line_l lastline_addr + ;mwa #gamescreen_l_ph2p1 animation_addr + ;jsr SetPMl2 + ;WaitForSync + jsr branches_go_down + mwa #gamescreen_l_ph2p11 animation_addr + jsr SetPMl2 + WaitForSync + jsr branches_go_down + mwa #gamescreen_l_ph3p9 animation_addr + jsr SetPMl3 + WaitForSync + jsr branches_go_down + mwa #gamescreen_l_ph3p10 animation_addr + jsr RestoreRedBar + WaitForSync + jsr branches_go_down + mwa #gamescreen_l_ph2p12 animation_addr + jsr SetPMl2 + WaitForSync + jsr branches_go_down + mwa #gamescreen_l_ph2p13 animation_addr + ;WaitForSync + mva #2 LumberjackDir ; left side (kill) + rts +.endp +/* AnimationL5 = AnimationL4 +;-------------------------------------------------- +.proc AnimationR6 +;-------------------------------------------------- + mva #>font_game_lower_right LowCharsetBase + mwa #last_line_r lastline_addr + mwa #gamescreen_r_ph2p5 animation_addr + jsr SetPMr2 + WaitForSync + jsr branches_go_down + mwa #gamescreen_r_ph2p14 animation_addr + WaitForSync + jsr branches_go_down + mwa #gamescreen_r_ph3p11 animation_addr + jsr SetPMr3 + WaitForSync + jsr branches_go_down + mwa #gamescreen_r_ph3p12 animation_addr + jsr RestoreRedBar + WaitForSync + jsr branches_go_down + mwa #gamescreen_r_ph2p12 animation_addr + jsr SetPMr2 + WaitForSync + jsr branches_go_down + mwa #gamescreen_r_ph2p13 animation_addr + WaitForSync + mwa #gamescreen_r_ph1p1 animation_addr + jsr SetPMr1 + WaitForSync + mva #1 LumberjackDir ; right side (kill) + rts +.endp +;-------------------------------------------------- +.proc AnimationL6 +;-------------------------------------------------- + mva #>font_game_lower_left LowCharsetBase + mwa #last_line_l lastline_addr + mwa #gamescreen_l_ph2p5 animation_addr + jsr SetPMl2 + WaitForSync + jsr branches_go_down + mwa #gamescreen_l_ph2p14 animation_addr + WaitForSync + jsr branches_go_down + mwa #gamescreen_l_ph3p11 animation_addr + jsr SetPMl3 + WaitForSync + jsr branches_go_down + mwa #gamescreen_l_ph3p12 animation_addr + jsr RestoreRedBar + WaitForSync + jsr branches_go_down + mwa #gamescreen_l_ph2p12 animation_addr + jsr SetPMl2 + WaitForSync + jsr branches_go_down + mwa #gamescreen_l_ph2p13 animation_addr + WaitForSync + mwa #gamescreen_l_ph1p1 animation_addr + jsr SetPMl1 + WaitForSync + mva #2 LumberjackDir ; left side (kill) + rts +.endp */ +;-------------------------------------------------- +.proc AnimationR7 +;-------------------------------------------------- + mva #>font_game_lower_right LowCharsetBase + mwa #last_line_r lastline_addr + ;mwa #gamescreen_r_ph2p1 animation_addr + ;jsr SetPMr2 + ;WaitForSync + jsr branches_go_down + mwa #gamescreen_r_ph2p7 animation_addr + jsr SetPMr2 + WaitForSync + jsr branches_go_down + mwa #gamescreen_r_ph3p5 animation_addr + jsr SetPMr3 + WaitForSync + jsr branches_go_down + mwa #gamescreen_r_ph3p6 animation_addr + jsr RestoreRedBar + WaitForSync + jsr branches_go_down + mwa #gamescreen_r_ph2p8 animation_addr + jsr SetPMr2 + WaitForSync + jsr branches_go_down + mwa #gamescreen_r_ph2p9 animation_addr + WaitForSync + mwa #gamescreen_r_ph1p2 animation_addr + jsr SetPMr1 + ;WaitForSync + mva #1 LumberjackDir ; right side + rts +.endp +;AnimationR8 = AnimationR7 +;-------------------------------------------------- +.proc AnimationL7 +;-------------------------------------------------- + mva #>font_game_lower_left LowCharsetBase + mwa #last_line_l lastline_addr + ;mwa #gamescreen_l_ph2p1 animation_addr + ;jsr SetPMl2 + ;WaitForSync + jsr branches_go_down + mwa #gamescreen_l_ph2p7 animation_addr + jsr SetPMl2 + WaitForSync + jsr branches_go_down + mwa #gamescreen_l_ph3p5 animation_addr + jsr SetPMl3 + WaitForSync + jsr branches_go_down + mwa #gamescreen_l_ph3p6 animation_addr + jsr RestoreRedBar + WaitForSync + jsr branches_go_down + mwa #gamescreen_l_ph2p8 animation_addr + jsr SetPMl2 + WaitForSync + jsr branches_go_down + mwa #gamescreen_l_ph2p9 animation_addr + WaitForSync + mwa #gamescreen_l_ph1p2 animation_addr + jsr SetPMl1 + ;WaitForSync + mva #2 LumberjackDir ; left side + rts +.endp +/* AnimationL8 = AnimationL7 +;-------------------------------------------------- +.proc AnimationR9 +;-------------------------------------------------- + mva #>font_game_lower_right LowCharsetBase + mwa #last_line_r lastline_addr + mwa #gamescreen_r_ph2p5 animation_addr + jsr SetPMr2 + WaitForSync + jsr branches_go_down + mwa #gamescreen_r_ph2p10 animation_addr + WaitForSync + jsr branches_go_down + mwa #gamescreen_r_ph3p7 animation_addr + jsr SetPMr3 + WaitForSync + jsr branches_go_down + mwa #gamescreen_r_ph3p8 animation_addr + jsr RestoreRedBar + WaitForSync + jsr branches_go_down + mwa #gamescreen_r_ph2p8 animation_addr + jsr SetPMr2 + WaitForSync + jsr branches_go_down + mwa #gamescreen_r_ph2p9 animation_addr + WaitForSync + mwa #gamescreen_r_ph1p2 animation_addr + jsr SetPMr1 + WaitForSync + mva #1 LumberjackDir ; right side + rts +.endp +;-------------------------------------------------- +.proc AnimationL9 +;-------------------------------------------------- + mva #>font_game_lower_left LowCharsetBase + mwa #last_line_l lastline_addr + mwa #gamescreen_l_ph2p5 animation_addr + jsr SetPMl2 + WaitForSync + jsr branches_go_down + mwa #gamescreen_l_ph2p10 animation_addr + WaitForSync + jsr branches_go_down + mwa #gamescreen_l_ph3p7 animation_addr + jsr SetPMl3 + WaitForSync + jsr branches_go_down + mwa #gamescreen_l_ph3p8 animation_addr + jsr RestoreRedBar + WaitForSync + jsr branches_go_down + mwa #gamescreen_l_ph2p8 animation_addr + jsr SetPMl2 + WaitForSync + jsr branches_go_down + mwa #gamescreen_l_ph2p9 animation_addr + WaitForSync + mwa #gamescreen_l_ph1p2 animation_addr + jsr SetPMl1 + WaitForSync + mva #2 LumberjackDir ; left side + rts +.endp */ +;-------------------------------------------------- diff --git a/art/clouds_gfx.g2f b/art/clouds_gfx.g2f new file mode 100644 index 0000000..899e932 Binary files /dev/null and b/art/clouds_gfx.g2f differ diff --git a/art/credits.asm b/art/credits.asm new file mode 100644 index 0000000..a6c7aef --- /dev/null +++ b/art/credits.asm @@ -0,0 +1,12 @@ + dta $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$24,$25,$24,$3D,$26,$27,$26,$29,$08,$09,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + dta $00,$00,$00,$46,$47,$24,$3D,$38,$39,$26,$29,$26,$35,$31,$03,$26,$3F,$26,$29,$24,$25,$48,$49,$54,$55,$02,$00,$26,$3F,$26,$29,$24,$25,$26,$35,$24,$3D,$31,$00,$00 + dta $00,$00,$00,$00,$00,$20,$21,$26,$27,$26,$27,$30,$46,$47,$30,$24,$3D,$3A,$3B,$20,$21,$36,$37,$58,$00,$24,$25,$24,$3D,$26,$27,$26,$29,$08,$09,$00,$00,$00,$00,$00 + dta $26,$3F,$20,$21,$4C,$4D,$26,$29,$36,$57,$58,$03,$26,$3F,$30,$26,$43,$4E,$4F,$02,$00,$26,$35,$20,$21,$36,$37,$30,$3A,$3B,$24,$3D,$4C,$4D,$44,$45,$26,$35,$30,$31 + dta $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$24,$2D,$26,$43,$20,$21,$26,$3F,$26,$2F,$30,$24,$25,$44,$45,$08,$09,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + dta $00,$00,$00,$00,$00,$00,$20,$21,$26,$27,$20,$21,$38,$39,$31,$00,$4C,$4D,$20,$21,$24,$25,$26,$2F,$24,$3D,$4C,$4D,$44,$45,$26,$35,$30,$31,$00,$00,$00,$00,$00,$00 + dta $00,$00,$00,$00,$00,$00,$38,$39,$48,$49,$44,$45,$30,$24,$25,$0A,$0B,$44,$45,$24,$3D,$48,$49,$3A,$3B,$26,$27,$31,$22,$2B,$4E,$4F,$08,$09,$00,$00,$00,$00,$00,$00 + dta $00,$00,$00,$20,$21,$36,$37,$26,$29,$26,$35,$44,$45,$20,$21,$3A,$3B,$26,$27,$26,$29,$26,$43,$31,$00,$38,$39,$20,$21,$26,$43,$46,$47,$30,$3A,$3B,$31,$00,$00,$00 + dta $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$46,$47,$26,$2F,$20,$21,$3A,$3B,$26,$35,$44,$45,$31,$00,$46,$47,$24,$3D,$08,$09,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + dta $00,$46,$47,$24,$3D,$38,$39,$26,$29,$26,$35,$31,$03,$46,$47,$26,$27,$24,$25,$02,$00,$24,$25,$30,$26,$29,$54,$55,$36,$37,$26,$29,$4C,$4D,$30,$24,$25,$52,$53,$31 + dta $00,$00,$00,$00,$00,$00,$00,$00,$00,$36,$37,$30,$24,$25,$26,$29,$3A,$3B,$24,$25,$26,$29,$26,$27,$31,$00,$22,$13,$50,$51,$31,$00,$00,$00,$00,$00,$00,$00,$00,$00 + dta $00,$00,$26,$27,$30,$24,$2D,$30,$46,$47,$20,$21,$36,$37,$58,$00,$38,$39,$26,$29,$36,$37,$24,$3D,$26,$27,$50,$51,$31,$00,$0E,$0F,$1E,$1F,$1C,$13,$14,$15,$31,$00 diff --git a/art/difficulty_texts.asm b/art/difficulty_texts.asm new file mode 100644 index 0000000..2236a65 --- /dev/null +++ b/art/difficulty_texts.asm @@ -0,0 +1,2 @@ + dta $00,$00,$00,$00,$00,$00,$00,$00,$38,$39,$24,$3D,$26,$27,$26,$29,$08,$09,$00,$00,$00,$24,$2D,$20,$21,$38,$39,$26,$29,$31,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + dta $00,$00,$00,$00,$00,$00,$00,$00,$38,$39,$24,$3D,$26,$27,$26,$29,$08,$09,$46,$47,$26,$43,$20,$21,$30,$3A,$3B,$30,$3A,$3B,$24,$2D,$31,$00,$00,$00,$00,$00,$00,$00 diff --git a/art/digital_melody_logo.g2f b/art/digital_melody_logo.g2f new file mode 100644 index 0000000..ecbf308 Binary files /dev/null and b/art/digital_melody_logo.g2f differ diff --git a/art/ex.py b/art/ex.py new file mode 100644 index 0000000..1dd746c --- /dev/null +++ b/art/ex.py @@ -0,0 +1,78 @@ +import json +import sys + +def print_lines( + dta, line_from: int, line_to: int, skip_left: int = 0, skip_right: int = 0, f=sys.stdout,): + for d in dta[line_from:line_to]: + print( + f' dta ' + ','.join([f'${d[i:i + 2]}' for i in range(0 + skip_left*2, len(d) - skip_right*2, 2)]), + file=f) + +def write_asm(atrview, out, page, line_from, line_to, skip_left, skip_right): + with open(atrview, 'r', encoding='utf-8-sig') as f: + s = json.load(f) + for p in s['Pages']: + if (isinstance(page, int) and p['Nr'] == page) or (isinstance(page, str) and p['Name'] == page): + dta = p['View'] + width = p.get('Width', 40) * 2 # 2 hex chars per byte or 40 + dtas = [dta[i * width:(i + 1) * width] for i in range(len(dta) // width)] + break + + with open(out, 'wt') as f: + print(f'Writing file: {out}') + print_lines(dtas, line_from, line_to, skip_left,skip_right, f) + + +write_asm( + atrview='title_fonts.atrview', + out='over_screen.asm', + page='GameOver', + line_from=0, + line_to=13, + skip_left=0, + skip_right=8) + +write_asm( + atrview='title_fonts.atrview', + out='credits.asm', + page='Credits', + line_from=0, + line_to=12, + skip_left=0, + skip_right=0) + +write_asm( + atrview="title.atrview", + out='title_logo.asm', + page=1, + line_from=2, + line_to=2+8, + skip_left=0, + skip_right=8) + +write_asm( + atrview="title.atrview", + out='title_timber.asm', + page=1, + line_from=12, + line_to=12+13, + skip_left=0, + skip_right=8) + +write_asm( + atrview="title_fonts.atrview", + out='difficulty_texts.asm', + page='Options', + line_from=0, + line_to=0+2, + skip_left=0, + skip_right=0) + +write_asm( + atrview="title_fonts.atrview", + out='go.asm', + page='GO', + line_from=0, + line_to=0+4, + skip_left=0, + skip_right=8) diff --git a/art/game_over.fnt b/art/game_over.fnt new file mode 100644 index 0000000..6001a79 Binary files /dev/null and b/art/game_over.fnt differ diff --git a/art/go.asm b/art/go.asm new file mode 100644 index 0000000..7944a79 --- /dev/null +++ b/art/go.asm @@ -0,0 +1,4 @@ + dta $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$12,$13,$31,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + dta $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$10,$11,$31,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + dta $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$0E,$0F,$58,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + dta $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$24,$2D,$24,$3D,$5C,$31,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 diff --git a/art/help.asm b/art/help.asm new file mode 100644 index 0000000..5987f99 --- /dev/null +++ b/art/help.asm @@ -0,0 +1,52 @@ + dta $00,$00,$00,$00,$24,$2D,$20,$21 + dta $38,$39,$26,$29,$31,$24,$25,$24 + dta $3D,$3A,$3B,$46,$47,$26,$43,$24 + dta $3D,$36,$37,$44,$45,$31,$00,$00 + dta $00,$00,$00,$00,$00,$00,$00,$00 + dta $00,$00,$00,$00,$00,$00,$00,$00 + dta $00,$00,$00,$00,$00,$00,$00,$00 + dta $00,$00,$00,$00,$00,$00,$00,$00 + dta $00,$00,$00,$00,$00,$00,$00,$00 + dta $00,$00,$A0,$A1,$A4,$A5,$C6,$C7 + dta $B0,$A4,$BD,$BA,$BB,$88,$89,$00 + dta $00,$00,$00,$00,$00,$00,$00,$00 + dta $00,$00,$00,$00,$00,$44,$45,$46 + dta $47,$20,$21,$26,$43,$46,$47,$1D + dta $01,$44,$45,$26,$3F,$20,$21,$24 + dta $25,$26,$29,$1D,$01,$00,$00,$00 + dta $00,$00,$00,$0E,$0F,$44,$45,$46 + dta $47,$31,$32,$33,$24,$3D,$50,$51 + dta $31,$22,$13,$48,$49,$46,$47,$46 + dta $47,$24,$3D,$3A,$3B,$31,$00,$00 + dta $00,$00,$00,$00,$00,$00,$00,$00 + dta $00,$00,$00,$B6,$B7,$A6,$A9,$A6 + dta $AB,$C6,$C7,$88,$89,$00,$00,$00 + dta $00,$00,$00,$00,$00,$00,$00,$00 + dta $00,$00,$00,$00,$00,$00,$32,$33 + dta $24,$3D,$50,$51,$1D,$01,$24,$25 + dta $48,$49,$26,$43,$44,$45,$24,$3D + dta $22,$43,$1D,$01,$00,$00,$00,$00 + dta $00,$00,$00,$0E,$0F,$44,$45,$46 + dta $47,$31,$32,$33,$24,$3D,$50,$51 + dta $31,$22,$13,$48,$49,$46,$47,$46 + dta $47,$24,$3D,$3A,$3B,$1D,$01,$00 + dta $00,$00,$00,$00,$00,$00,$46,$47 + dta $20,$21,$22,$13,$1D,$01,$44,$45 + dta $26,$29,$36,$37,$26,$29,$24,$25 + dta $46,$47,$31,$00,$00,$00,$00,$00 + dta $00,$00,$00,$00,$00,$00,$00,$00 + dta $00,$00,$00,$A6,$C3,$B0,$A4,$AD + dta $A6,$AF,$C6,$C7,$88,$89,$00,$00 + dta $00,$00,$00,$00,$00,$00,$00,$00 + dta $00,$00,$00,$00,$00,$00,$32,$33 + dta $24,$3D,$50,$51,$1D,$01,$24,$25 + dta $48,$49,$26,$43,$44,$45,$24,$3D + dta $22,$43,$1D,$01,$00,$00,$00,$00 + dta $00,$00,$00,$10,$11,$3A,$3B,$26 + dta $27,$31,$32,$33,$24,$3D,$50,$51 + dta $31,$22,$13,$48,$49,$46,$47,$46 + dta $47,$24,$3D,$3A,$3B,$1D,$01,$00 + dta $00,$00,$00,$00,$22,$43,$26,$29 + dta $46,$47,$48,$49,$22,$43,$3A,$3B + dta $1D,$01,$24,$3D,$26,$3F,$46,$47 + dta $30,$24,$3D,$3A,$3B,$31,$00,$00 \ No newline at end of file diff --git a/art/lumberjack_export.py b/art/lumberjack_export.py new file mode 100644 index 0000000..44e00ad --- /dev/null +++ b/art/lumberjack_export.py @@ -0,0 +1,325 @@ +import json + +color_labels_used = set() + + +def load_atrview(filename: str, page: int = 1) -> list[str]: + with open(filename, 'rb') as f: + full_json = json.loads(f.read().decode('utf-8-sig')) + dta = full_json['Pages'][page - 1]['View'] + # very unpythonic side effect - printing colors consts + const_name = filename.replace('.atrview', '') + cols = full_json['Colors'] + for i, val in enumerate([cols[i:i + 2] for i in range(0, len(cols), 2)]): + color_label = const_name + 'p' + str(page) + 'c' + str(i) + if color_label not in color_labels_used: + print(color_label + ' = $' + val) + color_labels_used.add(color_label) + return [dta[i * 80:(i + 1) * 80][:64] for i in range(len(dta) // 80)] + + +def print_lines(dta, line_from: int, line_to: int): + for d in dta[line_from:line_to]: + print(f' dta ' + ','.join([f'${d[i:i + 2]}' for i in range(0, len(d), 2)])) + + +print('gamescreen_upper') +dta = load_atrview('sky.atrview') +print("power_bar") +print_lines(dta, 0, 2) +print("branch0") +print_lines(dta, 2, 7) +print("branch1") +print_lines(dta, 7, 12) +print("branch2") +print_lines(dta, 12, 17) +# print("branch3") +# print_lines(dta, 17,22) + +print() +print('last_line_r') +dta = load_atrview('phase1r.atrview') +d = dta[-1] +print(f' dta ' + ','.join([f'${d[i:i + 2]}' for i in range(0, len(d), 2)])) + +print('last_line_l') +dta = load_atrview('phase1l.atrview') +d = dta[-1] +print(f' dta ' + ','.join([f'${d[i:i + 2]}' for i in range(0, len(d), 2)])) + +print('last_line_RIP_l') +dta = load_atrview('rip.atrview', page=1) +d = dta[-1] +print(f' dta ' + ','.join([f'${d[i:i + 2]}' for i in range(0, len(d), 2)])) + +print('last_line_RIP_r') +dta = load_atrview('rip.atrview', page=2) +d = dta[-1] +print(f' dta ' + ','.join([f'${d[i:i + 2]}' for i in range(0, len(d), 2)])) + +print(""" + .align $100 +; Right animation +gamescreen_r_ph1p1 ; phase 1 page 1""") +dta = load_atrview('phase1r.atrview') +for l, d in enumerate(dta[-9:-1], 1): + print(f' dta ' + ','.join([f'${d[i:i + 2]}' for i in range(0, len(d), 2)])) + +print('gamescreen_r_ph1p2 ; phase 1 page 2') +dta = load_atrview('phase1r.atrview', page=2) +print_lines(dta, -9, -1) + +print("gamescreen_r_ph2p1 ; phase 2 page 1") +dta = load_atrview('phase2r.atrview') +for l, d in enumerate(dta[-9:-1], 1): + print(f' dta ' + ','.join([f'${d[i:i + 2]}' for i in range(0, len(d), 2)])) + +print('gamescreen_r_ph2p2 ; phase 2 page 2') +dta = load_atrview('phase2r.atrview', page=2) +print_lines(dta, -9, -1) + +print('gamescreen_r_ph2p3 ; phase 2 page 3') +dta = load_atrview('phase2r.atrview', page=3) +print_lines(dta, -9, -1) + +print('gamescreen_r_ph2p4 ; phase 2 page 4') +dta = load_atrview('phase2r.atrview', page=4) +print_lines(dta, -9, -1) + +#print('gamescreen_r_ph2p5 ; phase 2 page 5') +#dta = load_atrview('phase2r.atrview', page=5) +#print_lines(dta, -9, -1) + +#print('gamescreen_r_ph2p6 ; phase 2 page 6') +#dta = load_atrview('phase2r.atrview', page=6) +#print_lines(dta, -9, -1) + +print('gamescreen_r_ph2p7 ; phase 2 page 7') +dta = load_atrview('phase2r.atrview', page=7) +print_lines(dta, -9, -1) + +print('gamescreen_r_ph2p8 ; phase 2 page 8') +dta = load_atrview('phase2r.atrview', page=8) +print_lines(dta, -9, -1) + +print('gamescreen_r_ph2p9 ; phase 2 page 9') +dta = load_atrview('phase2r.atrview', page=9) +print_lines(dta, -9, -1) + +#print('gamescreen_r_ph2p10 ; phase 2 page 10') +#dta = load_atrview('phase2r.atrview', page=10) +#print_lines(dta, -9, -1) + +print('gamescreen_r_ph2p11 ; phase 2 page 11') +dta = load_atrview('phase2r.atrview', page=11) +print_lines(dta, -9, -1) + +print('gamescreen_r_ph2p12 ; phase 2 page 12') +dta = load_atrview('phase2r.atrview', page=12) +print_lines(dta, -9, -1) + +print('gamescreen_r_ph2p13 ; phase 2 page 13') +dta = load_atrview('phase2r.atrview', page=13) +print_lines(dta, -9, -1) + +#print('gamescreen_r_ph2p14 ; phase 2 page 14') +#dta = load_atrview('phase2r.atrview', page=14) +#print_lines(dta, -9, -1) + +print('gamescreen_r_ph3p1 ; phase 3 page 1') +dta = load_atrview('phase3r.atrview', page=1) +print_lines(dta, -9, -1) + +print('gamescreen_r_ph3p2 ; phase 3 page 2') +dta = load_atrview('phase3r.atrview', page=2) +print_lines(dta, -9, -1) + +#print('gamescreen_r_ph3p3 ; phase 3 page 3') +#dta = load_atrview('phase3r.atrview', page=3) +#print_lines(dta, -9, -1) + +#print('gamescreen_r_ph3p4 ; phase 3 page 4') +#dta = load_atrview('phase3r.atrview', page=4) +#print_lines(dta, -9, -1) + +print('gamescreen_r_ph3p5 ; phase 3 page 5') +dta = load_atrview('phase3r.atrview', page=5) +print_lines(dta, -9, -1) + +print('gamescreen_r_ph3p6 ; phase 3 page 6') +dta = load_atrview('phase3r.atrview', page=6) +print_lines(dta, -9, -1) + +#print('gamescreen_r_ph3p7 ; phase 3 page 7') +#dta = load_atrview('phase3r.atrview', page=7) +#print_lines(dta, -9, -1) + +#print('gamescreen_r_ph3p8 ; phase 3 page 8') +#dta = load_atrview('phase3r.atrview', page=8) +#print_lines(dta, -9, -1) + +print('gamescreen_r_ph3p9 ; phase 3 page 9') +dta = load_atrview('phase3r.atrview', page=9) +print_lines(dta, -9, -1) + +print('gamescreen_r_ph3p10 ; phase 3 page 10') +dta = load_atrview('phase3r.atrview', page=10) +print_lines(dta, -9, -1) + +#print('gamescreen_r_ph3p11 ; phase 3 page 11') +#dta = load_atrview('phase3r.atrview', page=11) +#print_lines(dta, -9, -1) + +#print('gamescreen_r_ph3p12 ; phase 3 page 12') +#dta = load_atrview('phase3r.atrview', page=12) +#print_lines(dta, -9, -1) + +print(""" +; left animation +gamescreen_l_ph1p1 ; phase 1 page 1""") +# pj = load_atrview('phase1l.atrview') +# print_lines(dta, -9, -1) +with open('phase1l.atrview', 'rb') as f: + pj = json.loads(f.read().decode('utf-8-sig')) +dta = pj['Pages'][0]['View'] +dta = [dta[i * 80:(i + 1) * 80][:64] for i in range(len(dta) // 80)] +for l, d in enumerate(dta[-9:-1], 1): + print(f' dta ' + ','.join([f'${d[i:i + 2]}' for i in range(0, len(d), 2)])) + +print('gamescreen_l_ph1p2 ; phase 1 page 2') +dta = load_atrview('phase1l.atrview', page=2) +print_lines(dta, -9, -1) + +print('gamescreen_l_ph2p1 ; phase 2 page 1') +dta = load_atrview('phase2l.atrview', page=1) +print_lines(dta, -9, -1) + +print('gamescreen_l_ph2p2 ; phase 2 page 2') +dta = load_atrview('phase2l.atrview', page=2) +print_lines(dta, -9, -1) + +print('gamescreen_l_ph2p3 ; phase 2 page 3') +dta = load_atrview('phase2l.atrview', page=3) +print_lines(dta, -9, -1) + +print('gamescreen_l_ph2p4 ; phase 2 page 4') +dta = load_atrview('phase2l.atrview', page=4) +print_lines(dta, -9, -1) + +#print('gamescreen_l_ph2p5 ; phase 2 page 5') +#dta = load_atrview('phase2l.atrview', page=5) +#print_lines(dta, -9, -1) + +#print('gamescreen_l_ph2p6 ; phase 2 page 6') +#dta = load_atrview('phase2l.atrview', page=6) +#print_lines(dta, -9, -1) + +print('gamescreen_l_ph2p7 ; phase 2 page 7') +dta = load_atrview('phase2l.atrview', page=7) +print_lines(dta, -9, -1) + +print('gamescreen_l_ph2p8 ; phase 2 page 8') +dta = load_atrview('phase2l.atrview', page=8) +print_lines(dta, -9, -1) + +print('gamescreen_l_ph2p9 ; phase 2 page 9') +dta = load_atrview('phase2l.atrview', page=9) +print_lines(dta, -9, -1) + +#print('gamescreen_l_ph2p10 ; phase 2 page 10') +#dta = load_atrview('phase2l.atrview', page=10) +#print_lines(dta, -9, -1) + +print('gamescreen_l_ph2p11 ; phase 2 page 11') +dta = load_atrview('phase2l.atrview', page=11) +print_lines(dta, -9, -1) + +print('gamescreen_l_ph2p12 ; phase 2 page 12') +dta = load_atrview('phase2l.atrview', page=12) +print_lines(dta, -9, -1) + +print('gamescreen_l_ph2p13 ; phase 2 page 13') +dta = load_atrview('phase2l.atrview', page=13) +print_lines(dta, -9, -1) + +#print('gamescreen_l_ph2p14 ; phase 2 page 14') +#dta = load_atrview('phase2l.atrview', page=14) +#print_lines(dta, -9, -1) + +print('gamescreen_l_ph3p1 ; phase 3 page 1') +dta = load_atrview('phase3l.atrview', page=1) +print_lines(dta, -9, -1) + +print('gamescreen_l_ph3p2 ; phase 3 page 2') +dta = load_atrview('phase3l.atrview', page=2) +print_lines(dta, -9, -1) + +#print('gamescreen_l_ph3p3 ; phase 3 page 3') +#dta = load_atrview('phase3l.atrview', page=3) +#print_lines(dta, -9, -1) + +#print('gamescreen_l_ph3p4 ; phase 3 page 4') +#dta = load_atrview('phase3l.atrview', page=4) +#print_lines(dta, -9, -1) + +print('gamescreen_l_ph3p5 ; phase 3 page 5') +dta = load_atrview('phase3l.atrview', page=5) +print_lines(dta, -9, -1) + +print('gamescreen_l_ph3p6 ; phase 3 page 6') +dta = load_atrview('phase3l.atrview', page=6) +print_lines(dta, -9, -1) + +#print('gamescreen_l_ph3p7 ; phase 3 page 7') +#dta = load_atrview('phase3l.atrview', page=7) +#print_lines(dta, -9, -1) + +#print('gamescreen_l_ph3p8 ; phase 3 page 8') +#dta = load_atrview('phase3l.atrview', page=8) +#print_lines(dta, -9, -1) + +print('gamescreen_l_ph3p9 ; phase 3 page 9') +dta = load_atrview('phase3l.atrview', page=9) +print_lines(dta, -9, -1) + +print('gamescreen_l_ph3p10 ; phase 3 page 10') +dta = load_atrview('phase3l.atrview', page=10) +print_lines(dta, -9, -1) + +#print('gamescreen_l_ph3p11 ; phase 3 page 11') +#dta = load_atrview('phase3l.atrview', page=11) +#print_lines(dta, -9, -1) + +#print('gamescreen_l_ph3p12 ; phase 3 page 12') +#dta = load_atrview('phase3l.atrview', page=12) +#print_lines(dta, -9, -1) + +print(""" +; RIP screens +RIPscreen_l_nobranch ; page 1""") +with open('rip.atrview', 'rb') as f: + pj = json.loads(f.read().decode('utf-8-sig')) +dta = pj['Pages'][0]['View'] +dta = [dta[i * 80:(i + 1) * 80][:64] for i in range(len(dta) // 80)] +for l, d in enumerate(dta[-9:-1], 1): + print(f' dta ' + ','.join([f'${d[i:i + 2]}' for i in range(0, len(d), 2)])) + +print('RIPscreen_r_nobranch ; page 2') +dta = load_atrview('rip.atrview', page=2) +print_lines(dta, -9, -1) + +print('RIPscreen_l_branch ; page 3') +dta = load_atrview('rip.atrview', page=3) +print_lines(dta, -9, -1) + +print('RIPscreen_r_branch ; page 4') +dta = load_atrview('rip.atrview', page=4) +print_lines(dta, -9, -1) + +print('RIPscreen_l_Rbranch ; page 5') +dta = load_atrview('rip.atrview', page=5) +print_lines(dta, -9, -1) + +print('RIPscreen_r_Lbranch ; page 6') +dta = load_atrview('rip.atrview', page=6) +print_lines(dta, -9, -1) diff --git a/art/make_anim_data.bat b/art/make_anim_data.bat new file mode 100644 index 0000000..9a19bc1 --- /dev/null +++ b/art/make_anim_data.bat @@ -0,0 +1,2 @@ +python ex.py +python lumberjack_export.py >anim_exported.asm diff --git a/art/over_screen.asm b/art/over_screen.asm new file mode 100644 index 0000000..c479ba9 --- /dev/null +++ b/art/over_screen.asm @@ -0,0 +1,13 @@ + dta $00,$00,$00,$00,$00,$81,$82,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$81,$82,$00,$00,$00,$00,$00 + dta $00,$00,$00,$00,$00,$81,$82,$00,$0B,$0C,$0C,$0D,$0B,$0C,$0C,$2D,$1A,$0D,$00,$0D,$1A,$0C,$0C,$0D,$00,$81,$82,$00,$00,$00,$00,$00 + dta $00,$00,$00,$00,$00,$81,$82,$00,$05,$06,$0E,$0F,$24,$06,$11,$20,$18,$34,$1B,$1D,$18,$06,$15,$22,$21,$81,$82,$00,$00,$00,$00,$00 + dta $00,$00,$00,$F4,$B8,$83,$84,$BD,$08,$09,$10,$0A,$19,$12,$13,$36,$19,$36,$1C,$14,$19,$09,$16,$17,$A3,$C8,$C9,$B0,$F5,$00,$00,$00 + dta $00,$00,$00,$2E,$B9,$BA,$BB,$BC,$05,$06,$1E,$07,$37,$1D,$25,$1D,$37,$06,$15,$62,$37,$06,$11,$2A,$D7,$D8,$D9,$DA,$2F,$00,$00,$00 + dta $00,$00,$00,$2E,$E8,$E9,$EA,$C1,$08,$09,$1F,$0A,$76,$09,$26,$27,$19,$09,$16,$17,$19,$14,$28,$2B,$AC,$DB,$DC,$DD,$2F,$00,$00,$00 + dta $00,$00,$00,$2E,$EC,$BE,$C3,$ED,$C6,$C4,$E4,$C5,$B3,$C2,$B5,$E5,$B2,$C4,$E6,$E7,$B2,$C7,$C6,$B1,$DE,$DF,$E0,$E1,$2F,$00,$00,$00 + dta $00,$00,$00,$5E,$D6,$00,$0C,$0D,$0C,$0D,$0C,$0D,$0C,$0D,$31,$00,$20,$21,$20,$21,$20,$21,$20,$21,$20,$21,$31,$B4,$5F,$00,$00,$00 + dta $00,$00,$00,$5E,$AE,$00,$0C,$0D,$0C,$0D,$0C,$0D,$0C,$0D,$31,$00,$20,$21,$20,$21,$20,$21,$20,$21,$20,$21,$31,$BC,$5F,$00,$00,$00 + dta $00,$00,$00,$5E,$A8,$C2,$0C,$0D,$0C,$0D,$0C,$0D,$0C,$0D,$31,$00,$20,$21,$20,$21,$20,$21,$20,$21,$20,$21,$31,$BE,$5F,$00,$00,$00 + dta $00,$00,$00,$5E,$AE,$A3,$0C,$0D,$0C,$0D,$0C,$0D,$0C,$0D,$31,$00,$20,$21,$20,$21,$20,$21,$20,$21,$20,$21,$31,$C0,$5F,$00,$00,$00 + dta $00,$00,$00,$5E,$AA,$C0,$0C,$0D,$0C,$0D,$0C,$0D,$0C,$0D,$31,$00,$20,$21,$20,$21,$20,$21,$20,$21,$20,$21,$31,$BC,$5F,$00,$00,$00 + dta $00,$00,$00,$2E,$CD,$D1,$CE,$EE,$D2,$F0,$CE,$F1,$EF,$50,$CC,$CF,$EF,$F3,$F0,$CE,$CF,$F2,$D2,$CA,$CE,$D3,$D4,$D5,$2F,$00,$00,$00 diff --git a/art/phase1l.atrview b/art/phase1l.atrview new file mode 100644 index 0000000..b272645 --- /dev/null +++ b/art/phase1l.atrview @@ -0,0 +1 @@ +{"Version":"2023","ColoredGfx":"1","Chars":"A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9F10101010A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E86010101ACADAEAFB0B1B2B39B1C0101848D010101010101850000000000000000A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D01010101010185000000000000000001010887040101010101011D9E9FA0A1A2A3A4A526010101010101010101010100000000000000000101098A355B5A010101011D9E9FA0A1A2A3A4A52601010101010101010101010000000000000000010164DCDD5F5E010101011D9E9FA0A1A2A3A4A52601010101010101010101010000000000000000010165C2E66362E1E001011D9E9FA0A1A2A3A4A52601010101010101010101010000000000000000010164ECEB6AE9E8ED01011D9E9FA0A1A2A3A4A52601010101010101010101010000000000000000010165F2427042EEED01011D9E9FA0A1A2A3A4A526010101010101010101010100000000000000000101D6F5F46D6CF4F301D91D9E9FA0A1A2A3A4A52601D5010101E9D901D2010100000000000000000101017B7A79787776D8011D9E9FA0A1A2A3A4A526010101E8E70101010101010000000000000000D2D3017F7E6A6A7D7C0127D09F000FA0A3A49E9F51A9D701010101BE0101D4D50000000000000000","Width":40,"Height":26,"Lines":"0202020202020202020202020202020202010101010101020202","Colors":"CEC800F40CF6161AB4BA","Fontname1":"D:\\my\\retro\\dev\\Pecusx\\Timberman\\Young-lumberjack\\art\\tl_l.fnt","Fontname2":"D:\\my\\retro\\dev\\Pecusx\\Timberman\\Young-lumberjack\\art\\tu.fnt","Fontname3":"Default.fnt","Fontname4":"Default.fnt","Data":"55555555555555550000000000000000000000000F0F000000003C00000000000040404040404040000000000200000000000000000054555555FFFFFFFFFFFF15151E1E1E1E1E1E1A1E151500000000AAAA5555161B1B160000000000000105FDFDFF57090A000F07071F1D161A105F0040505414241525101595999090909007070A0A0202AAAA4D4D6A6A68686A6A0055556800000000000105151418545829253935393569659050405454050507AAAAAA55554040406A5A1A5555C5C50700000055554C4C4068586C5C6C55557B00000000005555AA000000000005050607060505C4C45454666A59595A5A6666AAA99AAAAAA66A6EAAA9AAAA9AAEEEEEAAAAAAAEEEEEEEAEAAAAEEEEEEEEEEAEAAAAEAEEEEEEEEAEAAA9AAEAEEEEEEAAAAA9AAAA9AEAEEEEAAAA99A9AA6AA6E665A59999999965655555690101010101A6AA69A99A9A566666A69A99999A6565AAAAA6A6AAAAAAAAAAAAAA9A9A9AAAAA404040404C4C5555070605050404545440404040404055557B6655556C5C6858FFAA55550000000007060505000000000005151458546858AAA99AAAAA5555FD666A59595A5555DF4040404040404040000000505015151E0000005555333300292539555915151D4040005555000000AAA9A95555404040AA6A6A5555070707050509010000000068586C5C6C5C6858FDA9555500000000DF9A55550000000000AAAAAAAAAAAA801E1915151010505000000000000055551D1915151915595500000000333355554040404040555541070707070727555500808080808080000050F5AFAA5A55550100000000000000061A19150000000095514000000000006A565501000000009AAA665A160501010000004060181505000000CC30CC000069657935393529250055FFAA55550505557F56150106050140D5BF66955140000050F5AFAA5A5505000055FFAAAA5655000050F5BFAA6A9600000050F5FFAF9A0001010557FFFEAA555000000000000000000000000050540000000000000515161B1B5555000000404040505010D0D1F4F4FD5D2529013D1F1F7F755868407C005054142515292555556940485050401C1C2A2A0A0AAAAA3434A8A8A0A0AAAA000000010101010101010101010101011515D9D11111515155556940404040404040000000000000ABA9AD5554000000AA6A6A55557474744141405055150000565B5B55550000C0292539353935292500000008241050400000000000000C0074747474747455550C00000000C00000C00000C0C0005555A66AA9A594504040A99555400000000000004050D5FFBFAA000000055FFFF6AA0000055FFEAAA955000055FFAAB96A5900055FFAAAA555500055FFAA555500000157FE995946010055FD9554404040005F1605010000000040D0B464791504005555555555555555AAA9AAEEBB8EAFEF000000000000000000010101010101000040404040404000BFFEBFFEBFFEBFFEBEFABEFEBAFEBEFAFAEAAAEAFAEAEAAA555555555555555555D5D5D5D5D5D55555F5F5F5F5F5F55555FDFDFDFDFDFD5555FFFFFFFFFFFF550040404040404000A0A0A0A0E0A0A0A03F2F3F2F2B2F3F2FAAAAAAAABECA3AFEAABADDDDDDDD7596AABAF676B6B6FD55AABADD5DB5D6FD55AAFE5DB59DDD7596AAAEBDDDFD5DADA5AAFED5F65DDD7596AABED5F6DDDD7596AAFE5DADB5B6B696AABADD75DDDD7596AABADDDD7D9DB596AAAAB696AAB696AAA89AA9A96A6AA6A44565999999956545666A59595A5A6666AAA99AAAAAA66A6EAAA9AAAA9AAEEEEEAAAAAAAEEEEEEEAEAAAAEEEEEEEEEEAEAAAAEAEEEEEEEEAEAAA9AAEAEEEEEEAAAAA9AAAA9AEAEEEEAAAA99A9AA6AA6E665A59999999965650101010506165A692F3E2F3E2F3E2F3E4040435290946569A6AA69A99A9A5666666AA9D9DAAA66A664665559595A566461AA9A9AA9AA6A62ACAEEAE6AAA96AACE8EAAAAEEEEEEEACE8EEEEEEEEEEEEACE8EAEEEEEEAAAAB8A86AA9E9EAEEEEACE16AAEAEAA9AAAE865A9A79B9A996A6666A69A99999A6565557F56150106050140D5BF66955140000055FFAA555500003F5FF5AFAA5A5525FAEA55FFAAAA5655000050F5BFAA6A9600000050F5FFAF9A0001010557FFFEAA00080E0300000000F6DA99D5FAEAEAAA95514000000000006A565501000000009AAA665A1605010100004050D5FFBFAA000000055FFFF6AABFFEB55FFEAAA955A0A055FFAAB96A5900055FFAAAA555500055FFAA555500000157FE995946010055FD955440404000A66AA9A594504040A995554000000000555EBFFEBFFEBFFE5F96A5A1E0A0A0A040D0B46479150400665A99996A6AA6A665A69A9999E6777F0000000E0B0000000000E080E83C00000000A0FA0B2C3000000000ACF80000000000000008ACF00000002ABFE0380C0000000000002BBEC0A0F00000000000000F0F0F0F0F0F0F0F33FFFFFFFFFFFF00FFFF00FFFF03FFFFFDFDFDFDFDFDFD3DFDFD3DFDFDFDFDFD010101010101010129A9A92A0A0200000F0F4F509AAAAA00FFFFFF00AAAAAA00FDFDFD09AAAAAA0000008080A0A8A8005550000000000101FFFF00FFFFF0FFFF000080E8FC00000000000E0B000000000E0B0200000000000000000000FFFFFF000000000000555F00000000000055F5000003030000555F0000C0C0000055F501000000003DFD3F74745410105F5FFF1707050101D5D5FF4040400000F0FCF02925393539255554000000000000555568586C5C6C5855151414F4D4F45450400000FFFFFF5F5F1F34F457FFFF5555001C1FD5FFFF5555000000FFFFFFF5F5F414141F171F15050140000000007C7FFC1D1D150404F5F5FFD4D05040405757FF01010100000F3F0F0000000000000000001818181800180000666666000000000066FF6666FF6600183E603C067C180000666C18306646001C361C386F663B000018181800000000000E1C18181C0E00007038181838700000663CFF3C6600000018187E1818000000000000001818300000007E00000000000000000018180000060C1830604000003C666E76663C000018381818187E00003C660C18307E00007E0C180C663C00000C1C3C6C7E0C00007E607C06663C00003C607C66663C00007E060C18303000003C663C66663C00003C663E060C380000001818001818000000181800181830060C1830180C060000007E00007E00006030180C18306000003C660C18001800003C666E6E603E0000183C66667E6600007C667C66667C00003C666060663C0000786C66666C7800007E607C60607E00007E607C60606000003E60606E663E000066667E66666600007E181818187E000006060606663C0000666C78786C66000060606060607E000063777F6B6363000066767E7E6E6600003C666666663C00007C66667C606000003C6666666C3600007C66667C6C6600003C603C06063C00007E1818181818000066666666667E0000666666663C18000063636B7F7763000066663C3C6666000066663C18181800007E0C1830607E00001E181818181E0000406030180C0600007818181818780000081C3663000000000000000000FF0000367F7F3E1C08001818181F1F1818180303030303030303181818F8F8000000181818F8F8181818000000F8F818181803070E1C3870E0C0C0E070381C0E07030103070F1F3F7FFF000000000F0F0F0F80C0E0F0F8FCFEFF0F0F0F0F00000000F0F0F0F000000000FFFF000000000000000000000000FFFF00000000F0F0F0F0001C1C7777081C000000001F1F181818000000FFFF000000181818FFFF18181800003C7E7E7E3C0000000000FFFFFFFFC0C0C0C0C0C0C0C0000000FFFF181818181818FFFF000000F0F0F0F0F0F0F0F01818181F1F000000786078607E181E0000183C7E18181800001818187E3C18000018307E3018000000180C7E0C18000000183C7E7E3C180000003C063E663E000060607C66667C0000003C6060603C000006063E66663E0000003C667E603C00000E183E1818180000003E66663E067C0060607C666666000018003818183C00000600060606063C0060606C786C66000038181818183C000000667F7F6B630000007C666666660000003C6666663C0000007C66667C606000003E66663E060600007C666060600000003E603C067C0000187E1818180E000000666666663E0000006666663C18000000636B7F3E36000000663C183C660000006666663E0C7800007E0C18307E0000183C7E7E183C001818181818181818007E787C6E660600081838783818080010181C1E1C1810000000000000000000001818181800180000666666000000000066FF6666FF6600183E603C067C180000666C18306646001C361C386F663B000018181800000000000E1C18181C0E00007038181838700000663CFF3C6600000018187E1818000000000000001818300000007E00000000000000000018180000060C1830604000003C666E76663C000018381818187E00003C660C18307E00007E0C180C663C00000C1C3C6C7E0C00007E607C06663C00003C607C66663C00007E060C18303000003C663C66663C00003C663E060C380000001818001818000000181800181830060C1830180C060000007E00007E00006030180C18306000003C660C18001800003C666E6E603E0000183C66667E6600007C667C66667C00003C666060663C0000786C66666C7800007E607C60607E00007E607C60606000003E60606E663E000066667E66666600007E181818187E000006060606663C0000666C78786C66000060606060607E000063777F6B6363000066767E7E6E6600003C666666663C00007C66667C606000003C6666666C3600007C66667C6C6600003C603C06063C00007E1818181818000066666666667E0000666666663C18000063636B7F7763000066663C3C6666000066663C18181800007E0C1830607E00001E181818181E0000406030180C0600007818181818780000081C3663000000000000000000FF0000367F7F3E1C08001818181F1F1818180303030303030303181818F8F8000000181818F8F8181818000000F8F818181803070E1C3870E0C0C0E070381C0E07030103070F1F3F7FFF000000000F0F0F0F80C0E0F0F8FCFEFF0F0F0F0F00000000F0F0F0F000000000FFFF000000000000000000000000FFFF00000000F0F0F0F0001C1C7777081C000000001F1F181818000000FFFF000000181818FFFF18181800003C7E7E7E3C0000000000FFFFFFFFC0C0C0C0C0C0C0C0000000FFFF181818181818FFFF000000F0F0F0F0F0F0F0F01818181F1F000000786078607E181E0000183C7E18181800001818187E3C18000018307E3018000000180C7E0C18000000183C7E7E3C180000003C063E663E000060607C66667C0000003C6060603C000006063E66663E0000003C667E603C00000E183E1818180000003E66663E067C0060607C666666000018003818183C00000600060606063C0060606C786C66000038181818183C000000667F7F6B630000007C666666660000003C6666663C0000007C66667C606000003E66663E060600007C666060600000003E603C067C0000187E1818180E000000666666663E0000006666663C18000000636B7F3E36000000663C183C660000006666663E0C7800007E0C18307E0000183C7E7E183C001818181818181818007E787C6E660600081838783818080010181C1E1C181000","FortyBytes":"1","Pages":[{"Nr":1,"Name":"Page 1","View":"A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9F10101010A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E86010101ACADAEAFB0B1B2B39B1C0101848D010101010101850000000000000000A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D01010101010185000000000000000001010887040101010101011D9E9FA0A1A2A3A4A526010101010101010101010100000000000000000101098A355B5A010101011D9E9FA0A1A2A3A4A52601010101010101010101010000000000000000010164DCDD5F5E010101011D9E9FA0A1A2A3A4A52601010101010101010101010000000000000000010165C2E66362E1E001011D9E9FA0A1A2A3A4A52601010101010101010101010000000000000000010164ECEB6AE9E8ED01011D9E9FA0A1A2A3A4A52601010101010101010101010000000000000000010165F2427042EEED01011D9E9FA0A1A2A3A4A526010101010101010101010100000000000000000101D6F5F46D6CF4F301D91D9E9FA0A1A2A3A4A52601D5010101E9D901D2010100000000000000000101017B7A79787776D8011D9E9FA0A1A2A3A4A526010101E8E70101010101010000000000000000D2D3017F7E6A6A7D7C0127D09F000FA0A3A49E9F51A9D701010101BE0101D4D50000000000000000","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26},{"Nr":2,"Name":"Page 2","View":"A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9F10101010A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E86010101ACADAEAFB0B1B2B39B1C0101848D010101010101850000000000000000A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A39FA5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D01010101010185000000000000000001010887040101010101011D9E9FA0A1A2A3A4A526010101010101010101010100000000000000000101098A355B5A010101011D9E9FA0A1A2A3A4A52601010101010101010101010000000000000000010164DCDD5F5E010101011D9E9FA0A1A2A3A4A52601010101010101010101010000000000000000010165C2E66362E1E001011D9E9FA0A1A2A3A4A59EF5F6F7F8F9FAFBFC0101010000000000000000010164ECEB6AE9E8ED01011D9E9FA0A1A2A3A4A5A9F3F4D9FDFE0101010101010000000000000000010165F2427042EEED01011D9E9FA0A1A2A3A4A526010101010101010101010100000000000000000101D6F5F46D6CF4F301D91D9E9FA0A1A2A3A4A52601D5010101E9D901D2010100000000000000000101017B7A79787776D8011D9E9FA0A1A2A3A4A526010101E8E70101010101010000000000000000D2D3017F7E6A6A7D7C0127D09F000FA0A3A49E9F51A9D701010101BE0101D4D50000000000000000","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26}],"Tiles":[]} \ No newline at end of file diff --git a/art/phase1r.atrview b/art/phase1r.atrview new file mode 100644 index 0000000..7dedf14 --- /dev/null +++ b/art/phase1r.atrview @@ -0,0 +1 @@ +{"Version":"2023","ColoredGfx":"1","Chars":"A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101858787878787878787A88D010101018E860101019D9E9F10101010A4A5260101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E86010101ACADAEAFB0B1B2B39B1C0101848D010101010101858787878787878787A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D01010101010185878787878787878701010101010101010101019D9E9FA0A1A2A3A4A5A60101010101010487080101000000000000000001010101010101010101019D9E9FA0A1A2A3A4A5A6010101015A5B35890A0101000000000000000001010101010101010101019D9E9FA0A1A2A3A4A5A6010101015E5FDDDC6401010000000000000000010101F8F9FAFBFCFDFEFFA59E9FA0A1A2A3A4A5A60101E0E16263E642650101000000000000000001010101010101F4F5F6F7289E9FA0A1A2A3A4A5A60101EDE8E96AEBEC640101000000000000000001010101010101010101019D9E9FA0A1A2A3A4A5A60101EDEE427042F265010100000000000000000101D6010101D2E70101D99D9E9FA0A1A2A3A4A5A601D5F5F46B6EF4F3D20101878787878787878701010101D2D7010101D8019D9E9FA0A1A2A3A4A5A601017B7A797877760101018787878787878787D2D3010101010101010127D09F000FA0A3A49E9F51A9D76F706A6A717201D4D58787878787878787","Width":40,"Height":26,"Lines":"0202020202020202020202020202020202010101010101020202","Colors":"CEC800F40CF6161AB4BA","Fontname1":"D:\\my\\retro\\dev\\Pecusx\\Timberman\\Young-lumberjack\\art\\tl_r.fnt","Fontname2":"D:\\my\\retro\\dev\\Pecusx\\Timberman\\Young-lumberjack\\art\\tu.fnt","Fontname3":"Default.fnt","Fontname4":"Default.fnt","Data":"55555555555555550000000000000000000000000F0F000000003C000000000000010101010101012A2A2A2A2A2A2A2A00000000000015555555FFFFFFFFFFFF5454B4B4B4B4B4B4AAAA555594E4E494A4B454540000000000000000000040507F7FFFD560A000F0D0D0F47494A404F500010515141854580454566606060606D0D0A0A08080AAAA7171A9A92929A9A90055552900000000004050541424152568586C5C6C5C695906050115155050D0AAAAAA5555010101A9A5A455555353D0000000555531310129253935395555ED00000000005555AA0000000000505090D090505013131515666A59595A5A6666AAA99AAAAAA66A6EAAA9AAAA9AAEEEEEAAAAAAAEEEEEEEAEAAAAEEEEEEEEEEAEAAAAEAEEEEEEEEAEAAA9AAEAEEEEEEAAAAA9AAAA9AEAEEEEAAAA99A9AA6AA6E665A59999999965655555694040404040A6AA69A99A9A566666A69A99999A6565AAAAA6A6AAAAAAAAAAAAAA9A9A9AAAAA0101010131315555D0905050101015150101010101015555ED99555539352925FFAA555500000000D0905050000000000050541425152925AA9AA9A96A55557F65A59999995555F7010101010101010100000005055454B40000005555CCCC0068586C55655454740101005555000000AA6A6A5555010101AAA9A95555D0D0D0505060400000000029253935393529257F6A555500000000F7A655550000000000AAAAAAAAAAAA80B4645454040405050000000000005555746454546454655500000000CCCC55550101010101555541D0D0D0D0D0D855550080808080808000A66AA9A594504040A99555400000000055500000000000005F1605010000000040D0B464791504005555555555555555000000010924545000000000330C330069596D5C6C5C685800004050D5FFBFAA000000055FFFF6AA0000055FFEAAA955000055FFAAB96A5900055FFAAAA555500157FE995946010055FD9554404040000055FFAA55555050D0D5F6F6A5A504F50000000000000515000000000000505494E4E4555500000001010105050407471F1F7F755868407CF4F4FD5D2529013D000515145854685855556901210505013434A8A8A0A0AAAA1C1C2A2A0A0AAAAA00000040404040404040404040404040545467474444454555556901010101010101000000000000EA6A7A5515000000AAA9A955551D1D1D414101055554000095E5E5555500000368586C5C6C5C685800000020180405010000000000000C001D1D1D1D1D1D55550000330C3300555503000003030055555555555555555555061A19150000000095514000000000006A565501000000009AAA665A16050101557F56150106050140D5BF66955140000055FFAA555500000050F5AFAA5A5505000055FFAAAA5655000050F5BFAA6A9600000050F5FFAF9A0101010557FFFEAAAAA9AAEEBB8EAFEF000000000000000000010101010101000040404040404000BFFEBFFEBFFEBFFEBEFABEFEBAFEBEFAFAEAAAEAFAEAEAAA555555555555555555D5D5D5D5D5D55555F5F5F5F5F5F55555FDFDFDFDFDFD5555FFFFFFFFFFFF550040404040404000A0A0A0A0E0A0A0A03F2F3F2F2B2F3F2FAAAAAAAABECA3AFEAABADDDDDDDD7596AABAF676B6B6FD55AABADD5DB5D6FD55AAFE5DB59DDD7596AAAEBDDDFD5DADA5AAFED5F65DDD7596AABED5F6DDDD7596AAFE5DADB5B6B696AABADD75DDDD7596AABADDDD7D9DB596AAAAB696AAB696AAA89AA9A96A6AA6A44565999999956545666A59595A5A6666AAA99AAAAAA66A6EAAA9AAAA9AAEEEEEAAAAAAAEEEEEEEAEAAAAEEEEEEEEEEAEAAAAEAEEEEEEEEAEAAA9AAEAEEEEEEAAAAA9AAAA9AEAEEEEAAAA99A9AA6AA6E665A59999999965650101010506165A692F3E2F3E2F3E2F3E4040435290946569A6AA69A99A9A5666666AA9D9DAAA66A664665559595A566461AA9A9AA9AA6A62ACAEEAE6AAA96AACE8EAAAAEEEEEEEACE8EEEEEEEEEEEEACE8EAEEEEEEAAAAB8A86AA9E9EAEEEEACE16AAEAEAA9AAAE865A9A79B9A996A6666A69A99999A6565557F56150106050140D5BF66955140000055FFAA555500003F5FF5AFAA5A5525FAEA55FFAAAA5655000050F5BFAA6A9600000050F5FFAF9A0001010557FFFEAA00080E0300000000F6DA99D5FAEAEAAA95514000000000006A565501000000009AAA665A1605010100004050D5FFBFAA000000055FFFF6AABFFEB55FFEAAA955A0A055FFAAB96A5900055FFAAAA555500055FFAA555500000157FE995946010055FD955440404000A66AA9A594504040A995554000000000555EBFFEBFFEBFFE5F96A5A1E0A0A0A040D0B46479150400665A99996A6AA6A665A69A9999E6777F0000000E0B0000000000E080E83C00000000A0FA0B2C3000000000ACF80000000000000008ACF00000002ABFE0380C0000000000002BBEC0A0F00000000000000F0F0F0F0F0F0F0F33FFFFFFFFFFFF00FFFF00FFFF03FFFFFDFDFDFDFDFDFD3DFDFD3DFDFDFDFDFD010101010101010129A9A92A0A0200000F0F4F509AAAAA00FFFFFF00AAAAAA00FDFDFD09AAAAAA0000008080A0A8A8005550000000000101FFFF00FFFFF0FFFF000080E8FC00000000000E0B000000000E0B0200000000000000000000FFFFFF000000000000555F00000000000055F5000003030000555F0000C0C0000055F501000000003DFD3F74745410105F5FFF1707050101D5D5FF4040400000F0FCF02925393539255554000000000000555568586C5C6C5855151414F4D4F45450400000FFFFFF5F5F1F34F457FFFF5555001C1FD5FFFF5555000000FFFFFFF5F5F414141F171F15050140000000007C7FFC1D1D150404F5F5FFD4D05040405757FF01010100000F3F0F0000000000000000001818181800180000666666000000000066FF6666FF6600183E603C067C180000666C18306646001C361C386F663B000018181800000000000E1C18181C0E00007038181838700000663CFF3C6600000018187E1818000000000000001818300000007E00000000000000000018180000060C1830604000003C666E76663C000018381818187E00003C660C18307E00007E0C180C663C00000C1C3C6C7E0C00007E607C06663C00003C607C66663C00007E060C18303000003C663C66663C00003C663E060C380000001818001818000000181800181830060C1830180C060000007E00007E00006030180C18306000003C660C18001800003C666E6E603E0000183C66667E6600007C667C66667C00003C666060663C0000786C66666C7800007E607C60607E00007E607C60606000003E60606E663E000066667E66666600007E181818187E000006060606663C0000666C78786C66000060606060607E000063777F6B6363000066767E7E6E6600003C666666663C00007C66667C606000003C6666666C3600007C66667C6C6600003C603C06063C00007E1818181818000066666666667E0000666666663C18000063636B7F7763000066663C3C6666000066663C18181800007E0C1830607E00001E181818181E0000406030180C0600007818181818780000081C3663000000000000000000FF0000367F7F3E1C08001818181F1F1818180303030303030303181818F8F8000000181818F8F8181818000000F8F818181803070E1C3870E0C0C0E070381C0E07030103070F1F3F7FFF000000000F0F0F0F80C0E0F0F8FCFEFF0F0F0F0F00000000F0F0F0F000000000FFFF000000000000000000000000FFFF00000000F0F0F0F0001C1C7777081C000000001F1F181818000000FFFF000000181818FFFF18181800003C7E7E7E3C0000000000FFFFFFFFC0C0C0C0C0C0C0C0000000FFFF181818181818FFFF000000F0F0F0F0F0F0F0F01818181F1F000000786078607E181E0000183C7E18181800001818187E3C18000018307E3018000000180C7E0C18000000183C7E7E3C180000003C063E663E000060607C66667C0000003C6060603C000006063E66663E0000003C667E603C00000E183E1818180000003E66663E067C0060607C666666000018003818183C00000600060606063C0060606C786C66000038181818183C000000667F7F6B630000007C666666660000003C6666663C0000007C66667C606000003E66663E060600007C666060600000003E603C067C0000187E1818180E000000666666663E0000006666663C18000000636B7F3E36000000663C183C660000006666663E0C7800007E0C18307E0000183C7E7E183C001818181818181818007E787C6E660600081838783818080010181C1E1C1810000000000000000000001818181800180000666666000000000066FF6666FF6600183E603C067C180000666C18306646001C361C386F663B000018181800000000000E1C18181C0E00007038181838700000663CFF3C6600000018187E1818000000000000001818300000007E00000000000000000018180000060C1830604000003C666E76663C000018381818187E00003C660C18307E00007E0C180C663C00000C1C3C6C7E0C00007E607C06663C00003C607C66663C00007E060C18303000003C663C66663C00003C663E060C380000001818001818000000181800181830060C1830180C060000007E00007E00006030180C18306000003C660C18001800003C666E6E603E0000183C66667E6600007C667C66667C00003C666060663C0000786C66666C7800007E607C60607E00007E607C60606000003E60606E663E000066667E66666600007E181818187E000006060606663C0000666C78786C66000060606060607E000063777F6B6363000066767E7E6E6600003C666666663C00007C66667C606000003C6666666C3600007C66667C6C6600003C603C06063C00007E1818181818000066666666667E0000666666663C18000063636B7F7763000066663C3C6666000066663C18181800007E0C1830607E00001E181818181E0000406030180C0600007818181818780000081C3663000000000000000000FF0000367F7F3E1C08001818181F1F1818180303030303030303181818F8F8000000181818F8F8181818000000F8F818181803070E1C3870E0C0C0E070381C0E07030103070F1F3F7FFF000000000F0F0F0F80C0E0F0F8FCFEFF0F0F0F0F00000000F0F0F0F000000000FFFF000000000000000000000000FFFF00000000F0F0F0F0001C1C7777081C000000001F1F181818000000FFFF000000181818FFFF18181800003C7E7E7E3C0000000000FFFFFFFFC0C0C0C0C0C0C0C0000000FFFF181818181818FFFF000000F0F0F0F0F0F0F0F01818181F1F000000786078607E181E0000183C7E18181800001818187E3C18000018307E3018000000180C7E0C18000000183C7E7E3C180000003C063E663E000060607C66667C0000003C6060603C000006063E66663E0000003C667E603C00000E183E1818180000003E66663E067C0060607C666666000018003818183C00000600060606063C0060606C786C66000038181818183C000000667F7F6B630000007C666666660000003C6666663C0000007C66667C606000003E66663E060600007C666060600000003E603C067C0000187E1818180E000000666666663E0000006666663C18000000636B7F3E36000000663C183C660000006666663E0C7800007E0C18307E0000183C7E7E183C001818181818181818007E787C6E660600081838783818080010181C1E1C181000","FortyBytes":"1","Pages":[{"Nr":1,"Name":"Page 1","View":"A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101858787878787878787A88D010101018E860101019D9E9F10101010A4A5260101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E86010101ACADAEAFB0B1B2B39B1C0101848D010101010101858787878787878787A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D01010101010185878787878787878701010101010101010101019D9E9FA0A1A2A3A4A5A60101010101010487080101000000000000000001010101010101010101019D9E9FA0A1A2A3A4A5A6010101015A5B35890A0101000000000000000001010101010101010101019D9E9FA0A1A2A3A4A5A6010101015E5FDDDC640101000000000000000001010101010101010101019D9E9FA0A1A2A3A4A5A60101E0E16263E642650101000000000000000001010101010101010101019D9E9FA0A1A2A3A4A5A60101EDE8E96AEBEC640101000000000000000001010101010101010101019D9E9FA0A1A2A3A4A5A60101EDEE427042F265010100000000000000000101D6010101D2E70101D99D9E9FA0A1A2A3A4A5A601D5F5F46B6EF4F3D20101878787878787878701010101D2D7010101D8019D9E9FA0A1A2A3A4A5A601017B7A797877760101018787878787878787D2D3010101010101010127D09F000FA0A3A49E9F51A9D76F706A6A717201D4D58787878787878787","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26},{"Nr":2,"Name":"Page 2","View":"A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101858787878787878787A88D010101018E860101019D9E9F10101010A4A5260101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E86010101ACADAEAFB0B1B2B39B1C0101848D010101010101858787878787878787A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D01010101010185878787878787878701010101010101010101019D9E9FA0A1A2A3A4A5A60101010101010487080101000000000000000001010101010101010101019D9E9FA0A1A2A3A4A5A6010101015A5B35890A0101000000000000000001010101010101010101019D9E9FA0A1A2A3A4A5A6010101015E5FDDDC6401010000000000000000010101F8F9FAFBFCFDFEFFA59E9FA0A1A2A3A4A5A60101E0E16263E642650101000000000000000001010101010101F4F5F6F7289E9FA0A1A2A3A4A5A60101EDE8E96AEBEC640101000000000000000001010101010101010101019D9E9FA0A1A2A3A4A5A60101EDEE427042F265010100000000000000000101D6010101D2E70101D99D9E9FA0A1A2A3A4A5A601D5F5F46B6EF4F3D20101878787878787878701010101D2D7010101D8019D9E9FA0A1A2A3A4A5A601017B7A797877760101018787878787878787D2D3010101010101010127D09F000FA0A3A49E9F51A9D76F706A6A717201D4D58787878787878787","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26}],"Tiles":[]} \ No newline at end of file diff --git a/art/phase2l.atrview b/art/phase2l.atrview new file mode 100644 index 0000000..4de13d8 --- /dev/null +++ b/art/phase2l.atrview @@ -0,0 +1 @@ +{"Version":"2023","ColoredGfx":"1","Chars":"A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9F10101010A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E1A1B1C1B1AA412260101848D010101010101850000000000000000A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A39FA5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D01010101010185000000000000000001010101010101010101011D9E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101010B06010101011D9E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101010D0C040101011D9E9FA0A1A2A3A4A52601010101010101010101010000000000000000010101939211108F8ED7D8A59E9FA0A1A2A3A4A52601010101010101011D9E9F0000000000000000011B1A999897969594CCCD289E9FA0A1A2A3A4A52601010101010101011D9E9F0000000000000000013130AF2EADAC9CD001011D9E9FA0A1A2A3A4A52601010101010101011D9E9F00000000000000000101D6F5F46B6EF4F301D91D9E9FA0A1A2A3A4A52601D5010101E9D9011D9E9F00000000000000000101017B7A79787776D8011D9E9FA0A1A2A3A4A526010101E8E70101011D9E9F0000000000000000D2D3017F7E6A6A7D7C0127D09F000FA0A3A49E9F51A9D701010101BE0101D4D50000000000000000","Width":40,"Height":26,"Lines":"0202020202020202020202020202020202010101010101020202","Colors":"CEC800F40CF6161AB4BA","Fontname1":"D:\\my\\retro\\dev\\Pecusx\\Timberman\\Young-lumberjack\\art\\tl_l.fnt","Fontname2":"D:\\my\\retro\\dev\\Pecusx\\Timberman\\Young-lumberjack\\art\\tu.fnt","Fontname3":"Default.fnt","Fontname4":"Default.fnt","Data":"55555555555555550000000000000000000000000F0F000000003C00000000000040404040404040000000000200000000000000000054555555FFFFFFFFFFFF15151E1E1E1E1E1E1A1E151500000000AAAA5555161B1B160000000000000105FDFDFF57090A000F07071F1D161A105F0040505414241525101595999090909007070A0A0202AAAA4D4D6A6A68686A6A0055556800000000000105151418545829253935393569659050405454050507AAAAAA55554040406A5A1A5555C5C50700000055554C4C4068586C5C6C55557B00000000005555AA000000000005050607060505C4C45454666A59595A5A6666AAA99AAAAAA66A6EAAA9AAAA9AAEEEEEAAAAAAAEEEEEEEAEAAAAEEEEEEEEEEAEAAAAEAEEEEEEEEAEAAA9AAEAEEEEEEAAAAA9AAAA9AEAEEEEAAAA99A9AA6AA6E665A59999999965655555690101010101A6AA69A99A9A566666A69A99999A6565AAAAA6A6AAAAAAAAAAAAAA9A9A9AAAAA404040404C4C5555070605050404545440404040404055557B6655556C5C6858FFAA55550000000007060505000000000005151458546858AAA99AAAAA5555FD666A59595A5555DF4040404040404040000000505015151E0000005555333300292539555915151D4040005555000000AAA9A95555404040AA6A6A5555070707050509010000000068586C5C6C5C6858FDA9555500000000DF9A55550000000000AAAAAAAAAAAA801E1915151010505000000000000055551D1915151915595500000000333355554040404040555541070707070727555500808080808080000050F5AFAA5A55550100000000000000061A19150000000095514000000000006A565501000000009AAA665A160501010000004060181505000000CC30CC000069657935393529250055FFAA55550505557F56150106050140D5BF66955140000050F5AFAA5A5505000055FFAAAA5655000050F5BFAA6A9600000050F5FFAF9A0001010557FFFEAA555000000000000000000000000050540000000000000515161B1B5555000000404040505010D0D1F4F4FD5D2529013D1F1F7F755868407C005054142515292555556940485050401C1C2A2A0A0AAAAA3434A8A8A0A0AAAA000000010101010101010101010101011515D9D11111515155556940404040404040000000000000ABA9AD5554000000AA6A6A55557474744141405055150000565B5B55550000C0292539353935292500000008241050400000000000000C0074747474747455550C00000000C00000C00000C0C0005555A66AA9A594504040A99555400000000000004050D5FFBFAA000000055FFFF6AA0000055FFEAAA955000055FFAAB96A5900055FFAAAA555500055FFAA555500000157FE995946010055FD9554404040005F1605010000000040D0B464791504005555555555555555AAA9AAEEBB8EAFEF000000000000000000010101010101000040404040404000BFFEBFFEBFFEBFFEBEFABEFEBAFEBEFAFAEAAAEAFAEAEAAA555555555555555555D5D5D5D5D5D55555F5F5F5F5F5F55555FDFDFDFDFDFD5555FFFFFFFFFFFF550040404040404000A0A0A0A0E0A0A0A03F2F3F2F2B2F3F2FAAAAAAAABECA3AFEAABADDDDDDDD7596AABAF676B6B6FD55AABADD5DB5D6FD55AAFE5DB59DDD7596AAAEBDDDFD5DADA5AAFED5F65DDD7596AABED5F6DDDD7596AAFE5DADB5B6B696AABADD75DDDD7596AABADDDD7D9DB596AAAAB696AAB696AAA89AA9A96A6AA6A44565999999956545666A59595A5A6666AAA99AAAAAA66A6EAAA9AAAA9AAEEEEEAAAAAAAEEEEEEEAEAAAAEEEEEEEEEEAEAAAAEAEEEEEEEEAEAAA9AAEAEEEEEEAAAAA9AAAA9AEAEEEEAAAA99A9AA6AA6E665A59999999965650101010506165A692F3E2F3E2F3E2F3E4040435290946569A6AA69A99A9A5666666AA9D9DAAA66A664665559595A566461AA9A9AA9AA6A62ACAEEAE6AAA96AACE8EAAAAEEEEEEEACE8EEEEEEEEEEEEACE8EAEEEEEEAAAAB8A86AA9E9EAEEEEACE16AAEAEAA9AAAE865A9A79B9A996A6666A69A99999A6565557F56150106050140D5BF66955140000055FFAA555500003F5FF5AFAA5A5525FAEA55FFAAAA5655000050F5BFAA6A9600000050F5FFAF9A0001010557FFFEAA00080E0300000000F6DA99D5FAEAEAAA95514000000000006A565501000000009AAA665A1605010100004050D5FFBFAA000000055FFFF6AABFFEB55FFEAAA955A0A055FFAAB96A5900055FFAAAA555500055FFAA555500000157FE995946010055FD955440404000A66AA9A594504040A995554000000000555EBFFEBFFEBFFE5F96A5A1E0A0A0A040D0B46479150400665A99996A6AA6A665A69A9999E6777F0000000E0B0000000000E080E83C00000000A0FA0B2C3000000000ACF80000000000000008ACF00000002ABFE0380C0000000000002BBEC0A0F00000000000000F0F0F0F0F0F0F0F33FFFFFFFFFFFF00FFFF00FFFF03FFFFFDFDFDFDFDFDFD3DFDFD3DFDFDFDFDFD010101010101010129A9A92A0A0200000F0F4F509AAAAA00FFFFFF00AAAAAA00FDFDFD09AAAAAA0000008080A0A8A8005550000000000101FFFF00FFFFF0FFFF000080E8FC00000000000E0B000000000E0B0200000000000000000000FFFFFF000000000000555F00000000000055F5000003030000555F0000C0C0000055F501000000003DFD3F74745410105F5FFF1707050101D5D5FF4040400000F0FCF02925393539255554000000000000555568586C5C6C5855151414F4D4F45450400000FFFFFF5F5F1F34F457FFFF5555001C1FD5FFFF5555000000FFFFFFF5F5F414141F171F15050140000000007C7FFC1D1D150404F5F5FFD4D05040405757FF01010100000F3F0F0000000000000000001818181800180000666666000000000066FF6666FF6600183E603C067C180000666C18306646001C361C386F663B000018181800000000000E1C18181C0E00007038181838700000663CFF3C6600000018187E1818000000000000001818300000007E00000000000000000018180000060C1830604000003C666E76663C000018381818187E00003C660C18307E00007E0C180C663C00000C1C3C6C7E0C00007E607C06663C00003C607C66663C00007E060C18303000003C663C66663C00003C663E060C380000001818001818000000181800181830060C1830180C060000007E00007E00006030180C18306000003C660C18001800003C666E6E603E0000183C66667E6600007C667C66667C00003C666060663C0000786C66666C7800007E607C60607E00007E607C60606000003E60606E663E000066667E66666600007E181818187E000006060606663C0000666C78786C66000060606060607E000063777F6B6363000066767E7E6E6600003C666666663C00007C66667C606000003C6666666C3600007C66667C6C6600003C603C06063C00007E1818181818000066666666667E0000666666663C18000063636B7F7763000066663C3C6666000066663C18181800007E0C1830607E00001E181818181E0000406030180C0600007818181818780000081C3663000000000000000000FF0000367F7F3E1C08001818181F1F1818180303030303030303181818F8F8000000181818F8F8181818000000F8F818181803070E1C3870E0C0C0E070381C0E07030103070F1F3F7FFF000000000F0F0F0F80C0E0F0F8FCFEFF0F0F0F0F00000000F0F0F0F000000000FFFF000000000000000000000000FFFF00000000F0F0F0F0001C1C7777081C000000001F1F181818000000FFFF000000181818FFFF18181800003C7E7E7E3C0000000000FFFFFFFFC0C0C0C0C0C0C0C0000000FFFF181818181818FFFF000000F0F0F0F0F0F0F0F01818181F1F000000786078607E181E0000183C7E18181800001818187E3C18000018307E3018000000180C7E0C18000000183C7E7E3C180000003C063E663E000060607C66667C0000003C6060603C000006063E66663E0000003C667E603C00000E183E1818180000003E66663E067C0060607C666666000018003818183C00000600060606063C0060606C786C66000038181818183C000000667F7F6B630000007C666666660000003C6666663C0000007C66667C606000003E66663E060600007C666060600000003E603C067C0000187E1818180E000000666666663E0000006666663C18000000636B7F3E36000000663C183C660000006666663E0C7800007E0C18307E0000183C7E7E183C001818181818181818007E787C6E660600081838783818080010181C1E1C1810000000000000000000001818181800180000666666000000000066FF6666FF6600183E603C067C180000666C18306646001C361C386F663B000018181800000000000E1C18181C0E00007038181838700000663CFF3C6600000018187E1818000000000000001818300000007E00000000000000000018180000060C1830604000003C666E76663C000018381818187E00003C660C18307E00007E0C180C663C00000C1C3C6C7E0C00007E607C06663C00003C607C66663C00007E060C18303000003C663C66663C00003C663E060C380000001818001818000000181800181830060C1830180C060000007E00007E00006030180C18306000003C660C18001800003C666E6E603E0000183C66667E6600007C667C66667C00003C666060663C0000786C66666C7800007E607C60607E00007E607C60606000003E60606E663E000066667E66666600007E181818187E000006060606663C0000666C78786C66000060606060607E000063777F6B6363000066767E7E6E6600003C666666663C00007C66667C606000003C6666666C3600007C66667C6C6600003C603C06063C00007E1818181818000066666666667E0000666666663C18000063636B7F7763000066663C3C6666000066663C18181800007E0C1830607E00001E181818181E0000406030180C0600007818181818780000081C3663000000000000000000FF0000367F7F3E1C08001818181F1F1818180303030303030303181818F8F8000000181818F8F8181818000000F8F818181803070E1C3870E0C0C0E070381C0E07030103070F1F3F7FFF000000000F0F0F0F80C0E0F0F8FCFEFF0F0F0F0F00000000F0F0F0F000000000FFFF000000000000000000000000FFFF00000000F0F0F0F0001C1C7777081C000000001F1F181818000000FFFF000000181818FFFF18181800003C7E7E7E3C0000000000FFFFFFFFC0C0C0C0C0C0C0C0000000FFFF181818181818FFFF000000F0F0F0F0F0F0F0F01818181F1F000000786078607E181E0000183C7E18181800001818187E3C18000018307E3018000000180C7E0C18000000183C7E7E3C180000003C063E663E000060607C66667C0000003C6060603C000006063E66663E0000003C667E603C00000E183E1818180000003E66663E067C0060607C666666000018003818183C00000600060606063C0060606C786C66000038181818183C000000667F7F6B630000007C666666660000003C6666663C0000007C66667C606000003E66663E060600007C666060600000003E603C067C0000187E1818180E000000666666663E0000006666663C18000000636B7F3E36000000663C183C660000006666663E0C7800007E0C18307E0000183C7E7E183C001818181818181818007E787C6E660600081838783818080010181C1E1C181000","FortyBytes":"1","Pages":[{"Nr":1,"Name":"Page 1","View":"A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9F10101010A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E1A1B1C1B1AA412260101848D010101010101850000000000000000A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A39FA5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D01010101010185000000000000000001010101010101010101011D9E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101010B06010101011D9E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101010D0C040101011D9E9FA0A1A2A3A4A52601010101010101010101010000000000000000010101939211108F8E01011D9E9FA0A1A2A3A4A52601010101010101010101010000000000000000011B1A99989796959401011D9E9FA0A1A2A3A4A52601010101010101010101010000000000000000013130AF2EADAC9CD001011D9E9FA0A1A2A3A4A526010101010101010101010100000000000000000101D6F5F46B6EF4F301D91D9E9FA0A1A2A3A4A52601D5010101E9D901D2010100000000000000000101017B7A79787776D8011D9E9FA0A1A2A3A4A526010101E8E70101010101010000000000000000D2D3017F7E6A6A7D7C0127D09F000FA0A3A49E9F51A9D701010101BE0101D4D50000000000000000","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26},{"Nr":7,"Name":"Page 2","View":"A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9F10101010A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E1A1B1C1B1AA412260101848D010101010101850000000000000000A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A39FA5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D01010101010185000000000000000001010101010101010101011D9E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101010B06010101011D9E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101010D0C040101011D9E9FA0A1A2A3A4A52601010101010101010101010000000000000000010101939211108F8E01011D9E9F1D9E9FA0A1A2A3A4A52601010101010101010000000000000000011B1A99989796959401010101011D9E9FA0A1A2A3A4A52601010101010101010000000000000000013130AF2EADAC9CD001010101011D9E9FA0A1A2A3A4A526010101010101010100000000000000000101D6F5F46B6EF4F301D901E9011D9E9FA0A1A2A3A4A5260101E9D901D2010100000000000000000101017B7A79787776D8010101011D9E9FA0A1A2A3A4A526E8E70101010101010000000000000000D2D3017F7E6A6A7D7C0127D09F000FA0A3A49E9F51A9D701010101BE0101D4D50000000000000000","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26},{"Nr":12,"Name":"Page 3","View":"A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9F10101010A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E1A1B1C1B1AA412260101848D010101010101850000000000000000A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A39FA5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D01010101010185000000000000000001010101010101010101011D9E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101010B06010101011D9E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101010D0C040101011D9E9FA0A1A2A3A4A52601010101010101010101010000000000000000010101939211108F8E01011D9E9FA0A1A2A3A4A526010101011D9E9FA0A1A2A30000000000000000011B1A99989796959401011D9E9FA0A1A2A3A4A526010101011D9E9FA0A1A2A30000000000000000013130AF2EADAC9CD001011D9E9FA0A1A2A3A4A526010101011D9E9FA0A1A2A300000000000000000101D6F5F46B6EF4F301D91D9E9FA0A1A2A3A4A52601D501011D9E9FA0A1A2A300000000000000000101017B7A79787776D80101010101010101E8D301010101E81D9E9FA0A1A2A30000000000000000D2D3017F7E6A6A7D7C0127D09F000FA0A3A49E9F51A9D701010101BE0101D4D50000000000000000","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26},{"Nr":13,"Name":"Page 4","View":"A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9F10101010A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E1A1B1C1B1AA412260101848D010101010101850000000000000000A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A39FA5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D01010101010185000000000000000001010101010101010101011D9E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101010B06010101011D9E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101010D0C040101011D9E9FA0A1A2A3A4A52601010101010101010101010000000000000000010101939211108F8E01011D9E9FA0A1A2A3A4A52601010101010101011D9E9F0000000000000000011B1A99989796959401011D9E9FA0A1A2A3A4A52601010101010101011D9E9F0000000000000000013130AF2EADAC9CD001011D9E9FA0A1A2A3A4A52601010101010101011D9E9F00000000000000000101D6F5F46B6EF4F301D91D9E9FA0A1A2A3A4A52601D5010101E9D9011D9E9F00000000000000000101017B7A79787776D8011D9E9FA0A1A2A3A4A526010101E8E70101011D9E9F0000000000000000D2D3017F7E6A6A7D7C0127D09F000FA0A3A49E9F51A9D701010101BE0101D4D50000000000000000","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26},{"Nr":5,"Name":"Page 5 (not used)","View":"A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9F10101010A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E1A1B1C1B1AA412260101848D010101010101850000000000000000A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A39FA5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D01010101010185000000000000000001010101010101010101011D9E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101010B06010101011D9E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101010D0C040101011D9E9FA0A1A2A3A4A52601010101010101010101010000000000000000010101939211108F8E01011D9E9FA0A1A2A3A4A59EF5F6F7F8F9FAFBFC0101010000000000000000011B1A99989796959401011D9E9FA0A1A2A3A4A5A9F3F4D9FDFE0101010101010000000000000000013130AF2EADAC9CD001011D9E9FA0A1A2A3A4A526010101010101010101010100000000000000000101D6F5F46B6EF4F301D91D9E9FA0A1A2A3A4A52601D5010101E9D901D2010100000000000000000101017B7A79787776D8011D9E9FA0A1A2A3A4A526010101E8E70101010101010000000000000000D2D3017F7E6A6A7D7C0127D09F000FA0A3A49E9F51A9D701010101BE0101D4D50000000000000000","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26},{"Nr":6,"Name":"Page 6 (not used)","View":"A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9F10101010A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E1A1B1C1B1AA412260101848D010101010101850000000000000000A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A39FA5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D01010101010185000000000000000001010101010101010101011D9E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101010B06010101011D9E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101010D0C040101011D9E9FA0A1A2A3A4A52601010101010101010101010000000000000000010101939211108F8E01011D9E9F1D9E9FA0A1A2A3A4A59EF5F6F7F8F9FAFBFC0000000000000000011B1A99989796959401010101011D9E9FA0A1A2A3A4A5A9F3F4D9FDFE0101010000000000000000013130AF2EADAC9CD001010101011D9E9FA0A1A2A3A4A526010101010101010100000000000000000101D6F5F46B6EF4F301D901E9011D9E9FA0A1A2A3A4A5260101E9D901D2010100000000000000000101017B7A79787776D8010101011D9E9FA0A1A2A3A4A526E8E70101010101010000000000000000D2D3017F7E6A6A7D7C0127D09F000FA0A3A49E9F51A9D701010101BE0101D4D50000000000000000","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26},{"Nr":8,"Name":"Page 7","View":"A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9F10101010A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E1A1B1C1B1AA412260101848D010101010101850000000000000000A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A39FA5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D01010101010185000000000000000001010101010101010101011D9E9FA0A1A2A3A4A529F3F4D9FDFE010101010101000000000000000001010101010B06010101011D9E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101010D0C040101011D9E9FA0A1A2A3A4A52601010101010101010101010000000000000000010101939211108F8E01011D9E9F1D9E9FA0A1A2A3A4A52601010101010101010000000000000000011B1A99989796959401010101011D9E9FA0A1A2A3A4A52601010101010101010000000000000000013130AF2EADAC9CD001010101011D9E9FA0A1A2A3A4A526010101010101010100000000000000000101D6F5F46B6EF4F301D901E9011D9E9FA0A1A2A3A4A5260101E9D901D2010100000000000000000101017B7A79787776D8010101011D9E9FA0A1A2A3A4A526E8E70101010101010000000000000000D2D3017F7E6A6A7D7C0127D09F000FA0A3A49E9F51A9D701010101BE0101D4D50000000000000000","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26},{"Nr":14,"Name":"Page 8","View":"A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9F10101010A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E1A1B1C1B1AA412260101848D010101010101850000000000000000A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A39FA5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D01010101010185000000000000000001010101010101010101011D9E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101010B06010101011D9E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101010D0C040101011D9E9FA0A1A2A3A4A59EF5F6F7F8F9FAFBFC0101010000000000000000010101939211108F8E01011D9E9FA0A1A2A3A4A5A9F3F4D9FD1D9E9FA0A1A2A30000000000000000011B1A99989796959401011D9E9FA0A1A2A3A4A526010101011D9E9FA0A1A2A30000000000000000013130AF2EADAC9CD001011D9E9FA0A1A2A3A4A526010101011D9E9FA0A1A2A300000000000000000101D6F5F46B6EF4F301D91D9E9FA0A1A2A3A4A52601D501011D9E9FA0A1A2A300000000000000000101017B7A79787776D80101010101010101E8D301010101E81D9E9FA0A1A2A30000000000000000D2D3017F7E6A6A7D7C0127D09F000FA0A3A49E9F51A9D701010101BE0101D4D50000000000000000","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26},{"Nr":17,"Name":"Page 9","View":"A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9F10101010A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E1A1B1C1B1AA412260101848D010101010101850000000000000000A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A39FA5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D01010101010185000000000000000001010101010101010101011D9E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101010B06010101011D9E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101010D0C040101011D9E9FA0A1A2A3A4A52601010101010101010101010000000000000000010101939211108F8E01011D9E9FA0A1A2A3A4A59EF5F6F7F8F9FAFBFC1D9E9F0000000000000000011B1A99989796959401011D9E9FA0A1A2A3A4A5A9F3F4D9FDFE0101011D9E9F0000000000000000013130AF2EADAC9CD001011D9E9FA0A1A2A3A4A52601010101010101011D9E9F00000000000000000101D6F5F46B6EF4F301D91D9E9FA0A1A2A3A4A52601D5010101E9D9011D9E9F00000000000000000101017B7A79787776D8011D9E9FA0A1A2A3A4A526010101E8E70101011D9E9F0000000000000000D2D3017F7E6A6A7D7C0127D09F000FA0A3A49E9F51A9D701010101BE0101D4D50000000000000000","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26},{"Nr":9,"Name":"Page 10 (not used)","View":"A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9F10101010A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E1A1B1C1B1AA412260101848D010101010101850000000000000000A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A39FA5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D01010101010185000000000000000001010101010101010101011D9E9FA0A1A2A3A4A526F3F4D9FDFE010101010101000000000000000001010101010B06010101011D9E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101010D0C040101011D9E9FA0A1A2A3A4A52601010101010101010101010000000000000000010101939211108F8E01011D9E9F1D9E9FA0A1A2A3A4A59EF5F6F7F8F9FAFBFC0000000000000000011B1A99989796959401010101011D9E9FA0A1A2A3A4A5A9F3F4D9FDFE0101010000000000000000013130AF2EADAC9CD001010101011D9E9FA0A1A2A3A4A526010101010101010100000000000000000101D6F5F46B6EF4F301D901E9011D9E9FA0A1A2A3A4A5260101E9D901D2010100000000000000000101017B7A79787776D8010101011D9E9FA0A1A2A3A4A526E8E70101010101010000000000000000D2D3017F7E6A6A7D7C0127D09F000FA0A3A49E9F51A9D701010101BE0101D4D50000000000000000","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26},{"Nr":10,"Name":"Page 11","View":"A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9F10101010A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E1A1B1C1B1AA412260101848D010101010101850000000000000000A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A39FA5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D01010101010185000000000000000001010101010101CACBCCCD289E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101010B06010101011D9E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101010D0C040101011D9E9FA0A1A2A3A4A52601010101010101010101010000000000000000010101939211108F8E01011D9E9F1D9E9FA0A1A2A3A4A52601010101010101010000000000000000011B1A99989796959401010101011D9E9FA0A1A2A3A4A52601010101010101010000000000000000013130AF2EADAC9CD001010101011D9E9FA0A1A2A3A4A526010101010101010100000000000000000101D6F5F46B6EF4F301D901E9011D9E9FA0A1A2A3A4A5260101E9D901D2010100000000000000000101017B7A79787776D8010101011D9E9FA0A1A2A3A4A526E8E70101010101010000000000000000D2D3017F7E6A6A7D7C0127D09F000FA0A3A49E9F51A9D701010101BE0101D4D50000000000000000","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26},{"Nr":15,"Name":"Page 12","View":"A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9F10101010A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E1A1B1C1B1AA412260101848D010101010101850000000000000000A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A39FA5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D01010101010185000000000000000001010101010101010101011D9E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101010B06010101011D9E9FA0A1A2A3A4A52601010101010101010101010000000000000000010101D2D30D0CD5D6D7D8A59E9FA0A1A2A3A4A52601010101010101010101010000000000000000010101939211108F8ECCCD289E9FA0A1A2A3A4A526010101011D9E9FA0A1A2A30000000000000000011B1A99989796959401011D9E9FA0A1A2A3A4A526010101011D9E9FA0A1A2A30000000000000000013130AF2EADAC9CD001011D9E9FA0A1A2A3A4A526010101011D9E9FA0A1A2A300000000000000000101D6F5F46B6EF4F301D91D9E9FA0A1A2A3A4A52601D501011D9E9FA0A1A2A300000000000000000101017B7A79787776D80101010101010101E8D301010101E81D9E9FA0A1A2A30000000000000000D2D3017F7E6A6A7D7C0127D09F000FA0A3A49E9F51A9D701010101BE0101D4D50000000000000000","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26},{"Nr":16,"Name":"Page 13","View":"A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9F10101010A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E1A1B1C1B1AA412260101848D010101010101850000000000000000A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A39FA5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D01010101010185000000000000000001010101010101010101011D9E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101010B06010101011D9E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101010D0C040101011D9E9FA0A1A2A3A4A52601010101010101010101010000000000000000010101939211108F8ED7D8A59E9FA0A1A2A3A4A52601010101010101011D9E9F0000000000000000011B1A999897969594CCCD289E9FA0A1A2A3A4A52601010101010101011D9E9F0000000000000000013130AF2EADAC9CD001011D9E9FA0A1A2A3A4A52601010101010101011D9E9F00000000000000000101D6F5F46B6EF4F301D91D9E9FA0A1A2A3A4A52601D5010101E9D9011D9E9F00000000000000000101017B7A79787776D8011D9E9FA0A1A2A3A4A526010101E8E70101011D9E9F0000000000000000D2D3017F7E6A6A7D7C0127D09F000FA0A3A49E9F51A9D701010101BE0101D4D50000000000000000","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26},{"Nr":11,"Name":"Page 14 (not used)","View":"A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9F10101010A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E1A1B1C1B1AA412260101848D010101010101850000000000000000A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A39FA5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D01010101010185000000000000000001010101010101CACBCCCD289E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101010B06010101011D9E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101010D0C040101011D9E9FA0A1A2A3A4A52601010101010101010101010000000000000000010101939211108F8E01011D9E9F1D9E9FA0A1A2A3A4A59EF5F6F7F8F9FAFBFC0000000000000000011B1A99989796959401010101011D9E9FA0A1A2A3A4A5A9F3F4D9FDFE0101010000000000000000013130AF2EADAC9CD001010101011D9E9FA0A1A2A3A4A526010101010101010100000000000000000101D6F5F46B6EF4F301D901E9011D9E9FA0A1A2A3A4A5260101E9D901D2010100000000000000000101017B7A79787776D8010101011D9E9FA0A1A2A3A4A526E8E70101010101010000000000000000D2D3017F7E6A6A7D7C0127D09F000FA0A3A49E9F51A9D701010101BE0101D4D50000000000000000","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26}],"Tiles":[]} \ No newline at end of file diff --git a/art/phase2r.atrview b/art/phase2r.atrview new file mode 100644 index 0000000..329d8a0 --- /dev/null +++ b/art/phase2r.atrview @@ -0,0 +1 @@ +{"Version":"2023","ColoredGfx":"1","Chars":"A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101858787878787878787A88D010101018E860101019D9E9F10101010A4A5260101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101011D9E1A1B1C1B1AA412260101848D010101010101858787878787878787A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D01010101010185878787878787878701010101010101010101011D9E9FA0A1A2A3A4A529C8C9CACBCC010101010101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A52601010101060B0101010101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A526010101040C0D01010101010000000000000000F8F9FAFBFCFDFEFFA59E9FA0A1A2A3A4A526A4A52601018E8F10119293010101000000000000000001010101F4F5F6F7289E9FA0A1A2A3A4A52601010101019495969798991A1B01000000000000000001010101010101011D9E9FA0A1A2A3A4A5260101010101D09CACAD2EAF30310100000000000000000101D6010101D2E71D9E9FA0A1A2A3A4A52601010101D5F5F46D6CF4F3D20101878787878787878701010101D2D701011D9E9FA0A1A2A3A4A526E8D30101017B7A797877760101018787878787878787D2D3010101010101010127D09F000FA0A3A49E9F51A9D76F706A6A717201D4D58787878787878787","Width":40,"Height":26,"Lines":"0202020202020202020202020202020202010101010101020202","Colors":"CEC800F40CF6161AB4BA","Fontname1":"D:\\my\\retro\\dev\\Pecusx\\Timberman\\Young-lumberjack\\art\\tl_r.fnt","Fontname2":"D:\\my\\retro\\dev\\Pecusx\\Timberman\\Young-lumberjack\\art\\tu.fnt","Fontname3":"Default.fnt","Fontname4":"Default.fnt","Data":"55555555555555550000000000000000000000000F0F000000003C000000000000010101010101012A2A2A2A2A2A2A2A00000000000015555555FFFFFFFFFFFF5454B4B4B4B4B4B4AAAA555594E4E494A4B454540000000000000000000040507F7FFFD560A000F0D0D0F47494A404F500010515141854580454566606060606D0D0A0A08080AAAA7171A9A92929A9A90055552900000000004050541424152568586C5C6C5C695906050115155050D0AAAAAA5555010101A9A5A455555353D0000000555531310129253935395555ED00000000005555AA0000000000505090D090505013131515666A59595A5A6666AAA99AAAAAA66A6EAAA9AAAA9AAEEEEEAAAAAAAEEEEEEEAEAAAAEEEEEEEEEEAEAAAAEAEEEEEEEEAEAAA9AAEAEEEEEEAAAAA9AAAA9AEAEEEEAAAA99A9AA6AA6E665A59999999965655555694040404040A6AA69A99A9A566666A69A99999A6565AAAAA6A6AAAAAAAAAAAAAA9A9A9AAAAA0101010131315555D0905050101015150101010101015555ED99555539352925FFAA555500000000D0905050000000000050541425152925AA9AA9A96A55557F65A59999995555F7010101010101010100000005055454B40000005555CCCC0068586C55655454740101005555000000AA6A6A5555010101AAA9A95555D0D0D0505060400000000029253935393529257F6A555500000000F7A655550000000000AAAAAAAAAAAA80B4645454040405050000000000005555746454546454655500000000CCCC55550101010101555541D0D0D0D0D0D855550080808080808000A66AA9A594504040A99555400000000055500000000000005F1605010000000040D0B464791504005555555555555555000000010924545000000000330C330069596D5C6C5C685800004050D5FFBFAA000000055FFFF6AA0000055FFEAAA955000055FFAAB96A5900055FFAAAA555500157FE995946010055FD9554404040000055FFAA55555050D0D5F6F6A5A504F50000000000000515000000000000505494E4E4555500000001010105050407471F1F7F755868407CF4F4FD5D2529013D000515145854685855556901210505013434A8A8A0A0AAAA1C1C2A2A0A0AAAAA00000040404040404040404040404040545467474444454555556901010101010101000000000000EA6A7A5515000000AAA9A955551D1D1D414101055554000095E5E5555500000368586C5C6C5C685800000020180405010000000000000C001D1D1D1D1D1D55550000330C3300555503000003030055555555555555555555061A19150000000095514000000000006A565501000000009AAA665A16050101557F56150106050140D5BF66955140000055FFAA555500000050F5AFAA5A5505000055FFAAAA5655000050F5BFAA6A9600000050F5FFAF9A0101010557FFFEAAAAA9AAEEBB8EAFEF000000000000000000010101010101000040404040404000BFFEBFFEBFFEBFFEBEFABEFEBAFEBEFAFAEAAAEAFAEAEAAA555555555555555555D5D5D5D5D5D55555F5F5F5F5F5F55555FDFDFDFDFDFD5555FFFFFFFFFFFF550040404040404000A0A0A0A0E0A0A0A03F2F3F2F2B2F3F2FAAAAAAAABECA3AFEAABADDDDDDDD7596AABAF676B6B6FD55AABADD5DB5D6FD55AAFE5DB59DDD7596AAAEBDDDFD5DADA5AAFED5F65DDD7596AABED5F6DDDD7596AAFE5DADB5B6B696AABADD75DDDD7596AABADDDD7D9DB596AAAAB696AAB696AAA89AA9A96A6AA6A44565999999956545666A59595A5A6666AAA99AAAAAA66A6EAAA9AAAA9AAEEEEEAAAAAAAEEEEEEEAEAAAAEEEEEEEEEEAEAAAAEAEEEEEEEEAEAAA9AAEAEEEEEEAAAAA9AAAA9AEAEEEEAAAA99A9AA6AA6E665A59999999965650101010506165A692F3E2F3E2F3E2F3E4040435290946569A6AA69A99A9A5666666AA9D9DAAA66A664665559595A566461AA9A9AA9AA6A62ACAEEAE6AAA96AACE8EAAAAEEEEEEEACE8EEEEEEEEEEEEACE8EAEEEEEEAAAAB8A86AA9E9EAEEEEACE16AAEAEAA9AAAE865A9A79B9A996A6666A69A99999A6565557F56150106050140D5BF66955140000055FFAA555500003F5FF5AFAA5A5525FAEA55FFAAAA5655000050F5BFAA6A9600000050F5FFAF9A0001010557FFFEAA00080E0300000000F6DA99D5FAEAEAAA95514000000000006A565501000000009AAA665A1605010100004050D5FFBFAA000000055FFFF6AABFFEB55FFEAAA955A0A055FFAAB96A5900055FFAAAA555500055FFAA555500000157FE995946010055FD955440404000A66AA9A594504040A995554000000000555EBFFEBFFEBFFE5F96A5A1E0A0A0A040D0B46479150400665A99996A6AA6A665A69A9999E6777F0000000E0B0000000000E080E83C00000000A0FA0B2C3000000000ACF80000000000000008ACF00000002ABFE0380C0000000000002BBEC0A0F00000000000000F0F0F0F0F0F0F0F33FFFFFFFFFFFF00FFFF00FFFF03FFFFFDFDFDFDFDFDFD3DFDFD3DFDFDFDFDFD010101010101010129A9A92A0A0200000F0F4F509AAAAA00FFFFFF00AAAAAA00FDFDFD09AAAAAA0000008080A0A8A8005550000000000101FFFF00FFFFF0FFFF000080E8FC00000000000E0B000000000E0B0200000000000000000000FFFFFF000000000000555F00000000000055F5000003030000555F0000C0C0000055F501000000003DFD3F74745410105F5FFF1707050101D5D5FF4040400000F0FCF02925393539255554000000000000555568586C5C6C5855151414F4D4F45450400000FFFFFF5F5F1F34F457FFFF5555001C1FD5FFFF5555000000FFFFFFF5F5F414141F171F15050140000000007C7FFC1D1D150404F5F5FFD4D05040405757FF01010100000F3F0F0000000000000000001818181800180000666666000000000066FF6666FF6600183E603C067C180000666C18306646001C361C386F663B000018181800000000000E1C18181C0E00007038181838700000663CFF3C6600000018187E1818000000000000001818300000007E00000000000000000018180000060C1830604000003C666E76663C000018381818187E00003C660C18307E00007E0C180C663C00000C1C3C6C7E0C00007E607C06663C00003C607C66663C00007E060C18303000003C663C66663C00003C663E060C380000001818001818000000181800181830060C1830180C060000007E00007E00006030180C18306000003C660C18001800003C666E6E603E0000183C66667E6600007C667C66667C00003C666060663C0000786C66666C7800007E607C60607E00007E607C60606000003E60606E663E000066667E66666600007E181818187E000006060606663C0000666C78786C66000060606060607E000063777F6B6363000066767E7E6E6600003C666666663C00007C66667C606000003C6666666C3600007C66667C6C6600003C603C06063C00007E1818181818000066666666667E0000666666663C18000063636B7F7763000066663C3C6666000066663C18181800007E0C1830607E00001E181818181E0000406030180C0600007818181818780000081C3663000000000000000000FF0000367F7F3E1C08001818181F1F1818180303030303030303181818F8F8000000181818F8F8181818000000F8F818181803070E1C3870E0C0C0E070381C0E07030103070F1F3F7FFF000000000F0F0F0F80C0E0F0F8FCFEFF0F0F0F0F00000000F0F0F0F000000000FFFF000000000000000000000000FFFF00000000F0F0F0F0001C1C7777081C000000001F1F181818000000FFFF000000181818FFFF18181800003C7E7E7E3C0000000000FFFFFFFFC0C0C0C0C0C0C0C0000000FFFF181818181818FFFF000000F0F0F0F0F0F0F0F01818181F1F000000786078607E181E0000183C7E18181800001818187E3C18000018307E3018000000180C7E0C18000000183C7E7E3C180000003C063E663E000060607C66667C0000003C6060603C000006063E66663E0000003C667E603C00000E183E1818180000003E66663E067C0060607C666666000018003818183C00000600060606063C0060606C786C66000038181818183C000000667F7F6B630000007C666666660000003C6666663C0000007C66667C606000003E66663E060600007C666060600000003E603C067C0000187E1818180E000000666666663E0000006666663C18000000636B7F3E36000000663C183C660000006666663E0C7800007E0C18307E0000183C7E7E183C001818181818181818007E787C6E660600081838783818080010181C1E1C1810000000000000000000001818181800180000666666000000000066FF6666FF6600183E603C067C180000666C18306646001C361C386F663B000018181800000000000E1C18181C0E00007038181838700000663CFF3C6600000018187E1818000000000000001818300000007E00000000000000000018180000060C1830604000003C666E76663C000018381818187E00003C660C18307E00007E0C180C663C00000C1C3C6C7E0C00007E607C06663C00003C607C66663C00007E060C18303000003C663C66663C00003C663E060C380000001818001818000000181800181830060C1830180C060000007E00007E00006030180C18306000003C660C18001800003C666E6E603E0000183C66667E6600007C667C66667C00003C666060663C0000786C66666C7800007E607C60607E00007E607C60606000003E60606E663E000066667E66666600007E181818187E000006060606663C0000666C78786C66000060606060607E000063777F6B6363000066767E7E6E6600003C666666663C00007C66667C606000003C6666666C3600007C66667C6C6600003C603C06063C00007E1818181818000066666666667E0000666666663C18000063636B7F7763000066663C3C6666000066663C18181800007E0C1830607E00001E181818181E0000406030180C0600007818181818780000081C3663000000000000000000FF0000367F7F3E1C08001818181F1F1818180303030303030303181818F8F8000000181818F8F8181818000000F8F818181803070E1C3870E0C0C0E070381C0E07030103070F1F3F7FFF000000000F0F0F0F80C0E0F0F8FCFEFF0F0F0F0F00000000F0F0F0F000000000FFFF000000000000000000000000FFFF00000000F0F0F0F0001C1C7777081C000000001F1F181818000000FFFF000000181818FFFF18181800003C7E7E7E3C0000000000FFFFFFFFC0C0C0C0C0C0C0C0000000FFFF181818181818FFFF000000F0F0F0F0F0F0F0F01818181F1F000000786078607E181E0000183C7E18181800001818187E3C18000018307E3018000000180C7E0C18000000183C7E7E3C180000003C063E663E000060607C66667C0000003C6060603C000006063E66663E0000003C667E603C00000E183E1818180000003E66663E067C0060607C666666000018003818183C00000600060606063C0060606C786C66000038181818183C000000667F7F6B630000007C666666660000003C6666663C0000007C66667C606000003E66663E060600007C666060600000003E603C067C0000187E1818180E000000666666663E0000006666663C18000000636B7F3E36000000663C183C660000006666663E0C7800007E0C18307E0000183C7E7E183C001818181818181818007E787C6E660600081838783818080010181C1E1C181000","FortyBytes":"1","Pages":[{"Nr":1,"Name":"Page 1","View":"A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101858787878787878787A88D010101018E860101019D9E9F10101010A4A5260101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101011D9E1A1B1C1B1AA412260101848D010101010101858787878787878787A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D01010101010185878787878787878701010101010101010101011D9E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A52601010101060B0101010101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A526010101040C0D0101010101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A52601018E8F10119293010101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A52601019495969798991A1B01000000000000000001010101010101010101011D9E9FA0A1A2A3A4A5260101D09CACAD2EAF30310100000000000000000101D6010101D2E70101D91D9E9FA0A1A2A3A4A52601D5F5F46D6CF4F3D20101878787878787878701010101D2D7010101D8011D9E9FA0A1A2A3A4A52601017B7A797877760101018787878787878787D2D3010101010101010127D09F000FA0A3A49E9F51A9D76F706A6A717201D4D58787878787878787","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26},{"Nr":9,"Name":"Page 2","View":"A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101858787878787878787A88D010101018E860101019D9E9F10101010A4A5260101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101011D9E1A1B1C1B1AA412260101848D010101010101858787878787878787A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D01010101010185878787878787878701010101010101010101011D9E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A52601010101060B0101010101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A526010101040C0D0101010101000000000000000001010101010101011D9E9FA0A1A2A3A4A526A4A52601018E8F10119293010101000000000000000001010101010101011D9E9FA0A1A2A3A4A52601010101019495969798991A1B01000000000000000001010101010101011D9E9FA0A1A2A3A4A5260101010101D09CACAD2EAF30310100000000000000000101D6010101D2E71D9E9FA0A1A2A3A4A52601010101D5F5F46D6CF4F3D20101878787878787878701010101D2D701011D9E9FA0A1A2A3A4A526E8D30101017B7A797877760101018787878787878787D2D3010101010101010127D09F000FA0A3A49E9F51A9D76F706A6A717201D4D58787878787878787","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26},{"Nr":10,"Name":"Page 3","View":"A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101858787878787878787A88D010101018E860101019D9E9F10101010A4A5260101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101011D9E1A1B1C1B1AA412260101848D010101010101858787878787878787A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D01010101010185878787878787878701010101010101010101011D9E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A52601010101060B0101010101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A526010101040C0D01010101010000000000000000A0A1A2A3A4A526010101011D9E9FA0A1A2A3A4A52601018E8F101192930101010000000000000000A0A1A2A3A4A526010101011D9E9FA0A1A2A3A4A52601019495969798991A1B010000000000000000A0A1A2A3A4A526010101011D9E9FA0A1A2A3A4A5260101D09CACAD2EAF3031010000000000000000A0A1A2A3A4A526E70101D91D9E9FA0A1A2A3A4A52601D5F5F46D6CF4F3D201018787878787878787A0A1A2A3A4A5260101D80101010101010101E8D30101017B7A797877760101018787878787878787D2D3010101010101010127D09F000FA0A3A49E9F51A9D76F706A6A717201D4D58787878787878787","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26},{"Nr":11,"Name":"Page 4","View":"A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101858787878787878787A88D010101018E860101019D9E9F10101010A4A5260101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101011D9E1A1B1C1B1AA412260101848D010101010101858787878787878787A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D01010101010185878787878787878701010101010101010101011D9E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A52601010101060B0101010101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A526010101040C0D01010101010000000000000000A4A52601010101010101011D9E9FA0A1A2A3A4A52601018E8F101192930101010000000000000000A4A52601010101010101011D9E9FA0A1A2A3A4A52601019495969798991A1B010000000000000000A4A52601010101010101011D9E9FA0A1A2A3A4A5260101D09CACAD2EAF3031010000000000000000A4A526010101D2E70101D91D9E9FA0A1A2A3A4A52601D5F5F46D6CF4F3D201018787878787878787A4A52601D2D7010101D8011D9E9FA0A1A2A3A4A52601017B7A797877760101018787878787878787D2D3010101010101010127D09F000FA0A3A49E9F51A9D76F706A6A717201D4D58787878787878787","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26},{"Nr":5,"Name":"Page 5 (not used)","View":"A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101858787878787878787A88D010101018E860101019D9E9F10101010A4A5260101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101011D9E1A1B1C1B1AA412260101848D010101010101858787878787878787A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D01010101010185878787878787878701010101010101010101011D9E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A52601010101060B0101010101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A526010101040C0D01010101010000000000000000010101F8F9FAFBFCFDFEFFA59E9FA0A1A2A3A4A52601018E8F10119293010101000000000000000001010101010101F4F5F6F7289E9FA0A1A2A3A4A52601019495969798991A1B01000000000000000001010101010101010101011D9E9FA0A1A2A3A4A5260101D09CACAD2EAF30310100000000000000000101D6010101D2E70101D91D9E9FA0A1A2A3A4A52601D5F5F46D6CF4F3D20101878787878787878701010101D2D7010101D8011D9E9FA0A1A2A3A4A52601017B7A797877760101018787878787878787D2D3010101010101010127D09F000FA0A3A49E9F51A9D76F706A6A717201D4D58787878787878787","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26},{"Nr":12,"Name":"Page 6 (not used)","View":"A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101858787878787878787A88D010101018E860101019D9E9F10101010A4A5260101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101011D9E1A1B1C1B1AA412260101848D010101010101858787878787878787A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D01010101010185878787878787878701010101010101010101011D9E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A52601010101060B0101010101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A526010101040C0D01010101010000000000000000F8F9FAFBFCFDFEFFA59E9FA0A1A2A3A4A526A4A52601018E8F10119293010101000000000000000001010101F4F5F6F7289E9FA0A1A2A3A4A52601010101019495969798991A1B01000000000000000001010101010101011D9E9FA0A1A2A3A4A5260101010101D09CACAD2EAF30310100000000000000000101D6010101D2E71D9E9FA0A1A2A3A4A52601010101D5F5F46D6CF4F3D20101878787878787878701010101D2D701011D9E9FA0A1A2A3A4A526E8D30101017B7A797877760101018787878787878787D2D3010101010101010127D09F000FA0A3A49E9F51A9D76F706A6A717201D4D58787878787878787","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26},{"Nr":13,"Name":"Page 7","View":"A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101858787878787878787A88D010101018E860101019D9E9F10101010A4A5260101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101011D9E1A1B1C1B1AA412260101848D010101010101858787878787878787A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D01010101010185878787878787878701010101010101F4F5F6F7289E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A52601010101060B0101010101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A526010101040C0D0101010101000000000000000001010101010101011D9E9FA0A1A2A3A4A526A4A52601018E8F10119293010101000000000000000001010101010101011D9E9FA0A1A2A3A4A52601010101019495969798991A1B01000000000000000001010101010101011D9E9FA0A1A2A3A4A5260101010101D09CACAD2EAF30310100000000000000000101D6010101D2E71D9E9FA0A1A2A3A4A52601010101D5F5F46D6CF4F3D20101878787878787878701010101D2D701011D9E9FA0A1A2A3A4A526E8D30101017B7A797877760101018787878787878787D2D3010101010101010127D09F000FA0A3A49E9F51A9D76F706A6A717201D4D58787878787878787","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26},{"Nr":14,"Name":"Page 8","View":"A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101858787878787878787A88D010101018E860101019D9E9F10101010A4A5260101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101011D9E1A1B1C1B1AA412260101848D010101010101858787878787878787A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D01010101010185878787878787878701010101010101010101011D9E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A52601010101060B01010101010000000000000000010101F8F9FAFBFCFDFEFFA59E9FA0A1A2A3A4A526010101040C0D01010101010000000000000000A0A1A2A3A4A526F4F5F6F7289E9FA0A1A2A3A4A52601018E8F101192930101010000000000000000A0A1A2A3A4A526010101011D9E9FA0A1A2A3A4A52601019495969798991A1B010000000000000000A0A1A2A3A4A526010101011D9E9FA0A1A2A3A4A5260101D09CACAD2EAF3031010000000000000000A0A1A2A3A4A526E70101D91D9E9FA0A1A2A3A4A52601D5F5F46D6CF4F3D201018787878787878787A0A1A2A3A4A5260101D80101010101010101E8D30101017B7A797877760101018787878787878787D2D3010101010101010127D09F000FA0A3A49E9F51A9D76F706A6A717201D4D58787878787878787","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26},{"Nr":20,"Name":"Page 9","View":"A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101858787878787878787A88D010101018E860101019D9E9F10101010A4A5260101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101011D9E1A1B1C1B1AA412260101848D010101010101858787878787878787A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D01010101010185878787878787878701010101010101010101011D9E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A52601010101060B0101010101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A526010101040C0D01010101010000000000000000A4A526F8F9FAFBFCFDFEFFA59E9FA0A1A2A3A4A52601018E8F101192930101010000000000000000A4A52601010101F4F5F6F7289E9FA0A1A2A3A4A52601019495969798991A1B010000000000000000A4A52601010101010101011D9E9FA0A1A2A3A4A5260101D09CACAD2EAF3031010000000000000000A4A526010101D2E70101D91D9E9FA0A1A2A3A4A52601D5F5F46D6CF4F3D201018787878787878787A4A52601D2D7010101D8011D9E9FA0A1A2A3A4A52601017B7A797877760101018787878787878787D2D3010101010101010127D09F000FA0A3A49E9F51A9D76F706A6A717201D4D58787878787878787","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26},{"Nr":15,"Name":"Page 10 (not used)","View":"A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101858787878787878787A88D010101018E860101019D9E9F10101010A4A5260101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101011D9E1A1B1C1B1AA412260101848D010101010101858787878787878787A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D01010101010185878787878787878701010101010101F4F5F6F7289E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A52601010101060B0101010101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A526010101040C0D01010101010000000000000000F8F9FAFBFCFDFEFFA59E9FA0A1A2A3A4A526A4A52601018E8F10119293010101000000000000000001010101F4F5F6F7289E9FA0A1A2A3A4A52601010101019495969798991A1B01000000000000000001010101010101011D9E9FA0A1A2A3A4A5260101010101D09CACAD2EAF30310100000000000000000101D6010101D2E71D9E9FA0A1A2A3A4A52601010101D5F5F46D6CF4F3D20101878787878787878701010101D2D701011D9E9FA0A1A2A3A4A526E8D30101017B7A797877760101018787878787878787D2D3010101010101010127D09F000FA0A3A49E9F51A9D76F706A6A717201D4D58787878787878787","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26},{"Nr":16,"Name":"Page 11","View":"A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101858787878787878787A88D010101018E860101019D9E9F10101010A4A5260101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101011D9E1A1B1C1B1AA412260101848D010101010101858787878787878787A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D01010101010185878787878787878701010101010101010101011D9E9FA0A1A2A3A4A529C8C9CACBCC010101010101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A52601010101060B0101010101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A526010101040C0D0101010101000000000000000001010101010101011D9E9FA0A1A2A3A4A526A4A52601018E8F10119293010101000000000000000001010101010101011D9E9FA0A1A2A3A4A52601010101019495969798991A1B01000000000000000001010101010101011D9E9FA0A1A2A3A4A5260101010101D09CACAD2EAF30310100000000000000000101D6010101D2E71D9E9FA0A1A2A3A4A52601010101D5F5F46D6CF4F3D20101878787878787878701010101D2D701011D9E9FA0A1A2A3A4A526E8D30101017B7A797877760101018787878787878787D2D3010101010101010127D09F000FA0A3A49E9F51A9D76F706A6A717201D4D58787878787878787","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26},{"Nr":17,"Name":"Page 12","View":"A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101858787878787878787A88D010101018E860101019D9E9F10101010A4A5260101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101011D9E1A1B1C1B1AA412260101848D010101010101858787878787878787A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D01010101010185878787878787878701010101010101010101011D9E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A52601010101060B0101010101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A59ED1D2D3D40C59D6D70101010000000000000000A0A1A2A3A4A526010101011D9E9FA0A1A2A3A4A529C8C98E8F101192930101010000000000000000A0A1A2A3A4A526010101011D9E9FA0A1A2A3A4A52601019495969798991A1B010000000000000000A0A1A2A3A4A526010101011D9E9FA0A1A2A3A4A5260101D09CACAD2EAF3031010000000000000000A0A1A2A3A4A526E70101D91D9E9FA0A1A2A3A4A52601D5F5F46D6CF4F3D201018787878787878787A0A1A2A3A4A5260101D80101010101010101E8D30101017B7A797877760101018787878787878787D2D3010101010101010127D09F000FA0A3A49E9F51A9D76F706A6A717201D4D58787878787878787","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26},{"Nr":18,"Name":"Page 13","View":"A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101858787878787878787A88D010101018E860101019D9E9F10101010A4A5260101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101011D9E1A1B1C1B1AA412260101848D010101010101858787878787878787A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D01010101010185878787878787878701010101010101010101011D9E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A52601010101060B0101010101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A526010101040C0D01010101010000000000000000A4A52601010101010101011D9E9FA0A1A2A3A4A59ED1D28E8F101192930101010000000000000000A4A52601010101010101011D9E9FA0A1A2A3A4A529C8C99495969798991A1B010000000000000000A4A52601010101010101011D9E9FA0A1A2A3A4A5260101D09CACAD2EAF3031010000000000000000A4A526010101D2E70101D91D9E9FA0A1A2A3A4A52601D5F5F46D6CF4F3D201018787878787878787A4A52601D2D7010101D8011D9E9FA0A1A2A3A4A52601017B7A797877760101018787878787878787D2D3010101010101010127D09F000FA0A3A49E9F51A9D76F706A6A717201D4D58787878787878787","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26},{"Nr":19,"Name":"Page 14 (not used)","View":"A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101858787878787878787A88D010101018E860101019D9E9F10101010A4A5260101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101011D9E1A1B1C1B1AA412260101848D010101010101858787878787878787A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101858787878787878787A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D01010101010185878787878787878701010101010101010101011D9E9FA0A1A2A3A4A529C8C9CACBCC010101010101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A52601010101060B0101010101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A526010101040C0D01010101010000000000000000F8F9FAFBFCFDFEFFA59E9FA0A1A2A3A4A526A4A52601018E8F10119293010101000000000000000001010101F4F5F6F7289E9FA0A1A2A3A4A52601010101019495969798991A1B01000000000000000001010101010101011D9E9FA0A1A2A3A4A5260101010101D09CACAD2EAF30310100000000000000000101D6010101D2E71D9E9FA0A1A2A3A4A52601010101D5F5F46D6CF4F3D20101878787878787878701010101D2D701011D9E9FA0A1A2A3A4A526E8D30101017B7A797877760101018787878787878787D2D3010101010101010127D09F000FA0A3A49E9F51A9D76F706A6A717201D4D58787878787878787","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26}],"Tiles":[]} \ No newline at end of file diff --git a/art/phase3l.atrview b/art/phase3l.atrview new file mode 100644 index 0000000..9b8b045 --- /dev/null +++ b/art/phase3l.atrview @@ -0,0 +1 @@ +{"Version":"2023","ColoredGfx":"1","Chars":"A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9F10101010A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E1A1B1C1B1AA412260101848D010101010101850000000000000000A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A39FA5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D01010101010185000000000000000001010101010101010101011D9E9FA0A1A2A3A4A52601010101010101010101010000000000000000010101D2D3D1C8D5D6D7D8A59E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101015F5ECACBCCCD289E9FA0A1A2A3A4A52601010101010101010101010000000000000000010101B2A7636267E001011D9E9FA0A1A2A3A4A5261D9E9FA0A1A2A3A4A59EF50000000000000000010101BDBC3BBAB9B8B7B61D9E9FA0A1A2A3A4A5261D9E9FA0A1A2A3A4A5A9F30000000000000000010101BDCE4645C4C342C11D9E9FA0A1A2A3A4A5261D9E9FA0A1A2A3A4A5260100000000000000000101D6F5F46B6EF4F301D901E901010101010101011D9E9FA0A1A2A3A4A5260100000000000000000101017B7A79787776D80101010101010101E8D3011D9E9FA0A1A2A3A4A526010000000000000000D2D3017F7E6A6A7D7C0127D09F000FA0A3A49E9F51A9D701010101BE0101D4D50000000000000000","Width":40,"Height":26,"Lines":"0202020202020202020202020202020202010101010101020202","Colors":"CEC800F40CF6161AB4BA","Fontname1":"D:\\my\\retro\\dev\\Pecusx\\Timberman\\Young-lumberjack\\art\\tl_l.fnt","Fontname2":"D:\\my\\retro\\dev\\Pecusx\\Timberman\\Young-lumberjack\\art\\tu.fnt","Fontname3":"Default.fnt","Fontname4":"Default.fnt","Data":"55555555555555550000000000000000000000000F0F000000003C00000000000040404040404040000000000200000000000000000054555555FFFFFFFFFFFF15151E1E1E1E1E1E1A1E151500000000AAAA5555161B1B160000000000000105FDFDFF57090A000F07071F1D161A105F0040505414241525101595999090909007070A0A0202AAAA4D4D6A6A68686A6A0055556800000000000105151418545829253935393569659050405454050507AAAAAA55554040406A5A1A5555C5C50700000055554C4C4068586C5C6C55557B00000000005555AA000000000005050607060505C4C45454666A59595A5A6666AAA99AAAAAA66A6EAAA9AAAA9AAEEEEEAAAAAAAEEEEEEEAEAAAAEEEEEEEEEEAEAAAAEAEEEEEEEEAEAAA9AAEAEEEEEEAAAAA9AAAA9AEAEEEEAAAA99A9AA6AA6E665A59999999965655555690101010101A6AA69A99A9A566666A69A99999A6565AAAAA6A6AAAAAAAAAAAAAA9A9A9AAAAA404040404C4C5555070605050404545440404040404055557B6655556C5C6858FFAA55550000000007060505000000000005151458546858AAA99AAAAA5555FD666A59595A5555DF4040404040404040000000505015151E0000005555333300292539555915151D4040005555000000AAA9A95555404040AA6A6A5555070707050509010000000068586C5C6C5C6858FDA9555500000000DF9A55550000000000AAAAAAAAAAAA801E1915151010505000000000000055551D1915151915595500000000333355554040404040555541070707070727555500808080808080000050F5AFAA5A55550100000000000000061A19150000000095514000000000006A565501000000009AAA665A160501010000004060181505000000CC30CC000069657935393529250055FFAA55550505557F56150106050140D5BF66955140000050F5AFAA5A5505000055FFAAAA5655000050F5BFAA6A9600000050F5FFAF9A0001010557FFFEAA555000000000000000000000000050540000000000000515161B1B5555000000404040505010D0D1F4F4FD5D2529013D1F1F7F755868407C005054142515292555556940485050401C1C2A2A0A0AAAAA3434A8A8A0A0AAAA000000010101010101010101010101011515D9D11111515155556940404040404040000000000000ABA9AD5554000000AA6A6A55557474744141405055150000565B5B55550000C0292539353935292500000008241050400000000000000C0074747474747455550C00000000C00000C00000C0C0005555A66AA9A594504040A99555400000000000004050D5FFBFAA000000055FFFF6AA0000055FFEAAA955000055FFAAB96A5900055FFAAAA555500055FFAA555500000157FE995946010055FD9554404040005F1605010000000040D0B464791504005555555555555555AAA9AAEEBB8EAFEF000000000000000000010101010101000040404040404000BFFEBFFEBFFEBFFEBEFABEFEBAFEBEFAFAEAAAEAFAEAEAAA555555555555555555D5D5D5D5D5D55555F5F5F5F5F5F55555FDFDFDFDFDFD5555FFFFFFFFFFFF550040404040404000A0A0A0A0E0A0A0A03F2F3F2F2B2F3F2FAAAAAAAABECA3AFEAABADDDDDDDD7596AABAF676B6B6FD55AABADD5DB5D6FD55AAFE5DB59DDD7596AAAEBDDDFD5DADA5AAFED5F65DDD7596AABED5F6DDDD7596AAFE5DADB5B6B696AABADD75DDDD7596AABADDDD7D9DB596AAAAB696AAB696AAA89AA9A96A6AA6A44565999999956545666A59595A5A6666AAA99AAAAAA66A6EAAA9AAAA9AAEEEEEAAAAAAAEEEEEEEAEAAAAEEEEEEEEEEAEAAAAEAEEEEEEEEAEAAA9AAEAEEEEEEAAAAA9AAAA9AEAEEEEAAAA99A9AA6AA6E665A59999999965650101010506165A692F3E2F3E2F3E2F3E4040435290946569A6AA69A99A9A5666666AA9D9DAAA66A664665559595A566461AA9A9AA9AA6A62ACAEEAE6AAA96AACE8EAAAAEEEEEEEACE8EEEEEEEEEEEEACE8EAEEEEEEAAAAB8A86AA9E9EAEEEEACE16AAEAEAA9AAAE865A9A79B9A996A6666A69A99999A6565557F56150106050140D5BF66955140000055FFAA555500003F5FF5AFAA5A5525FAEA55FFAAAA5655000050F5BFAA6A9600000050F5FFAF9A0001010557FFFEAA00080E0300000000F6DA99D5FAEAEAAA95514000000000006A565501000000009AAA665A1605010100004050D5FFBFAA000000055FFFF6AABFFEB55FFEAAA955A0A055FFAAB96A5900055FFAAAA555500055FFAA555500000157FE995946010055FD955440404000A66AA9A594504040A995554000000000555EBFFEBFFEBFFE5F96A5A1E0A0A0A040D0B46479150400665A99996A6AA6A665A69A9999E6777F0000000E0B0000000000E080E83C00000000A0FA0B2C3000000000ACF80000000000000008ACF00000002ABFE0380C0000000000002BBEC0A0F00000000000000F0F0F0F0F0F0F0F33FFFFFFFFFFFF00FFFF00FFFF03FFFFFDFDFDFDFDFDFD3DFDFD3DFDFDFDFDFD010101010101010129A9A92A0A0200000F0F4F509AAAAA00FFFFFF00AAAAAA00FDFDFD09AAAAAA0000008080A0A8A8005550000000000101FFFF00FFFFF0FFFF000080E8FC00000000000E0B000000000E0B0200000000000000000000FFFFFF000000000000555F00000000000055F5000003030000555F0000C0C0000055F501000000003DFD3F74745410105F5FFF1707050101D5D5FF4040400000F0FCF02925393539255554000000000000555568586C5C6C5855151414F4D4F45450400000FFFFFF5F5F1F34F457FFFF5555001C1FD5FFFF5555000000FFFFFFF5F5F414141F171F15050140000000007C7FFC1D1D150404F5F5FFD4D05040405757FF01010100000F3F0F0000000000000000001818181800180000666666000000000066FF6666FF6600183E603C067C180000666C18306646001C361C386F663B000018181800000000000E1C18181C0E00007038181838700000663CFF3C6600000018187E1818000000000000001818300000007E00000000000000000018180000060C1830604000003C666E76663C000018381818187E00003C660C18307E00007E0C180C663C00000C1C3C6C7E0C00007E607C06663C00003C607C66663C00007E060C18303000003C663C66663C00003C663E060C380000001818001818000000181800181830060C1830180C060000007E00007E00006030180C18306000003C660C18001800003C666E6E603E0000183C66667E6600007C667C66667C00003C666060663C0000786C66666C7800007E607C60607E00007E607C60606000003E60606E663E000066667E66666600007E181818187E000006060606663C0000666C78786C66000060606060607E000063777F6B6363000066767E7E6E6600003C666666663C00007C66667C606000003C6666666C3600007C66667C6C6600003C603C06063C00007E1818181818000066666666667E0000666666663C18000063636B7F7763000066663C3C6666000066663C18181800007E0C1830607E00001E181818181E0000406030180C0600007818181818780000081C3663000000000000000000FF0000367F7F3E1C08001818181F1F1818180303030303030303181818F8F8000000181818F8F8181818000000F8F818181803070E1C3870E0C0C0E070381C0E07030103070F1F3F7FFF000000000F0F0F0F80C0E0F0F8FCFEFF0F0F0F0F00000000F0F0F0F000000000FFFF000000000000000000000000FFFF00000000F0F0F0F0001C1C7777081C000000001F1F181818000000FFFF000000181818FFFF18181800003C7E7E7E3C0000000000FFFFFFFFC0C0C0C0C0C0C0C0000000FFFF181818181818FFFF000000F0F0F0F0F0F0F0F01818181F1F000000786078607E181E0000183C7E18181800001818187E3C18000018307E3018000000180C7E0C18000000183C7E7E3C180000003C063E663E000060607C66667C0000003C6060603C000006063E66663E0000003C667E603C00000E183E1818180000003E66663E067C0060607C666666000018003818183C00000600060606063C0060606C786C66000038181818183C000000667F7F6B630000007C666666660000003C6666663C0000007C66667C606000003E66663E060600007C666060600000003E603C067C0000187E1818180E000000666666663E0000006666663C18000000636B7F3E36000000663C183C660000006666663E0C7800007E0C18307E0000183C7E7E183C001818181818181818007E787C6E660600081838783818080010181C1E1C1810000000000000000000001818181800180000666666000000000066FF6666FF6600183E603C067C180000666C18306646001C361C386F663B000018181800000000000E1C18181C0E00007038181838700000663CFF3C6600000018187E1818000000000000001818300000007E00000000000000000018180000060C1830604000003C666E76663C000018381818187E00003C660C18307E00007E0C180C663C00000C1C3C6C7E0C00007E607C06663C00003C607C66663C00007E060C18303000003C663C66663C00003C663E060C380000001818001818000000181800181830060C1830180C060000007E00007E00006030180C18306000003C660C18001800003C666E6E603E0000183C66667E6600007C667C66667C00003C666060663C0000786C66666C7800007E607C60607E00007E607C60606000003E60606E663E000066667E66666600007E181818187E000006060606663C0000666C78786C66000060606060607E000063777F6B6363000066767E7E6E6600003C666666663C00007C66667C606000003C6666666C3600007C66667C6C6600003C603C06063C00007E1818181818000066666666667E0000666666663C18000063636B7F7763000066663C3C6666000066663C18181800007E0C1830607E00001E181818181E0000406030180C0600007818181818780000081C3663000000000000000000FF0000367F7F3E1C08001818181F1F1818180303030303030303181818F8F8000000181818F8F8181818000000F8F818181803070E1C3870E0C0C0E070381C0E07030103070F1F3F7FFF000000000F0F0F0F80C0E0F0F8FCFEFF0F0F0F0F00000000F0F0F0F000000000FFFF000000000000000000000000FFFF00000000F0F0F0F0001C1C7777081C000000001F1F181818000000FFFF000000181818FFFF18181800003C7E7E7E3C0000000000FFFFFFFFC0C0C0C0C0C0C0C0000000FFFF181818181818FFFF000000F0F0F0F0F0F0F0F01818181F1F000000786078607E181E0000183C7E18181800001818187E3C18000018307E3018000000180C7E0C18000000183C7E7E3C180000003C063E663E000060607C66667C0000003C6060603C000006063E66663E0000003C667E603C00000E183E1818180000003E66663E067C0060607C666666000018003818183C00000600060606063C0060606C786C66000038181818183C000000667F7F6B630000007C666666660000003C6666663C0000007C66667C606000003E66663E060600007C666060600000003E603C067C0000187E1818180E000000666666663E0000006666663C18000000636B7F3E36000000663C183C660000006666663E0C7800007E0C18307E0000183C7E7E183C001818181818181818007E787C6E660600081838783818080010181C1E1C181000","FortyBytes":"1","Pages":[{"Nr":1,"Name":"Page 1","View":"A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9F10101010A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E1A1B1C1B1AA412260101848D010101010101850000000000000000A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A39FA5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D01010101010185000000000000000001010101010101010101011D9E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101015B5A010101011D9E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101015F5E010101011D9E9FA0A1A2A3A4A52601010101010101010101010000000000000000010101B2A7636267E001011D9E9FA0A1A21D9E9FA0A1A2A3A4A52601010101010000000000000000010101BDBC3BBAB9B8B7B6B4B39FA0A1A21D9E9FA0A1A2A3A4A52601010101010000000000000000010101BDCE4645C4C342C1BFBE010101011D9E9FA0A1A2A3A4A526010101010100000000000000000101D6F5F46B6EF4F301D901E9010101011D9E9FA0A1A2A3A4A526D901D2010100000000000000000101017B7A79787776D8010101010101011D9E9FA0A1A2A3A4A52601010101010000000000000000D2D3017F7E6A6A7D7C0127D09F000FA0A3A49E9F51A9D701010101BE0101D4D50000000000000000","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26},{"Nr":19,"Name":"Page 2","View":"A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9F10101010A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E1A1B1C1B1AA412260101848D010101010101850000000000000000A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A39FA5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D01010101010185000000000000000001010101010101010101011D9E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101015B5A010101011D9E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101015F5E010101011D9E9FA0A1A2A3A4A52601010101010101010101010000000000000000010101B2A7636267E001011D9E9FA0A1A2A3A4A5261D9E9FA0A1A2A3A4A526010000000000000000010101BDBC3BBAB9B8B7B61D9E9FA0A1A2A3A4A5261D9E9FA0A1A2A3A4A526010000000000000000010101BDCE4645C4C342C11D9E9FA0A1A2A3A4A5261D9E9FA0A1A2A3A4A5260100000000000000000101D6F5F46B6EF4F301D901E901010101010101011D9E9FA0A1A2A3A4A5260100000000000000000101017B7A79787776D80101010101010101E8D3011D9E9FA0A1A2A3A4A526010000000000000000D2D3017F7E6A6A7D7C0127D09F000FA0A3A49E9F51A9D701010101BE0101D4D50000000000000000","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26},{"Nr":6,"Name":"Page 3 (not used)","View":"A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9F10101010A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E1A1B1C1B1AA412260101848D010101010101850000000000000000A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A39FA5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D01010101010185000000000000000001010101010101010101011D9E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101015B5A010101011D9E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101015F5E010101011D9E9FA0A1A2A3A4A52601010101010101010101010000000000000000010101B2A7636267E001011D9E9FA0A1A21D9E9FA0A1A2A3A4A59EF5F6F7F8F90000000000000000010101BDBC3BBAB9B8B7B6B4B39FA0A1A21D9E9FA0A1A2A3A4A5A9F3F4D9FDFE0000000000000000010101BDCE4645C4C342C1BFBE010101011D9E9FA0A1A2A3A4A526010101010100000000000000000101D6F5F46B6EF4F301D901E9010101011D9E9FA0A1A2A3A4A526D901D2010100000000000000000101017B7A79787776D8010101010101011D9E9FA0A1A2A3A4A52601010101010000000000000000D2D3017F7E6A6A7D7C0127D09F000FA0A3A49E9F51A9D701010101BE0101D4D50000000000000000","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26},{"Nr":20,"Name":"Page 4 (not used)","View":"A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9F10101010A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E1A1B1C1B1AA412260101848D010101010101850000000000000000A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A39FA5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D01010101010185000000000000000001010101010101010101011D9E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101015B5A010101011D9E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101015F5E010101011D9E9FA0A1A2A3A4A52601010101010101010101010000000000000000010101B2A7636267E001011D9E9FA0A1A2A3A4A5261D9E9FA0A1A2A3A4A59EF50000000000000000010101BDBC3BBAB9B8B7B61D9E9FA0A1A2A3A4A5261D9E9FA0A1A2A3A4A5A9F30000000000000000010101BDCE4645C4C342C11D9E9FA0A1A2A3A4A5261D9E9FA0A1A2A3A4A5260100000000000000000101D6F5F46B6EF4F301D901E901010101010101011D9E9FA0A1A2A3A4A5260100000000000000000101017B7A79787776D80101010101010101E8D3011D9E9FA0A1A2A3A4A526010000000000000000D2D3017F7E6A6A7D7C0127D09F000FA0A3A49E9F51A9D701010101BE0101D4D50000000000000000","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26},{"Nr":15,"Name":"Page 5","View":"A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9F10101010A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E1A1B1C1B1AA412260101848D010101010101850000000000000000A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A39FA5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D01010101010185000000000000000001010101010101010101011D9E9FA0A1A2A3A4A59EF5F6F7F8F9FAFBFC010101000000000000000001010101015B5A010101011D9E9FA0A1A2A3A4A529F3F4D9FDFE010101010101000000000000000001010101015F5E010101011D9E9FA0A1A2A3A4A52601010101010101010101010000000000000000010101B2A7636267E001011D9E9FA0A1A21D9E9FA0A1A2A3A4A52601010101010000000000000000010101BDBC3BBAB9B8B7B6B4B39FA0A1A21D9E9FA0A1A2A3A4A52601010101010000000000000000010101BDCE4645C4C342C1BFBE010101011D9E9FA0A1A2A3A4A526010101010100000000000000000101D6F5F46B6EF4F301D901E9010101011D9E9FA0A1A2A3A4A526D901D2010100000000000000000101017B7A79787776D8010101010101011D9E9FA0A1A2A3A4A52601010101010000000000000000D2D3017F7E6A6A7D7C0127D09F000FA0A3A49E9F51A9D701010101BE0101D4D50000000000000000","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26},{"Nr":21,"Name":"Page 6","View":"A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9F10101010A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E1A1B1C1B1AA412260101848D010101010101850000000000000000A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A39FA5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D01010101010185000000000000000001010101010101010101011D9E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101015B5A010101011D9E9FA0A1A2A3A4A59EF5F6F7F8F9FAFBFC010101000000000000000001010101015F5E010101011D9E9FA0A1A2A3A4A5A9F3F4D9FDFE0101010101010000000000000000010101B2A7636267E001011D9E9FA0A1A2A3A4A5261D9E9FA0A1A2A3A4A526010000000000000000010101BDBC3BBAB9B8B7B61D9E9FA0A1A2A3A4A5261D9E9FA0A1A2A3A4A526010000000000000000010101BDCE4645C4C342C11D9E9FA0A1A2A3A4A5261D9E9FA0A1A2A3A4A5260100000000000000000101D6F5F46B6EF4F301D901E901010101010101011D9E9FA0A1A2A3A4A5260100000000000000000101017B7A79787776D80101010101010101E8D3011D9E9FA0A1A2A3A4A526010000000000000000D2D3017F7E6A6A7D7C0127D09F000FA0A3A49E9F51A9D701010101BE0101D4D50000000000000000","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26},{"Nr":16,"Name":"Page 7 (not used)","View":"A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9F10101010A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E1A1B1C1B1AA412260101848D010101010101850000000000000000A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A39FA5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D01010101010185000000000000000001010101010101010101011D9E9FA0A1A2A3A4A59EF5F6F7F8F9FAFBFC010101000000000000000001010101015B5A010101011D9E9FA0A1A2A3A4A529F3F4D9FDFE010101010101000000000000000001010101015F5E010101011D9E9FA0A1A2A3A4A52601010101010101010101010000000000000000010101B2A7636267E001011D9E9FA0A1A21D9E9FA0A1A2A3A4A59EF5F6F7F8F90000000000000000010101BDBC3BBAB9B8B7B6B4B39FA0A1A21D9E9FA0A1A2A3A4A5A9F3F4D9FDFE0000000000000000010101BDCE4645C4C342C1BFBE010101011D9E9FA0A1A2A3A4A526010101010100000000000000000101D6F5F46B6EF4F301D901E9010101011D9E9FA0A1A2A3A4A526D901D2010100000000000000000101017B7A79787776D8010101010101011D9E9FA0A1A2A3A4A52601010101010000000000000000D2D3017F7E6A6A7D7C0127D09F000FA0A3A49E9F51A9D701010101BE0101D4D50000000000000000","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26},{"Nr":22,"Name":"Page 8 (not used)","View":"A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9F10101010A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E1A1B1C1B1AA412260101848D010101010101850000000000000000A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A39FA5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D01010101010185000000000000000001010101010101010101011D9E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101015B5A010101011D9E9FA0A1A2A3A4A59EF5F6F7F8F9FAFBFC010101000000000000000001010101015F5E010101011D9E9FA0A1A2A3A4A529F3F4D9FDFE0101010101010000000000000000010101B2A7636267E001011D9E9FA0A1A2A3A4A5261D9E9FA0A1A2A3A4A59EF50000000000000000010101BDBC3BBAB9B8B7B61D9E9FA0A1A2A3A4A5261D9E9FA0A1A2A3A4A529F30000000000000000010101BDCE4645C4C342C11D9E9FA0A1A2A3A4A5261D9E9FA0A1A2A3A4A5260100000000000000000101D6F5F46B6EF4F301D901E901010101010101011D9E9FA0A1A2A3A4A5260100000000000000000101017B7A79787776D80101010101010101E8D3011D9E9FA0A1A2A3A4A526010000000000000000D2D3017F7E6A6A7D7C0127D09F000FA0A3A49E9F51A9D701010101BE0101D4D50000000000000000","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26},{"Nr":17,"Name":"Page 9","View":"A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9F10101010A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E1A1B1C1B1AA412260101848D010101010101850000000000000000A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A39FA5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000010101D2D3D1C8D5D6D7D8A59E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101015B5ACACBCCCD289E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101015F5E010101011D9E9FA0A1A2A3A4A52601010101010101010101010000000000000000010101B2A7636267E001011D9E9FA0A1A21D9E9FA0A1A2A3A4A52601010101010000000000000000010101BDBC3BBAB9B8B7B6B4B39FA0A1A21D9E9FA0A1A2A3A4A52601010101010000000000000000010101BDCE4645C4C342C1BFBE010101011D9E9FA0A1A2A3A4A526010101010100000000000000000101D6F5F46B6EF4F301D901E9010101011D9E9FA0A1A2A3A4A526D901D2010100000000000000000101017B7A79787776D8010101010101011D9E9FA0A1A2A3A4A52601010101010000000000000000D2D3017F7E6A6A7D7C0127D09F000FA0A3A49E9F51A9D701010101BE0101D4D50000000000000000","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26},{"Nr":23,"Name":"Page 10","View":"A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9F10101010A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E1A1B1C1B1AA412260101848D010101010101850000000000000000A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A39FA5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D01010101010185000000000000000001010101010101010101011D9E9FA0A1A2A3A4A52601010101010101010101010000000000000000010101D2D3D1C8D5D6D7D8A59E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101015F5ECACBCCCD289E9FA0A1A2A3A4A52601010101010101010101010000000000000000010101B2A7636267E001011D9E9FA0A1A2A3A4A5261D9E9FA0A1A2A3A4A526010000000000000000010101BDBC3BBAB9B8B7B61D9E9FA0A1A2A3A4A5261D9E9FA0A1A2A3A4A526010000000000000000010101BDCE4645C4C342C11D9E9FA0A1A2A3A4A5261D9E9FA0A1A2A3A4A5260100000000000000000101D6F5F46B6EF4F301D901E901010101010101011D9E9FA0A1A2A3A4A5260100000000000000000101017B7A79787776D80101010101010101E8D3011D9E9FA0A1A2A3A4A526010000000000000000D2D3017F7E6A6A7D7C0127D09F000FA0A3A49E9F51A9D701010101BE0101D4D50000000000000000","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26},{"Nr":18,"Name":"Page 11 (not used)","View":"A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9F10101010A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E1A1B1C1B1AA412260101848D010101010101850000000000000000A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A39FA5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000010101D2D3D1C8D5D6D7D8A59E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101015B5ACACBCCCD289E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101015F5E010101011D9E9FA0A1A2A3A4A52601010101010101010101010000000000000000010101B2A7636267E001011D9E9FA0A1A21D9E9FA0A1A2A3A4A59EF5F6F7F8F90000000000000000010101BDBC3BBAB9B8B7B6B4B39FA0A1A21D9E9FA0A1A2A3A4A5A9F3F4D9FDFE0000000000000000010101BDCE4645C4C342C1BFBE010101011D9E9FA0A1A2A3A4A526010101010100000000000000000101D6F5F46B6EF4F301D901E9010101011D9E9FA0A1A2A3A4A526D901D2010100000000000000000101017B7A79787776D8010101010101011D9E9FA0A1A2A3A4A52601010101010000000000000000D2D3017F7E6A6A7D7C0127D09F000FA0A3A49E9F51A9D701010101BE0101D4D50000000000000000","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26},{"Nr":24,"Name":"Page 12 (not used)","View":"A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9F10101010A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E1A1B1C1B1AA412260101848D010101010101850000000000000000A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A39FA5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D01010101010185000000000000000001010101010101010101011D9E9FA0A1A2A3A4A52601010101010101010101010000000000000000010101D2D3D1C8D5D6D7D8A59E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101015F5ECACBCCCD289E9FA0A1A2A3A4A52601010101010101010101010000000000000000010101B2A7636267E001011D9E9FA0A1A2A3A4A5261D9E9FA0A1A2A3A4A59EF50000000000000000010101BDBC3BBAB9B8B7B61D9E9FA0A1A2A3A4A5261D9E9FA0A1A2A3A4A5A9F30000000000000000010101BDCE4645C4C342C11D9E9FA0A1A2A3A4A5261D9E9FA0A1A2A3A4A5260100000000000000000101D6F5F46B6EF4F301D901E901010101010101011D9E9FA0A1A2A3A4A5260100000000000000000101017B7A79787776D80101010101010101E8D3011D9E9FA0A1A2A3A4A526010000000000000000D2D3017F7E6A6A7D7C0127D09F000FA0A3A49E9F51A9D701010101BE0101D4D50000000000000000","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26}],"Tiles":[]} \ No newline at end of file diff --git a/art/phase3r.atrview b/art/phase3r.atrview new file mode 100644 index 0000000..e393964 --- /dev/null +++ b/art/phase3r.atrview @@ -0,0 +1 @@ +{"Version":"2023","ColoredGfx":"1","Chars":"A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101019D9E9F10101010A4A5260101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101011D9E1A1B1C1B1AA412260101848D010101010101850000000000000000A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D01010101010185000000000000000001010101010101010101011D9E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A526010101015A5B0101010101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A526010101015E5F0101010101000000000000000001010101011D9E9FA0A1A2A3A4A526A1A2A3A4A5260101E0676263A7B2010101000000000000000001010101011D9E9FA0A1A2A3A4A526A1A2A3A4B3B4B6B7B8B9BA3BBCBD010101000000000000000001010101011D9E9FA0A1A2A3A4A52601010101BEBFC142C3C44546CEBD01010100000000000000000101D601011D9E9FA0A1A2A3A4A52601010101010101D5F5F46D6CF4F3D20101000000000000000001010101D21D9E9FA0A1A2A3A4A526010101E8D30101017B7A797877760101010000000000000000D2D3010101010101010127D09F000FA0A3A49E9F51A9D76F706A6A717201D4D50000000000000000","Width":40,"Height":26,"Lines":"0202020202020202020202020202020202010101010101020202","Colors":"CEC800F40CF6161AB4BA","Fontname1":"D:\\my\\retro\\dev\\Pecusx\\Timberman\\Young-lumberjack\\art\\tl_r.fnt","Fontname2":"D:\\my\\retro\\dev\\Pecusx\\Timberman\\Young-lumberjack\\art\\tu.fnt","Fontname3":"Default.fnt","Fontname4":"Default.fnt","Data":"55555555555555550000000000000000000000000F0F000000003C000000000000010101010101012A2A2A2A2A2A2A2A00000000000015555555FFFFFFFFFFFF5454B4B4B4B4B4B4AAAA555594E4E494A4B454540000000000000000000040507F7FFFD560A000F0D0D0F47494A404F500010515141854580454566606060606D0D0A0A08080AAAA7171A9A92929A9A90055552900000000004050541424152568586C5C6C5C695906050115155050D0AAAAAA5555010101A9A5A455555353D0000000555531310129253935395555ED00000000005555AA0000000000505090D090505013131515666A59595A5A6666AAA99AAAAAA66A6EAAA9AAAA9AAEEEEEAAAAAAAEEEEEEEAEAAAAEEEEEEEEEEAEAAAAEAEEEEEEEEAEAAA9AAEAEEEEEEAAAAA9AAAA9AEAEEEEAAAA99A9AA6AA6E665A59999999965655555694040404040A6AA69A99A9A566666A69A99999A6565AAAAA6A6AAAAAAAAAAAAAA9A9A9AAAAA0101010131315555D0905050101015150101010101015555ED99555539352925FFAA555500000000D0905050000000000050541425152925AA9AA9A96A55557F65A59999995555F7010101010101010100000005055454B40000005555CCCC0068586C55655454740101005555000000AA6A6A5555010101AAA9A95555D0D0D0505060400000000029253935393529257F6A555500000000F7A655550000000000AAAAAAAAAAAA80B4645454040405050000000000005555746454546454655500000000CCCC55550101010101555541D0D0D0D0D0D855550080808080808000A66AA9A594504040A99555400000000055500000000000005F1605010000000040D0B464791504005555555555555555000000010924545000000000330C330069596D5C6C5C685800004050D5FFBFAA000000055FFFF6AA0000055FFEAAA955000055FFAAB96A5900055FFAAAA555500157FE995946010055FD9554404040000055FFAA55555050D0D5F6F6A5A504F50000000000000515000000000000505494E4E4555500000001010105050407471F1F7F755868407CF4F4FD5D2529013D000515145854685855556901210505013434A8A8A0A0AAAA1C1C2A2A0A0AAAAA00000040404040404040404040404040545467474444454555556901010101010101000000000000EA6A7A5515000000AAA9A955551D1D1D414101055554000095E5E5555500000368586C5C6C5C685800000020180405010000000000000C001D1D1D1D1D1D55550000330C3300555503000003030055555555555555555555061A19150000000095514000000000006A565501000000009AAA665A16050101557F56150106050140D5BF66955140000055FFAA555500000050F5AFAA5A5505000055FFAAAA5655000050F5BFAA6A9600000050F5FFAF9A0101010557FFFEAAAAA9AAEEBB8EAFEF000000000000000000010101010101000040404040404000BFFEBFFEBFFEBFFEBEFABEFEBAFEBEFAFAEAAAEAFAEAEAAA555555555555555555D5D5D5D5D5D55555F5F5F5F5F5F55555FDFDFDFDFDFD5555FFFFFFFFFFFF550040404040404000A0A0A0A0E0A0A0A03F2F3F2F2B2F3F2FAAAAAAAABECA3AFEAABADDDDDDDD7596AABAF676B6B6FD55AABADD5DB5D6FD55AAFE5DB59DDD7596AAAEBDDDFD5DADA5AAFED5F65DDD7596AABED5F6DDDD7596AAFE5DADB5B6B696AABADD75DDDD7596AABADDDD7D9DB596AAAAB696AAB696AAA89AA9A96A6AA6A44565999999956545666A59595A5A6666AAA99AAAAAA66A6EAAA9AAAA9AAEEEEEAAAAAAAEEEEEEEAEAAAAEEEEEEEEEEAEAAAAEAEEEEEEEEAEAAA9AAEAEEEEEEAAAAA9AAAA9AEAEEEEAAAA99A9AA6AA6E665A59999999965650101010506165A692F3E2F3E2F3E2F3E4040435290946569A6AA69A99A9A5666666AA9D9DAAA66A664665559595A566461AA9A9AA9AA6A62ACAEEAE6AAA96AACE8EAAAAEEEEEEEACE8EEEEEEEEEEEEACE8EAEEEEEEAAAAB8A86AA9E9EAEEEEACE16AAEAEAA9AAAE865A9A79B9A996A6666A69A99999A6565557F56150106050140D5BF66955140000055FFAA555500003F5FF5AFAA5A5525FAEA55FFAAAA5655000050F5BFAA6A9600000050F5FFAF9A0001010557FFFEAA00080E0300000000F6DA99D5FAEAEAAA95514000000000006A565501000000009AAA665A1605010100004050D5FFBFAA000000055FFFF6AABFFEB55FFEAAA955A0A055FFAAB96A5900055FFAAAA555500055FFAA555500000157FE995946010055FD955440404000A66AA9A594504040A995554000000000555EBFFEBFFEBFFE5F96A5A1E0A0A0A040D0B46479150400665A99996A6AA6A665A69A9999E6777F0000000E0B0000000000E080E83C00000000A0FA0B2C3000000000ACF80000000000000008ACF00000002ABFE0380C0000000000002BBEC0A0F00000000000000F0F0F0F0F0F0F0F33FFFFFFFFFFFF00FFFF00FFFF03FFFFFDFDFDFDFDFDFD3DFDFD3DFDFDFDFDFD010101010101010129A9A92A0A0200000F0F4F509AAAAA00FFFFFF00AAAAAA00FDFDFD09AAAAAA0000008080A0A8A8005550000000000101FFFF00FFFFF0FFFF000080E8FC00000000000E0B000000000E0B0200000000000000000000FFFFFF000000000000555F00000000000055F5000003030000555F0000C0C0000055F501000000003DFD3F74745410105F5FFF1707050101D5D5FF4040400000F0FCF02925393539255554000000000000555568586C5C6C5855151414F4D4F45450400000FFFFFF5F5F1F34F457FFFF5555001C1FD5FFFF5555000000FFFFFFF5F5F414141F171F15050140000000007C7FFC1D1D150404F5F5FFD4D05040405757FF01010100000F3F0F0000000000000000001818181800180000666666000000000066FF6666FF6600183E603C067C180000666C18306646001C361C386F663B000018181800000000000E1C18181C0E00007038181838700000663CFF3C6600000018187E1818000000000000001818300000007E00000000000000000018180000060C1830604000003C666E76663C000018381818187E00003C660C18307E00007E0C180C663C00000C1C3C6C7E0C00007E607C06663C00003C607C66663C00007E060C18303000003C663C66663C00003C663E060C380000001818001818000000181800181830060C1830180C060000007E00007E00006030180C18306000003C660C18001800003C666E6E603E0000183C66667E6600007C667C66667C00003C666060663C0000786C66666C7800007E607C60607E00007E607C60606000003E60606E663E000066667E66666600007E181818187E000006060606663C0000666C78786C66000060606060607E000063777F6B6363000066767E7E6E6600003C666666663C00007C66667C606000003C6666666C3600007C66667C6C6600003C603C06063C00007E1818181818000066666666667E0000666666663C18000063636B7F7763000066663C3C6666000066663C18181800007E0C1830607E00001E181818181E0000406030180C0600007818181818780000081C3663000000000000000000FF0000367F7F3E1C08001818181F1F1818180303030303030303181818F8F8000000181818F8F8181818000000F8F818181803070E1C3870E0C0C0E070381C0E07030103070F1F3F7FFF000000000F0F0F0F80C0E0F0F8FCFEFF0F0F0F0F00000000F0F0F0F000000000FFFF000000000000000000000000FFFF00000000F0F0F0F0001C1C7777081C000000001F1F181818000000FFFF000000181818FFFF18181800003C7E7E7E3C0000000000FFFFFFFFC0C0C0C0C0C0C0C0000000FFFF181818181818FFFF000000F0F0F0F0F0F0F0F01818181F1F000000786078607E181E0000183C7E18181800001818187E3C18000018307E3018000000180C7E0C18000000183C7E7E3C180000003C063E663E000060607C66667C0000003C6060603C000006063E66663E0000003C667E603C00000E183E1818180000003E66663E067C0060607C666666000018003818183C00000600060606063C0060606C786C66000038181818183C000000667F7F6B630000007C666666660000003C6666663C0000007C66667C606000003E66663E060600007C666060600000003E603C067C0000187E1818180E000000666666663E0000006666663C18000000636B7F3E36000000663C183C660000006666663E0C7800007E0C18307E0000183C7E7E183C001818181818181818007E787C6E660600081838783818080010181C1E1C1810000000000000000000001818181800180000666666000000000066FF6666FF6600183E603C067C180000666C18306646001C361C386F663B000018181800000000000E1C18181C0E00007038181838700000663CFF3C6600000018187E1818000000000000001818300000007E00000000000000000018180000060C1830604000003C666E76663C000018381818187E00003C660C18307E00007E0C180C663C00000C1C3C6C7E0C00007E607C06663C00003C607C66663C00007E060C18303000003C663C66663C00003C663E060C380000001818001818000000181800181830060C1830180C060000007E00007E00006030180C18306000003C660C18001800003C666E6E603E0000183C66667E6600007C667C66667C00003C666060663C0000786C66666C7800007E607C60607E00007E607C60606000003E60606E663E000066667E66666600007E181818187E000006060606663C0000666C78786C66000060606060607E000063777F6B6363000066767E7E6E6600003C666666663C00007C66667C606000003C6666666C3600007C66667C6C6600003C603C06063C00007E1818181818000066666666667E0000666666663C18000063636B7F7763000066663C3C6666000066663C18181800007E0C1830607E00001E181818181E0000406030180C0600007818181818780000081C3663000000000000000000FF0000367F7F3E1C08001818181F1F1818180303030303030303181818F8F8000000181818F8F8181818000000F8F818181803070E1C3870E0C0C0E070381C0E07030103070F1F3F7FFF000000000F0F0F0F80C0E0F0F8FCFEFF0F0F0F0F00000000F0F0F0F000000000FFFF000000000000000000000000FFFF00000000F0F0F0F0001C1C7777081C000000001F1F181818000000FFFF000000181818FFFF18181800003C7E7E7E3C0000000000FFFFFFFFC0C0C0C0C0C0C0C0000000FFFF181818181818FFFF000000F0F0F0F0F0F0F0F01818181F1F000000786078607E181E0000183C7E18181800001818187E3C18000018307E3018000000180C7E0C18000000183C7E7E3C180000003C063E663E000060607C66667C0000003C6060603C000006063E66663E0000003C667E603C00000E183E1818180000003E66663E067C0060607C666666000018003818183C00000600060606063C0060606C786C66000038181818183C000000667F7F6B630000007C666666660000003C6666663C0000007C66667C606000003E66663E060600007C666060600000003E603C067C0000187E1818180E000000666666663E0000006666663C18000000636B7F3E36000000663C183C660000006666663E0C7800007E0C18307E0000183C7E7E183C001818181818181818007E787C6E660600081838783818080010181C1E1C181000","FortyBytes":"1","Pages":[{"Nr":3,"Name":"Page 1","View":"A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101019D9E9F10101010A4A5260101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101011D9E1A1B1C1B1AA412260101848D010101010101850000000000000000A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D01010101010185000000000000000001010101010101010101011D9E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A526010101015A5B0101010101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A526010101015E5F0101010101000000000000000001010101011D9E9FA0A1A2A3A4A526A1A2A3A4A5260101E0676263A7B2010101000000000000000001010101011D9E9FA0A1A2A3A4A526A1A2A3A4B3B4B6B7B8B9BA3BBCBD010101000000000000000001010101011D9E9FA0A1A2A3A4A52601010101BEBFC142C3C44546CEBD01010100000000000000000101D601011D9E9FA0A1A2A3A4A52601010101010101D5F5F46D6CF4F3D20101000000000000000001010101D21D9E9FA0A1A2A3A4A526010101E8D30101017B7A797877760101010000000000000000D2D3010101010101010127D09F000FA0A3A49E9F51A9D76F706A6A717201D4D50000000000000000","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26},{"Nr":4,"Name":"Page 2","View":"A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101019D9E9F10101010A4A5260101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101011D9E1A1B1C1B1AA412260101848D010101010101850000000000000000A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D01010101010185000000000000000001010101010101010101011D9E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A526010101015A5B0101010101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A526010101015E5F01010101010000000000000000011D9E9FA0A1A2A3A4A5261D9E9FA0A1A2A3A4A5260101E0676263A7B20101010000000000000000011D9E9FA0A1A2A3A4A5261D9E9FA0A1A2A3A4A526B6B7B8B9BA3BBCBD0101010000000000000000011D9E9FA0A1A2A3A4A5261D9E9FA0A1A2A3A4A526C142C3C44546CEBD0101010000000000000000011D9E9FA0A1A2A3A4A52601E9010101010101010101D5F5F46D6CF4F3D201010000000000000000011D9E9FA0A1A2A3A4A52601010101010101E8D30101017B7A797877760101010000000000000000D2D3010101010101010127D09F000FA0A3A49E9F51A9D76F706A6A717201D4D50000000000000000","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26},{"Nr":15,"Name":"Page 3 (not used)","View":"A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101019D9E9F10101010A4A5260101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101011D9E1A1B1C1B1AA412260101848D010101010101850000000000000000A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D01010101010185000000000000000001010101010101010101011D9E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A526010101015A5B0101010101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A526010101015E5F01010101010000000000000000FBFCFDFEFFA59E9FA0A1A2A3A4A526A1A2A3A4A5260101E0676263A7B2010101000000000000000001F4F5F6F7289E9FA0A1A2A3A4A526A1A2A3A4B3B4B6B7B8B9BA3BBCBD010101000000000000000001010101011D9E9FA0A1A2A3A4A52601010101BEBFC142C3C44546CEBD01010100000000000000000101D601011D9E9FA0A1A2A3A4A52601010101010101D5F5F46D6CF4F3D20101000000000000000001010101D21D9E9FA0A1A2A3A4A526010101E8D30101017B7A797877760101010000000000000000D2D3010101010101010127D09F000FA0A3A49E9F51A9D76F706A6A717201D4D50000000000000000","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26},{"Nr":16,"Name":"Page 4 (not used)","View":"A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101019D9E9F10101010A4A5260101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101011D9E1A1B1C1B1AA412260101848D010101010101850000000000000000A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D01010101010185000000000000000001010101010101010101011D9E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A526010101015A5B0101010101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A526010101015E5F01010101010000000000000000FFA59E9FA0A1A2A3A4A5261D9E9FA0A1A2A3A4A5260101E0676263A7B20101010000000000000000F7289E9FA0A1A2A3A4A5261D9E9FA0A1A2A3A4A526B6B7B8B9BA3BBCBD0101010000000000000000011D9E9FA0A1A2A3A4A5261D9E9FA0A1A2A3A4A526C142C3C44546CEBD0101010000000000000000011D9E9FA0A1A2A3A4A52601E9010101010101010101D5F5F46D6CF4F3D201010000000000000000011D9E9FA0A1A2A3A4A52601010101010101E8D30101017B7A797877760101010000000000000000D2D3010101010101010127D09F000FA0A3A49E9F51A9D76F706A6A717201D4D50000000000000000","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26},{"Nr":8,"Name":"Page 5","View":"A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101019D9E9F10101010A4A5260101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101011D9E1A1B1C1B1AA412260101848D010101010101850000000000000000A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000010101F8F9FAFBFCFDFEFFA59E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101010101F4F5F6F7289E9FA0A1A2A3A4A526010101015A5B0101010101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A526010101015E5F0101010101000000000000000001010101011D9E9FA0A1A2A3A4A526A1A2A3A4A5260101E0676263A7B2010101000000000000000001010101011D9E9FA0A1A2A3A4A526A1A2A3A4B3B4B6B7B8B9BA3BBCBD010101000000000000000001010101011D9E9FA0A1A2A3A4A52601010101BEBFC142C3C44546CEBD01010100000000000000000101D601011D9E9FA0A1A2A3A4A52601010101010101D5F5F46D6CF4F3D20101000000000000000001010101D21D9E9FA0A1A2A3A4A526010101E8D30101017B7A797877760101010000000000000000D2D3010101010101010127D09F000FA0A3A49E9F51A9D76F706A6A717201D4D50000000000000000","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26},{"Nr":9,"Name":"Page 6","View":"A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101019D9E9F10101010A4A5260101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101011D9E1A1B1C1B1AA412260101848D010101010101850000000000000000A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D01010101010185000000000000000001010101010101010101011D9E9FA0A1A2A3A4A52601010101010101010101010000000000000000010101F8F9FAFBFCFDFEFFA59E9FA0A1A2A3A4A526010101015A5B0101010101000000000000000001010101010101F4F5F6F7289E9FA0A1A2A3A4A526010101015E5F01010101010000000000000000011D9E9FA0A1A2A3A4A5261D9E9FA0A1A2A3A4A5260101E0676263A7B20101010000000000000000011D9E9FA0A1A2A3A4A5261D9E9FA0A1A2A3A4A526B6B7B8B9BA3BBCBD0101010000000000000000011D9E9FA0A1A2A3A4A5261D9E9FA0A1A2A3A4A526C142C3C44546CEBD0101010000000000000000011D9E9FA0A1A2A3A4A52601E9010101010101010101D5F5F46D6CF4F3D201010000000000000000011D9E9FA0A1A2A3A4A52601010101010101E8D30101017B7A797877760101010000000000000000D2D3010101010101010127D09F000FA0A3A49E9F51A9D76F706A6A717201D4D50000000000000000","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26},{"Nr":17,"Name":"Page 7 (not used)","View":"A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101019D9E9F10101010A4A5260101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101011D9E1A1B1C1B1AA412260101848D010101010101850000000000000000A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000010101F8F9FAFBFCFDFEFFA59E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101010101F4F5F6F7289E9FA0A1A2A3A4A526010101015A5B0101010101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A526010101015E5F01010101010000000000000000FBFCFDFEFFA59E9FA0A1A2A3A4A526A1A2A3A4A5260101E0676263A7B2010101000000000000000001F4F5F6F7289E9FA0A1A2A3A4A526A1A2A3A4B3B4B6B7B8B9BA3BBCBD010101000000000000000001010101011D9E9FA0A1A2A3A4A52601010101BEBFC142C3C44546CEBD01010100000000000000000101D601011D9E9FA0A1A2A3A4A52601010101010101D5F5F46D6CF4F3D20101000000000000000001010101D21D9E9FA0A1A2A3A4A526010101E8D30101017B7A797877760101010000000000000000D2D3010101010101010127D09F000FA0A3A49E9F51A9D76F706A6A717201D4D50000000000000000","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26},{"Nr":18,"Name":"Page 8 (not used)","View":"A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101019D9E9F10101010A4A5260101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101011D9E1A1B1C1B1AA412260101848D010101010101850000000000000000A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D01010101010185000000000000000001010101010101010101011D9E9FA0A1A2A3A4A52601010101010101010101010000000000000000010101F8F9FAFBFCFDFEFFA59E9FA0A1A2A3A4A526010101015A5B0101010101000000000000000001010101010101F4F5F6F7289E9FA0A1A2A3A4A526010101015E5F01010101010000000000000000FFA59E9FA0A1A2A3A4A5261D9E9FA0A1A2A3A4A5260101E0676263A7B20101010000000000000000F7289E9FA0A1A2A3A4A5261D9E9FA0A1A2A3A4A526B6B7B8B9BA3BBCBD0101010000000000000000011D9E9FA0A1A2A3A4A5261D9E9FA0A1A2A3A4A526C142C3C44546CEBD0101010000000000000000011D9E9FA0A1A2A3A4A52601E9010101010101010101D5F5F46D6CF4F3D201010000000000000000011D9E9FA0A1A2A3A4A52601010101010101E8D30101017B7A797877760101010000000000000000D2D3010101010101010127D09F000FA0A3A49E9F51A9D76F706A6A717201D4D50000000000000000","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26},{"Nr":19,"Name":"Page 9","View":"A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101019D9E9F10101010A4A5260101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101011D9E1A1B1C1B1AA412260101848D010101010101850000000000000000A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D01010101010185000000000000000001010101010101010101011D9E9FA0A1A2A3A4A59ED1D2D3D4D5FAD6D7010101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A529C8C9CACBCC5B0101010101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A526010101015E5F0101010101000000000000000001010101011D9E9FA0A1A2A3A4A526A1A2A3A4A5260101E0676263A7B2010101000000000000000001010101011D9E9FA0A1A2A3A4A526A1A2A3A4B3B4B6B7B8B9BA3BBCBD010101000000000000000001010101011D9E9FA0A1A2A3A4A52601010101BEBFC142C3C44546CEBD01010100000000000000000101D601011D9E9FA0A1A2A3A4A52601010101010101D5F5F46D6CF4F3D20101000000000000000001010101D21D9E9FA0A1A2A3A4A526010101E8D30101017B7A797877760101010000000000000000D2D3010101010101010127D09F000FA0A3A49E9F51A9D76F706A6A717201D4D50000000000000000","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26},{"Nr":13,"Name":"Page 10","View":"A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101019D9E9F10101010A4A5260101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101011D9E1A1B1C1B1AA412260101848D010101010101850000000000000000A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D01010101010185000000000000000001010101010101010101011D9E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A59ED1D2D3D4D5D8D6D7010101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A529C8C9CACB5E5F01010101010000000000000000011D9E9FA0A1A2A3A4A5261D9E9FA0A1A2A3A4A5260101E0676263A7B20101010000000000000000011D9E9FA0A1A2A3A4A5261D9E9FA0A1A2A3A4A526B6B7B8B9BA3BBCBD0101010000000000000000011D9E9FA0A1A2A3A4A5261D9E9FA0A1A2A3A4A526C142C3C44546CEBD0101010000000000000000011D9E9FA0A1A2A3A4A52601E9010101010101010101D5F5F46D6CF4F3D201010000000000000000011D9E9FA0A1A2A3A4A52601010101010101E8D30101017B7A797877760101010000000000000000D2D3010101010101010127D09F000FA0A3A49E9F51A9D76F706A6A717201D4D50000000000000000","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26},{"Nr":12,"Name":"Page 11 (not used)","View":"A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101019D9E9F10101010A425260101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101011D9E1A1B1C1B1AA412260101848D010101010101850000000000000000A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D01010101010185000000000000000001010101010101010101011D9E9FA0A1A2A3A4A59ED1D2D3D4D5FAD6D7010101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A529C8C9CACBCC5B0101010101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A526010101015E5F01010101010000000000000000FBFCFDFEFFA59E9FA0A1A2A3A4A526A1A2A3A4A5260101E0676263A7B2010101000000000000000001F4F5F6F7289E9FA0A1A2A3A4A526A1A2A3A4B3B4B6B7B8B9BA3BBCBD010101000000000000000001010101011D9E9FA0A1A2A3A4A52601010101BEBFC142C3C44546CEBD01010100000000000000000101D601011D9E9FA0A1A2A3A4A52601010101010101D5F5F46D6CF4F3D20101000000000000000001010101D21D9E9FA0A1A2A3A4A526010101E8D30101017B7A797877760101010000000000000000D2D3010101010101010127D09F000FA0A3A49E9F51A9D76F706A6A717201D4D50000000000000000","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26},{"Nr":20,"Name":"Page 12 (not used)","View":"A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101019D9E9F10101010A4A5260101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101011D9E1A1B1C1B1AA412260101848D010101010101850000000000000000A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101019D9E9FA0A1A2A3A4A5A60101848D01010101010185000000000000000001010101010101010101011D9E9FA0A1A2A3A4A5260101010101010101010101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A59ED1D2D3D4D5D8D6D7010101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A529C8C9CACB5E5F01010101010000000000000000FFA59E9FA0A1A2A3A4A5261D9E9FA0A1A2A3A4A5260101E0676263A7B20101010000000000000000F7289E9FA0A1A2A3A4A5261D9E9FA0A1A2A3A4A526B6B7B8B9BA3BBCBD0101010000000000000000011D9E9FA0A1A2A3A4A5261D9E9FA0A1A2A3A4A526C142C3C44546CEBD0101010000000000000000011D9E9FA0A1A2A3A4A52601E9010101010101010101D5F5F46D6CF4F3D201010000000000000000011D9E9FA0A1A2A3A4A52601010101010101E8D30101017B7A797877760101010000000000000000D2D3010101010101010127D09F000FA0A3A49E9F51A9D76F706A6A717201D4D50000000000000000","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26}],"Tiles":[]} \ No newline at end of file diff --git a/art/rip.atrview b/art/rip.atrview new file mode 100644 index 0000000..eba5345 --- /dev/null +++ b/art/rip.atrview @@ -0,0 +1 @@ +{"Version":"2023","ColoredGfx":"1","Chars":"A88D010101018E860101011D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A535CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9F10101010A4A5A60101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101011D9E1A1B1C1B1AA412A60101848D010101010101850000000000000000A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A535CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E86010101ACADAEAFB0B1B2B31B1C0101848D01010101010185000000000000000001010101010101010101019D9E9FA0A1A2A3A4A5A60101010101010101010101000000000000000001010101010101010101019D9E9FA0A1A2A3A4A5A60101010101010101010101000000000000000001010101010101010101019D9E9FA0A1A2A3A4A5A60101010101010101010101000000000000000001010101010101010101019D9E9FA0A1A2A3A4A5A6010101010101010101010100000000000000000101016D6E6F70710101019D9E9FA0A1A2A3A4A5A6010101010101010101010100000000000000000101017A767273740101019D9E9FA0A1A2A3A4A5A6010101010101010101010100000000000000000101D65F5A5B5B5D0101D99D9E9FA0A1A2A3A4A5A601D5010101E9D901D2010100000000000000000101015F5A665C5E01D8019D9E9FA0A1A2A3A4A5A6010101E8E70101010101010000000000000000D2D3016061626263640127D09F000FA0A3A49E9F51A9D701010101BE0101D4D50000000000000000","Width":40,"Height":26,"Lines":"0202020202020202020202020202020202010101010101020202","Colors":"CEC800F40CF6161AB4BA","Fontname1":"D:\\my\\retro\\dev\\Pecusx\\Timberman\\Young-lumberjack\\art\\t_rip.fnt","Fontname2":"D:\\my\\retro\\dev\\Pecusx\\Timberman\\Young-lumberjack\\art\\tu.fnt","Fontname3":"Default.fnt","Fontname4":"Default.fnt","Data":"55555555555555550000000000000000000000000F0F000000003C000000000000004040404040400000000000000C00000000000000545440D5BF66955140000055FFAA555500000050F5AFAA5A5505000055FFAAAA565500000000000001010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010107060605C5865656AA666A59595A5A6666AAA99AAAAAA66A6EAAA9AAAA9AAEEEEEAAAAAAAEEEEEEEAEAAAAEEEEEEEEEEAEAAAAEAEEEEEEEEAEAAA9AAEAEEEEEEAAAAA9AAAA9AEAEEEEAAAA99A9AA6AA6E665A5999999996565A6AA69A99A9A5666A6AA69A99A9A566666A69A99999A6565AAAAA6A6AAAAAAAAAAAAAA9A9A9AAAAA000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005454FD000000000055559FAAAAAEAEAEAAAAAA000000505015151A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FDFD5454000000009F9F55550000000000AAAAAAAAAAAA801A1A1515105050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007B6F55AAAAAA6A5500055FFAAAA555500157FE995946010040D5BF66955140000055FFAA555500000050F5AFAA5A5505000055FFAAAA5655F6DAD9D5FDFDFDFD061A1915000000005F1605010000000040D0B46479150400000055FFAAB96A5900055FFAAAA555500157FE9959460100A66AA9A594504040A995554000000000555000000000000000004050D5FFBFAA000000055FFFF6AA0000055FFEAAA95555FD95544040400095514000000000006A565501000000009AAA665A16050101557F561501060501000050F5BFAA6A9600000050F5FFAF9A0001010557FFFEAA000000000000010100010514504043035555000FFFFFFFFF505505FFFFFFFFFF00004050D4F4F5FDFF5F0733330F0333FF75303333303033FDFD7D3D3D3DFDFD55500000000001010F0F0F0F0F0F0F0F5A1505145040430366A69A99999A6565061A5955D4F4F5FD01010101010101014040404040404040000001090929AAAA0FC0CCE3E0EBAAAAFDFDFDFDFDFDAAAA000040606068AAAAAAA9AAEEBB8EAFEF000000000000000000010101010101000040404040404000BFFEBFFEBFFEBFFEBEFABEFEBAFEBEFAFAEAAAEAFAEAEAAA555555555555555555D5D5D5D5D5D55555F5F5F5F5F5F55555FDFDFDFDFDFD5555FFFFFFFFFFFF550040404040404000A0A0A0A0E0A0A0A03F2F3F2F2B2F3F2FAAAAAAAABECA3AFEAABADDDDDDDD7596AABAF676B6B6FD55AABADD5DB5D6FD55AAFE5DB59DDD7596AAAEBDDDFD5DADA5AAFED5F65DDD7596AABED5F6DDDD7596AAFE5DADB5B6B696AABADD75DDDD7596AABADDDD7D9DB596AAAAB696AAB696AAA89AA9A96A6AA6A44565999999956545666A59595A5A6666AAA99AAAAAA66A6EAAA9AAAA9AAEEEEEAAAAAAAEEEEEEEAEAAAAEEEEEEEEEEAEAAAAEAEEEEEEEEAEAAA9AAEAEEEEEEAAAAA9AAAA9AEAEEEEAAAA99A9AA6AA6E665A59999999965650101010506165A692F3E2F3E2F3E2F3E4040435290946569A6AA69A99A9A5666666AA9D9DAAA66A664665559595A566461AA9A9AA9AA6A62ACAEEAE6AAA96AACE8EAAAAEEEEEEEACE8EEEEEEEEEEEEACE8EAEEEEEEAAAAB8A86AA9E9EAEEEEACE16AAEAEAA9AAAE865A9A79B9A996A6666A69A99999A6565557F56150106050140D5BF66955140000055FFAA555500003F5FF5AFAA5A5525FAEA55FFAAAA5655000050F5BFAA6A9600000050F5FFAF9A0001010557FFFEAA00080E0300000000F6DA99D5FAEAEAAA95514000000000006A565501000000009AAA665A1605010100004050D5FFBFAA000000055FFFF6AABFFEB55FFEAAA955A0A055FFAAB96A5900055FFAAAA555500055FFAA555500000157FE995946010055FD955440404000A66AA9A594504040A995554000000000555EBFFEBFFEBFFE5F96A5A1E0A0A0A040D0B46479150400665A99996A6AA6A665A69A9999E6777F0000000E0B0000000000E080E83C00000000A0FA0B2C3000000000ACF80000000000000008ACF00000002ABFE0380C0000000000002BBEC0A0F00000000000000F0F0F0F0F0F0F0F33FFFFFFFFFFFF00FFFF00FFFF03FFFFFDFDFDFDFDFDFD3DFDFD3DFDFDFDFDFD010101010101010129A9A92A0A0200000F0F4F509AAAAA00FFFFFF00AAAAAA00FDFDFD09AAAAAA0000008080A0A8A8005550000000000101FFFF00FFFFF0FFFF000080E8FC00000000000E0B000000000E0B0200000000000000000000FFFFFF000000000000555F00000000000055F5000003030000555F0000C0C0000055F501000000003DFD3F74745410105F5FFF1707050101D5D5FF4040400000F0FCF02925393539255554000000000000555568586C5C6C5855151414F4D4F45450400000FFFFFF5F5F1F34F457FFFF5555001C1FD5FFFF5555000000FFFFFFF5F5F414141F171F15050140000000007C7FFC1D1D150404F5F5FFD4D05040405757FF01010100000F3F0F0000000000000000001818181800180000666666000000000066FF6666FF6600183E603C067C180000666C18306646001C361C386F663B000018181800000000000E1C18181C0E00007038181838700000663CFF3C6600000018187E1818000000000000001818300000007E00000000000000000018180000060C1830604000003C666E76663C000018381818187E00003C660C18307E00007E0C180C663C00000C1C3C6C7E0C00007E607C06663C00003C607C66663C00007E060C18303000003C663C66663C00003C663E060C380000001818001818000000181800181830060C1830180C060000007E00007E00006030180C18306000003C660C18001800003C666E6E603E0000183C66667E6600007C667C66667C00003C666060663C0000786C66666C7800007E607C60607E00007E607C60606000003E60606E663E000066667E66666600007E181818187E000006060606663C0000666C78786C66000060606060607E000063777F6B6363000066767E7E6E6600003C666666663C00007C66667C606000003C6666666C3600007C66667C6C6600003C603C06063C00007E1818181818000066666666667E0000666666663C18000063636B7F7763000066663C3C6666000066663C18181800007E0C1830607E00001E181818181E0000406030180C0600007818181818780000081C3663000000000000000000FF0000367F7F3E1C08001818181F1F1818180303030303030303181818F8F8000000181818F8F8181818000000F8F818181803070E1C3870E0C0C0E070381C0E07030103070F1F3F7FFF000000000F0F0F0F80C0E0F0F8FCFEFF0F0F0F0F00000000F0F0F0F000000000FFFF000000000000000000000000FFFF00000000F0F0F0F0001C1C7777081C000000001F1F181818000000FFFF000000181818FFFF18181800003C7E7E7E3C0000000000FFFFFFFFC0C0C0C0C0C0C0C0000000FFFF181818181818FFFF000000F0F0F0F0F0F0F0F01818181F1F000000786078607E181E0000183C7E18181800001818187E3C18000018307E3018000000180C7E0C18000000183C7E7E3C180000003C063E663E000060607C66667C0000003C6060603C000006063E66663E0000003C667E603C00000E183E1818180000003E66663E067C0060607C666666000018003818183C00000600060606063C0060606C786C66000038181818183C000000667F7F6B630000007C666666660000003C6666663C0000007C66667C606000003E66663E060600007C666060600000003E603C067C0000187E1818180E000000666666663E0000006666663C18000000636B7F3E36000000663C183C660000006666663E0C7800007E0C18307E0000183C7E7E183C001818181818181818007E787C6E660600081838783818080010181C1E1C1810000000000000000000001818181800180000666666000000000066FF6666FF6600183E603C067C180000666C18306646001C361C386F663B000018181800000000000E1C18181C0E00007038181838700000663CFF3C6600000018187E1818000000000000001818300000007E00000000000000000018180000060C1830604000003C666E76663C000018381818187E00003C660C18307E00007E0C180C663C00000C1C3C6C7E0C00007E607C06663C00003C607C66663C00007E060C18303000003C663C66663C00003C663E060C380000001818001818000000181800181830060C1830180C060000007E00007E00006030180C18306000003C660C18001800003C666E6E603E0000183C66667E6600007C667C66667C00003C666060663C0000786C66666C7800007E607C60607E00007E607C60606000003E60606E663E000066667E66666600007E181818187E000006060606663C0000666C78786C66000060606060607E000063777F6B6363000066767E7E6E6600003C666666663C00007C66667C606000003C6666666C3600007C66667C6C6600003C603C06063C00007E1818181818000066666666667E0000666666663C18000063636B7F7763000066663C3C6666000066663C18181800007E0C1830607E00001E181818181E0000406030180C0600007818181818780000081C3663000000000000000000FF0000367F7F3E1C08001818181F1F1818180303030303030303181818F8F8000000181818F8F8181818000000F8F818181803070E1C3870E0C0C0E070381C0E07030103070F1F3F7FFF000000000F0F0F0F80C0E0F0F8FCFEFF0F0F0F0F00000000F0F0F0F000000000FFFF000000000000000000000000FFFF00000000F0F0F0F0001C1C7777081C000000001F1F181818000000FFFF000000181818FFFF18181800003C7E7E7E3C0000000000FFFFFFFFC0C0C0C0C0C0C0C0000000FFFF181818181818FFFF000000F0F0F0F0F0F0F0F01818181F1F000000786078607E181E0000183C7E18181800001818187E3C18000018307E3018000000180C7E0C18000000183C7E7E3C180000003C063E663E000060607C66667C0000003C6060603C000006063E66663E0000003C667E603C00000E183E1818180000003E66663E067C0060607C666666000018003818183C00000600060606063C0060606C786C66000038181818183C000000667F7F6B630000007C666666660000003C6666663C0000007C66667C606000003E66663E060600007C666060600000003E603C067C0000187E1818180E000000666666663E0000006666663C18000000636B7F3E36000000663C183C660000006666663E0C7800007E0C18307E0000183C7E7E183C001818181818181818007E787C6E660600081838783818080010181C1E1C181000","FortyBytes":"1","Pages":[{"Nr":1,"Name":"Page 1","View":"A88D010101018E860101011D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A535CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9F10101010A4A5A60101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101011D9E1A1B1C1B1AA412A60101848D010101010101850000000000000000A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A535CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E86010101ACADAEAFB0B1B2B31B1C0101848D01010101010185000000000000000001010101010101010101019D9E9FA0A1A2A3A4A5A60101010101010101010101000000000000000001010101010101010101019D9E9FA0A1A2A3A4A5A60101010101010101010101000000000000000001010101010101010101019D9E9FA0A1A2A3A4A5A60101010101010101010101000000000000000001010101010101010101019D9E9FA0A1A2A3A4A5A6010101010101010101010100000000000000000101016D6E6F70710101019D9E9FA0A1A2A3A4A5A6010101010101010101010100000000000000000101017A767273740101019D9E9FA0A1A2A3A4A5A6010101010101010101010100000000000000000101D65F5A5B5B5D0101D99D9E9FA0A1A2A3A4A5A601D5010101E9D901D2010100000000000000000101015F5A665C5E01D8019D9E9FA0A1A2A3A4A5A6010101E8E70101010101010000000000000000D2D3016061626263640127D09F000FA0A3A49E9F51A9D701010101BE0101D4D50000000000000000","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26},{"Nr":2,"Name":"Page 2","View":"A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9F10101010A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E1A1B1C1B1AA412260101848D010101010101850000000000000000A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A39FA5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D01010101010185000000000000000001010101010101010101019D9E9FA0A1A2A3A4A5A60101010101010101010101000000000000000001010101010101010101019D9E9FA0A1A2A3A4A5A60101010101010101010101000000000000000001010101010101010101019D9E9FA0A1A2A3A4A5A60101010101010101010101000000000000000001010101010101010101019D9E9FA0A1A2A3A4A5A60101010101010101010101000000000000000001010101010101010101019D9E9FA0A1A2A3A4A5A601016D6E6F707101010101000000000000000001010101010101010101019D9E9FA0A1A2A3A4A5A601017A767273740101010100000000000000000101D6010101D2E70101D99D9E9FA0A1A2A3A4A5A601D55F5A5B5B5D01D20101000000000000000001010101D2D7010101D8019D9E9FA0A1A2A3A4A5A601015F5A665C5E010101010000000000000000D2D3010101010101010127D09F000FA0A3A49E9F51A9D760616262636401D4D50000000000000000","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26},{"Nr":3,"Name":"Page 3","View":"A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9F10101010A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E1A1B1C1B1AA412260101848D010101010101850000000000000000A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A39FA5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D01010101010185000000000000000001010101010101010101019D9E9FA0A1A2A3A4A5A60101010101010101010101000000000000000001010101010101010101019D9E9FA0A1A2A3A4A5A60101010101010101010101000000000000000001010101010101010101019D9E9FA0A1A2A3A4A5A601010101010101010101010000000000000000010101E9D4D5D6D7EAEBECA59E9FA0A1A2A3A4A5A6010101010101010101010100000000000000000101016D6E6F7079E6E7E8A79E9FA0A1A2A3A4A5A6010101010101010101010100000000000000000101017A767273740101019D9E9FA0A1A2A3A4A5A6010101010101010101010100000000000000000101D65F5A5B5B5D0101D99D9E9FA0A1A2A3A4A5A601D5010101E9D901D2010100000000000000000101015F5A665C5E01D8019D9E9FA0A1A2A3A4A526010101E8E70101010101010000000000000000D2D3016061626263640127D09F000FA0A3A49E9F51A9D701010101BE0101D4D50000000000000000","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26},{"Nr":4,"Name":"Page 4","View":"A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9F10101010A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E1A1B1C1B1AA412260101848D010101010101850000000000000000A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A39FA5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D01010101010185000000000000000001010101010101010101019D9E9FA0A1A2A3A4A5A60101010101010101010101000000000000000001010101010101010101019D9E9FA0A1A2A3A4A5A60101010101010101010101000000000000000001010101010101010101019D9E9FA0A1A2A3A4A5A60101010101010101010101000000000000000001010101010101010101019D9E9FA0A1A2A3A4A59EE2E3E4DCDD88DEE5010101000000000000000001010101010101010101019D9E9FA0A1A2A3A4A529DFE075776F707101010101000000000000000001010101010101010101019D9E9FA0A1A2A3A4A5A601017A767273740101010100000000000000000101D6010101D2E70101D99D9E9FA0A1A2A3A4A5A601D55F5A5B5B5D01D20101000000000000000001010101D2D7010101D8019D9E9FA0A1A2A3A4A5A601015F5A665C5E010101010000000000000000D2D3010101010101010127D09F000FA0A3A49E9F51A9D760616262636401D4D50000000000000000","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26},{"Nr":5,"Name":"Page 5","View":"A88D010101018E860101011D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9F10101010A4A5A60101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101011D9E1A1B1C1B1AA412A60101848D010101010101850000000000000000A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5A60101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5A60101848D01010101010185000000000000000001010101010101010101019D9E9FA0A1A2A3A4A5A60101010101010101010101000000000000000001010101010101010101019D9E9FA0A1A2A3A4A5A60101010101010101010101000000000000000001010101010101010101019D9E9FA0A1A2A3A4A5A60101010101010101010101000000000000000001010101010101010101019D9E9FA0A1A2A3A4A59EE2E3E4DCDD88DEE501010100000000000000000101016D6E6F70710101019D9E9FA0A1A2A3A4A529DFE0E1DADB01010101010100000000000000000101017A767273740101019D9E9FA0A1A2A3A4A5A6010101010101010101010100000000000000000101D65F5A5B5B5D0101D99D9E9FA0A1A2A3A4A5A601D5010101E9D901D2010100000000000000000101015F5A665C5E01D8019D9E9FA0A1A2A3A4A5A6010101E8E70101010101010000000000000000D2D3016061626263640127D09F000FA0A3A49E9F51A9D701010101BE0101D4D50000000000000000","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26},{"Nr":6,"Name":"Page 6","View":"A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9F10101010A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E1A1B1C1B1AA412260101848D010101010101850000000000000000A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D01010101010185000000000000000001010101010101010101019D9E9FA0A1A2A3A4A5A60101010101010101010101000000000000000001010101010101010101019D9E9FA0A1A2A3A4A5A60101010101010101010101000000000000000001010101010101010101019D9E9FA0A1A2A3A4A5A601010101010101010101010000000000000000010101E98788898AEAEBECA59E9FA0A1A2A3A4A5A60101010101010101010101000000000000000001010101010101D9E6E7E8289E9FA0A1A2A3A4A5A601016D6E6F707101010101000000000000000001010101010101010101019D9E9FA0A1A2A3A4A5A601017A767273740101010100000000000000000101D6010101D2E70101D99D9E9FA0A1A2A3A4A5A601D55F5A5B5B5D01D20101000000000000000001010101D2D7010101D8019D9E9FA0A1A2A3A4A5A601015F5A665C5E010101010000000000000000D2D3010101010101010127D09F000FA0A3A49E9F51A9D760616262636401D4D50000000000000000","SelectedFont":"0202020202020202020202020202020202010101010101020202","Width":40,"Height":26}],"Tiles":[]} \ No newline at end of file diff --git a/art/sky.atrview b/art/sky.atrview new file mode 100644 index 0000000..71b9e80 --- /dev/null +++ b/art/sky.atrview @@ -0,0 +1 @@ +{"Version":"2023","ColoredGfx":"1","Chars":"A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E8601020B0B0B0B0B0B8787878787870C848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF010101010185000000000000000001010101010101010101011D9E9FA0A1A2A3A4A5260101010101010487080101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A526010101015A5B35890A0101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A526010101015E5FDDDC640101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A5260101E0E16263E642650101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A5260101EDE8E96AEBEC640101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A5260101EDEE427042F2650101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A5260101F5F4F4F4F4F30101010000000000000000","Width":40,"Height":26,"Lines":"0101010101010101010101010101010101010102020202020201","Colors":"8E8800F43816161AB4BA","Fontname1":"D:\\my\\retro\\dev\\Pecusx\\Timberman\\Young-lumberjack\\art\\tu.fnt","Fontname2":"D:\\my\\retro\\dev\\Pecusx\\Timberman\\Young-lumberjack\\art\\tl_r.fnt","Fontname3":"Default.fnt","Fontname4":"Default.fnt","Data":"AAA9AAEEBB8EAFEF000000000000000000010101010101000040404040404000BFFEBFFEBFFEBFFEBEFABEFEBAFEBEFAFAEAAAEAFAEAEAAA555555555555555555D5D5D5D5D5D55555F5F5F5F5F5F55555FDFDFDFDFDFD5555FFFFFFFFFFFF550040404040404000A0A0A0A0E0A0A0A03F2F3F2F2B2F3F2FAAAAAAAABECA3AFEAABADDDDDDDD7596AABAF676B6B6FD55AABADD5DB5D6FD55AAFE5DB59DDD7596AAAEBDDDFD5DADA5AAFED5F65DDD7596AABED5F6DDDD7596AAFE5DADB5B6B696AABADD75DDDD7596AABADDDD7D9DB596AAAAB696AAB696AAA89AA9A96A6AA6A44565999999956545666A59595A5A6666AAA99AAAAAA66A6EAAA9AAAA9AAEEEEEAAAAAAAEEEEEEEAEAAAAEEEEEEEEEEAEAAAAEAEEEEEEEEAEAAA9AAEAEEEEEEAAAAA9AAAA9AEAEEEEAAAA99A9AA6AA6E665A59999999965650101010506165A692F3E2F3E2F3E2F3E4040435290946569A6AA69A99A9A5666666AA9D9DAAA66A664665559595A566461AA9A9AA9AA6A62ACAEEAE6AAA96AACE8EAAAAEEEEEEEACE8EEEEEEEEEEEEACE8EAEEEEEEAAAAB8A86AA9E9EAEEEEACE16AAEAEAA9AAAE865A9A79B9A996A6666A69A99999A6565557F56150106050140D5BF66955140000055FFAA555500003F5FF5AFAA5A5525FAEA55FFAAAA5655000050F5BFAA6A9600000050F5FFAF9A0001010557FFFEAA00080E0300000000F6DA99D5FAEAEAAA95514000000000006A565501000000009AAA665A1605010100004050D5FFBFAA000000055FFFF6AABFFEB55FFEAAA955A0A055FFAAB96A5900055FFAAAA555500055FFAA555500000157FE995946010055FD955440404000A66AA9A594504040A995554000000000555EBFFEBFFEBFFE5F96A5A1E0A0A0A040D0B46479150400665A99996A6AA6A665A69A9999E6777F0000000E0B0000000000E080E83C00000000A0FA0B2C3000000000ACF80000000000000008ACF00000002ABFE0380C0000000000002BBEC0A0F00000000000000F0F0F0F0F0F0F0F33FFFFFFFFFFFF00FFFF00FFFF03FFFFFDFDFDFDFDFDFD3DFDFD3DFDFDFDFDFD010101010101010129A9A92A0A0200000F0F4F509AAAAA00FFFFFF00AAAAAA00FDFDFD09AAAAAA0000008080A0A8A8005550000000000101FFFF00FFFFF0FFFF000080E8FC00000000000E0B000000000E0B0200000000000000000000FFFFFF000000000000555F00000000000055F5000003030000555F0000C0C0000055F501000000003DFD3F74745410105F5FFF1707050101D5D5FF4040400000F0FCF02925393539255554000000000000555568586C5C6C5855151414F4D4F45450400000FFFFFF5F5F1F34F457FFFF5555001C1FD5FFFF5555000000FFFFFFF5F5F414141F171F15050140000000007C7FFC1D1D150404F5F5FFD4D05040405757FF01010100000F3F0F55555555555555550000000000000000000000000F0F000000003C000000000000010101010101012A2A2A2A2A2A2A2A00000000000015555555FFFFFFFFFFFF5454B4B4B4B4B4B4AAAA555594E4E494A4B454540000000000000000000040507F7FFFD560A000F0D0D0F47494A404F500010515141854580454566606060606D0D0A0A08080AAAA7171A9A92929A9A90055552900000000004050541424152568586C5C6C5C695906050115155050D0AAAAAA5555010101A9A5A455555353D0000000555531310129253935395555ED00000000005555AA0000000000505090D090505013131515666A59595A5A6666AAA99AAAAAA66A6EAAA9AAAA9AAEEEEEAAAAAAAEEEEEEEAEAAAAEEEEEEEEEEAEAAAAEAEEEEEEEEAEAAA9AAEAEEEEEEAAAAA9AAAA9AEAEEEEAAAA99A9AA6AA6E665A59999999965655555694040404040A6AA69A99A9A566666A69A99999A6565AAAAA6A6AAAAAAAAAAAAAA9A9A9AAAAA0101010131315555D0905050101015150101010101015555ED99555539352925FFAA555500000000D0905050000000000050541425152925AA9AA9A96A55557F65A59999995555F7010101010101010100000005055454B40000005555CCCC0068586C55655454740101005555000000AA6A6A5555010101AAA9A95555D0D0D0505060400000000029253935393529257F6A555500000000F7A655550000000000AAAAAAAAAAAA80B4645454040405050000000000005555746454546454655500000000CCCC55550101010101555541D0D0D0D0D0D855550080808080808000A66AA9A594504040A99555400000000055500000000000005F1605010000000040D0B464791504005555555555555555000000010924545000000000330C330069596D5C6C5C685800004050D5FFBFAA000000055FFFF6AA0000055FFEAAA955000055FFAAB96A5900055FFAAAA555500157FE995946010055FD9554404040000055FFAA55555050D0D5F6F6A5A504F50000000000000515000000000000505494E4E4555500000001010105050407471F1F7F755868407CF4F4FD5D2529013D000515145854685855556901210505013434A8A8A0A0AAAA1C1C2A2A0A0AAAAA00000040404040404040404040404040545467474444454555556901010101010101000000000000EA6A7A5515000000AAA9A955551D1D1D414101055554000095E5E5555500000368586C5C6C5C685800000020180405010000000000000C001D1D1D1D1D1D55550000330C3300555503000003030055555555555555555555061A19150000000095514000000000006A565501000000009AAA665A16050101557F56150106050140D5BF66955140000055FFAA555500000050F5AFAA5A5505000055FFAAAA5655000050F5BFAA6A9600000050F5FFAF9A0101010557FFFEAA0000000000000000001818181800180000666666000000000066FF6666FF6600183E603C067C180000666C18306646001C361C386F663B000018181800000000000E1C18181C0E00007038181838700000663CFF3C6600000018187E1818000000000000001818300000007E00000000000000000018180000060C1830604000003C666E76663C000018381818187E00003C660C18307E00007E0C180C663C00000C1C3C6C7E0C00007E607C06663C00003C607C66663C00007E060C18303000003C663C66663C00003C663E060C380000001818001818000000181800181830060C1830180C060000007E00007E00006030180C18306000003C660C18001800003C666E6E603E0000183C66667E6600007C667C66667C00003C666060663C0000786C66666C7800007E607C60607E00007E607C60606000003E60606E663E000066667E66666600007E181818187E000006060606663C0000666C78786C66000060606060607E000063777F6B6363000066767E7E6E6600003C666666663C00007C66667C606000003C6666666C3600007C66667C6C6600003C603C06063C00007E1818181818000066666666667E0000666666663C18000063636B7F7763000066663C3C6666000066663C18181800007E0C1830607E00001E181818181E0000406030180C0600007818181818780000081C3663000000000000000000FF0000367F7F3E1C08001818181F1F1818180303030303030303181818F8F8000000181818F8F8181818000000F8F818181803070E1C3870E0C0C0E070381C0E07030103070F1F3F7FFF000000000F0F0F0F80C0E0F0F8FCFEFF0F0F0F0F00000000F0F0F0F000000000FFFF000000000000000000000000FFFF00000000F0F0F0F0001C1C7777081C000000001F1F181818000000FFFF000000181818FFFF18181800003C7E7E7E3C0000000000FFFFFFFFC0C0C0C0C0C0C0C0000000FFFF181818181818FFFF000000F0F0F0F0F0F0F0F01818181F1F000000786078607E181E0000183C7E18181800001818187E3C18000018307E3018000000180C7E0C18000000183C7E7E3C180000003C063E663E000060607C66667C0000003C6060603C000006063E66663E0000003C667E603C00000E183E1818180000003E66663E067C0060607C666666000018003818183C00000600060606063C0060606C786C66000038181818183C000000667F7F6B630000007C666666660000003C6666663C0000007C66667C606000003E66663E060600007C666060600000003E603C067C0000187E1818180E000000666666663E0000006666663C18000000636B7F3E36000000663C183C660000006666663E0C7800007E0C18307E0000183C7E7E183C001818181818181818007E787C6E660600081838783818080010181C1E1C1810000000000000000000001818181800180000666666000000000066FF6666FF6600183E603C067C180000666C18306646001C361C386F663B000018181800000000000E1C18181C0E00007038181838700000663CFF3C6600000018187E1818000000000000001818300000007E00000000000000000018180000060C1830604000003C666E76663C000018381818187E00003C660C18307E00007E0C180C663C00000C1C3C6C7E0C00007E607C06663C00003C607C66663C00007E060C18303000003C663C66663C00003C663E060C380000001818001818000000181800181830060C1830180C060000007E00007E00006030180C18306000003C660C18001800003C666E6E603E0000183C66667E6600007C667C66667C00003C666060663C0000786C66666C7800007E607C60607E00007E607C60606000003E60606E663E000066667E66666600007E181818187E000006060606663C0000666C78786C66000060606060607E000063777F6B6363000066767E7E6E6600003C666666663C00007C66667C606000003C6666666C3600007C66667C6C6600003C603C06063C00007E1818181818000066666666667E0000666666663C18000063636B7F7763000066663C3C6666000066663C18181800007E0C1830607E00001E181818181E0000406030180C0600007818181818780000081C3663000000000000000000FF0000367F7F3E1C08001818181F1F1818180303030303030303181818F8F8000000181818F8F8181818000000F8F818181803070E1C3870E0C0C0E070381C0E07030103070F1F3F7FFF000000000F0F0F0F80C0E0F0F8FCFEFF0F0F0F0F00000000F0F0F0F000000000FFFF000000000000000000000000FFFF00000000F0F0F0F0001C1C7777081C000000001F1F181818000000FFFF000000181818FFFF18181800003C7E7E7E3C0000000000FFFFFFFFC0C0C0C0C0C0C0C0000000FFFF181818181818FFFF000000F0F0F0F0F0F0F0F01818181F1F000000786078607E181E0000183C7E18181800001818187E3C18000018307E3018000000180C7E0C18000000183C7E7E3C180000003C063E663E000060607C66667C0000003C6060603C000006063E66663E0000003C667E603C00000E183E1818180000003E66663E067C0060607C666666000018003818183C00000600060606063C0060606C786C66000038181818183C000000667F7F6B630000007C666666660000003C6666663C0000007C66667C606000003E66663E060600007C666060600000003E603C067C0000187E1818180E000000666666663E0000006666663C18000000636B7F3E36000000663C183C660000006666663E0C7800007E0C18307E0000183C7E7E183C001818181818181818007E787C6E660600081838783818080010181C1E1C181000","FortyBytes":"1","Pages":[{"Nr":1,"Name":"Page 1","View":"A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E8601020B0B0B0B0B0B8787878787870C848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF0101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D01B6B7B8B9BABBBCBDAB9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018EBFC0C1C2AA9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5260101848D010101010101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B4C3C4C5C6C7C8C9CA0101850000000000000000A88D010101018E860101011D9E9FA0A1A2A3A4A5B5CBCCCDCECF010101010185000000000000000001010101010101010101011D9E9FA0A1A2A3A4A5260101010101010487080101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A526010101015A5B35890A0101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A526010101015E5FDDDC640101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A5260101E0E16263E642650101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A5260101EDE8E96AEBEC640101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A5260101EDEE427042F2650101000000000000000001010101010101010101011D9E9FA0A1A2A3A4A5260101F5F4F4F4F4F30101010000000000000000","SelectedFont":"0101010101010101010101010101010101010102020202020201","Width":40,"Height":26}],"Tiles":[]} \ No newline at end of file diff --git a/art/t_rip.fnt b/art/t_rip.fnt new file mode 100644 index 0000000..df0c5cc Binary files /dev/null and b/art/t_rip.fnt differ diff --git a/art/title.atrview b/art/title.atrview new file mode 100644 index 0000000..964d756 --- /dev/null +++ b/art/title.atrview @@ -0,0 +1 @@ +{"Version":"2023","ColoredGfx":"1","Chars":"00000000000000000000000000000000000000000000000000000000000000009191919191919191000000000000000000000000000000000000000000000000000000000000000091919191919191910000000000000102020304050607040504040904040A02020B0C00000000000091919191919191910000000000000D0E0F101112131411121516171118191A1B1C1D00000000000091919191919191910000000000001E1F20211112222311122425261127281129112A0000000000009191919191919191000000000000001F202B11122C2D11122E2F301131321133122000000000000091919191919191910000000000000036373839393A3B3C3D3E3F404142393943393700000000000091919191919191910000000000000000000000001F4445464748494A4B000000000000000000000091919191919191910000000000000000000000004C4D4E4F50515253540000000000000000000000919191919191919100000000000000000000000055565758595A5B5C5D000000000000000000000091919191919191910000000000000000000000000000000000000000000000000000000000000000919191919191919100000000000000000000000000000000000000000000000000000000000000009191919191919191000000000000000000000000000000343500000000000000000000000000000091919191919191910000000000000000000000006C6D6EE0E16F70710000000000000000000000009191919191919191000000000000000000000072737475767778797A7B000000000000000000000091919191919191910000000000000000000000E0E1626364636365E1E600000000000000000000009191919191919191000000000000000000006768696A6B6C6363656D6E00000000000000000000009191919191919191000000000000000000006F707172F37475767771780000000000000000000000919191919191919100000000000000000000000000797A7B7B7C7D000000000000000000000000009191919191919191000000000000000000000000005D595959597F0000000000000000000000000091919191919191910000000000000000000000006C6D6EE2E36F707100000000000000000000000091919191919191910000000000000000000000006C6D6EE4E56F707100000000000000000000000091919191919191910000000000000000000000006C6D6EE6E76F707100000000000000000000000091919191919191910000000000000000000000006C6D6EE8E96F7071000000000000000000000000919191919191919100000000000000000000000000797A7B7B7C7E00000000000000000000000000919191919191919100000000000000000000000000000000000000000000000000000000000000009191919191919191","Width":40,"Height":26,"Lines":"0101010101010101010101010101010202020202010101010202","Colors":"8E880014EC0C161AB4BA","Fontname1":"D:\\my\\retro\\dev\\Pecusx\\Timberman\\Young-lumberjack\\art\\title_logo.fnt","Fontname2":"D:\\my\\retro\\dev\\Pecusx\\Timberman\\Young-lumberjack\\art\\title_fonts.fnt","Fontname3":"Default.fnt","Fontname4":"Default.fnt","Data":"000000000000000015155A5A6F6F60605555AAAAFFFF00005454A5A5F9F90A0A000000005555AAAA0000000055556A6A000000005050949400000000010105050000000015156A6A0000000051515595010105055656AAAA5555A9AAFEFF03000040505094A4E5E960606F6F5A5A95950000FFFFAFAF6F6F0000FFFFFAFAF9F90B0BFBFBABAB5B5BFFFFFFFFFFFFFFFFBFBFBFBFBFBFBFBFE5E5C9C9F2F2FCFC1616585863638F8FFFFFFFFFFAFAF9F9FFFFFFFFBFAF6F6F96E626CACAFAFAFAFFFFFFFFEAEAE5E5FEFEFEFEAAAA56560000FFFFFFFFFFFF2A2AE5E5E5E5EAEA0080BFBFBFBFBFBF3939F9F9F9F9F9F92A2A0000000000006F6F6F6F6F6F6F6FF9F9F9F9F9F9F9F99B9B1B1B1B1B1B1BFFFFEFEFEBEBE6E6FFFFFEFEFAFAE6E6FAFAFFFFFFFFFAFAAFAFFFFFFFFFAFAFFAEAEAEAFAFAFEFEEAEAFFFFFFFFEAEAAAAAFEFEFEFEAAAAFFFFFFFFEBEAE6E6E9E5A6969494A5E91B1B1B1B1B1B1B1BE5E5E4E4E4E4E4E49696464606060606F9F9FAFAFFFFFFFF6F6FAFAFFFFFFFFFFEFEFEFEFEFEFEFAE5E5EAEAFFFFFFFF5656AAAAFEFEFEFEE6E5E5E5E5E5E5E505151F1F7F7550405054F4F4FD5D05016A6A5555FFFF0000A9A95555FFFF00001A1A15153F3F0000AAAA5555FFFF0000A4A455555A6A6F6F060645559595E5E5AAAA55556A6ABFBFAAAA5555565A9BABAAAA5555A9AAFEFEAAAA55555A5A6FAFAAAA55559595E6E6AAAA5555A9A9FEFEAAAA55557F7F4040A5A55555FFFF0000CACAF0F0FFFFCFCF3F3FFFFFFFFF3F3FA3A3A3A38F8FBFBFFCFCACACAFFFFFFFAFAFAFAF2F2FEFEFCACAF2F2FCFCFFFFFEFEFEFEFEFEFEFE40404040404040406F6F6F6F6F6F5ADAEFEFEAEAE5E5A5A5BFBFBFBFBFBFAAAABFBFBFBFBFBF6A6A0F0FAFAFAFAF5A5AEFEFEFEFEFEF9A9ACFCFE3E3EBEB9696FEFEFEFEFEFEA9A940404040404040C0D5F53F0F00000000555FFFF0000000005555FFFF0000000055D5FF3F0000000055F5FF0F000000005575FFCF00000000557DFFC3000000005557FFFC00000000C0C000000000000000000000000000000000000000000000407C343400000000013D1C1C00000000404034340000000001011C1C00000000404000000000000001010000000000004074343C00000000011D1C3C000000004040343C0000000001011C3C0000000040400000000000000101000000000000000000000105151A000005555F6BBEBE00005555E9E9BDBD000055556B6B7E7E00005055F5E9BEBE00000000405054A40000010101050605566E5BEB6BEBBEBEBEBEEBEBEBEBBE6EBDBDE9E9EBEBBEBE00000040405595BE00000001015556BE7E7E6B6BEBEBBEBEBEBEEBEBEBEBBEB995B9E5EBE9EBBEBE00004040405090500000000000000000000000000000000000000000000000000000000000000000000000000000000000147DE594504000147D595540404000147D59150000000000155E7979795B150015795E5E5E6D15000040454745400000000054E454000000004147454745000000409050905000000547577E5646050050D095A995D05000155F7E7A7A5F150055E97A7A7ABD550005576E57577B550054E4A5A5A5FF5500155F79555E6F550055E97AE995EB5500156F555A557A550055E97AE97ABD550015575E7A7A55150055FE6A7AEABF5500157F7A7A557A550055FA55E97ABD55000105175E1605010050D055A955D05000157F7955575B150055FE6AE9A5F55500155F7E5E7A5F1500004041475E5D1500155F7E5A555E150055E97AEA7ABD5500155F7E7A7A6F550055E97AEA7A6F5500157F7A7A7A6F550000F0000000000000155F7E7A7A5E150055E97A557AAD5500157F7A7A7A6F550055E97A7A7AAD55FFC0000000FC00000055FA55E955AF55403F00000000FF000055FAAA55E95550003F2324E72720000055E97A557E9B5500003FC00000000000157E7AEA7A6F5500157E7A7A7A6F15000040404040400000157F55557E5B150055AA7A7A7AAD550000000105FC000000155E7AE97A6F5500157E7A7A7A6F55000040557EEAFF5500157F7A7A796D5500157EEAAA9E5B1500157F7A7A796F5500557EDABAAA6F5501F000000000FC000055E97A7AEAAD5500003C000001013F0055E97A7AE955500000000000FC00000055E97A7A699B55CF000000000000000055E97A7AE96F5500155F7E5A557A150055FA95A9EAFD5500157F7A675756050055FAAAA6A5F55400157F7A7A7A5F1500157E7A7AEAFF5500157F7A7A5A570500157E7A7AE9B55400157D797B7A6F1500155EDEBAAA6F5500157D7B5A7A6D5500155E7AE97A5B1500157F7A5A557A1500157E7AEA7AAD5500157F79575E6F550055FAA9A59EEF5501155F7E5A557A1554F5AA95A9EAFD5500000040FC00000000005479E59EFF550000000040404040FF00000000000000000105175E1605010055DD59A955D05000157E7A7A556F150F00000000000000010101010101010140404040404040400605050707050504AA5555FFFF5555005E6E5B7B5B7B5E6EBEBEEBEBEBEBBEBEBEBCE8EBEBEBBEBCB5B9E5EDE5EDB5B9905050D0D050501005151810101119155454041414545404000000000000CCCC555540404455556E55554040404040407C5E1B1B1B181C1E000000000000333310101010101010100400000000000000050500000000000055550000000000005A551517171F1707404040406A6A55551E15101390955F55BE5505C70757FF55BE5555FFFFFFFF5FA55554D4D4F4D45050500000000000000501010100000F3FF5D4D05040405757550000000000FFFF5F1D1D150404F5F54040000000007C7F4040000000407CFFFC000000000000000000000000000000001818181800180000666666000000000066FF6666FF6600183E603C067C180000666C18306646001C361C386F663B000018181800000000000E1C18181C0E00007038181838700000663CFF3C6600000018187E1818000000000000001818300000007E00000000000000000018180000060C1830604000003C666E76663C000018381818187E00003C660C18307E00007E0C180C663C00000C1C3C6C7E0C00007E607C06663C00003C607C66663C00007E060C18303000003C663C66663C00003C663E060C380000001818001818000000181800181830060C1830180C060000007E00007E00006030180C18306000003C660C18001800003C666E6E603E0000183C66667E6600007C667C66667C00003C666060663C0000786C66666C7800007E607C60607E00007E607C60606000003E60606E663E000066667E66666600007E181818187E000006060606663C0000666C78786C66000060606060607E000063777F6B6363000066767E7E6E6600003C666666663C00007C66667C606000003C6666666C3600007C66667C6C6600003C603C06063C00007E1818181818000066666666667E0000666666663C18000063636B7F7763000066663C3C6666000066663C18181800007E0C1830607E00001E181818181E0000406030180C0600007818181818780000081C3663000000000000000000FF0000367F7F3E1C08001818181F1F1818180303030303030303181818F8F8000000181818F8F8181818000000F8F818181803070E1C3870E0C0C0E070381C0E07030103070F1F3F7FFF000000000F0F0F0F80C0E0F0F8FCFEFF0F0F0F0F00000000F0F0F0F000000000FFFF000000000000000000000000FFFF00000000F0F0F0F0001C1C7777081C000000001F1F181818000000FFFF000000181818FFFF18181800003C7E7E7E3C0000000000FFFFFFFFC0C0C0C0C0C0C0C0000000FFFF181818181818FFFF000000F0F0F0F0F0F0F0F01818181F1F000000786078607E181E0000183C7E18181800001818187E3C18000018307E3018000000180C7E0C18000000183C7E7E3C180000003C063E663E000060607C66667C0000003C6060603C000006063E66663E0000003C667E603C00000E183E1818180000003E66663E067C0060607C666666000018003818183C00000600060606063C0060606C786C66000038181818183C000000667F7F6B630000007C666666660000003C6666663C0000007C66667C606000003E66663E060600007C666060600000003E603C067C0000187E1818180E000000666666663E0000006666663C18000000636B7F3E36000000663C183C660000006666663E0C7800007E0C18307E0000183C7E7E183C001818181818181818007E787C6E660600081838783818080010181C1E1C1810000000000000000000001818181800180000666666000000000066FF6666FF6600183E603C067C180000666C18306646001C361C386F663B000018181800000000000E1C18181C0E00007038181838700000663CFF3C6600000018187E1818000000000000001818300000007E00000000000000000018180000060C1830604000003C666E76663C000018381818187E00003C660C18307E00007E0C180C663C00000C1C3C6C7E0C00007E607C06663C00003C607C66663C00007E060C18303000003C663C66663C00003C663E060C380000001818001818000000181800181830060C1830180C060000007E00007E00006030180C18306000003C660C18001800003C666E6E603E0000183C66667E6600007C667C66667C00003C666060663C0000786C66666C7800007E607C60607E00007E607C60606000003E60606E663E000066667E66666600007E181818187E000006060606663C0000666C78786C66000060606060607E000063777F6B6363000066767E7E6E6600003C666666663C00007C66667C606000003C6666666C3600007C66667C6C6600003C603C06063C00007E1818181818000066666666667E0000666666663C18000063636B7F7763000066663C3C6666000066663C18181800007E0C1830607E00001E181818181E0000406030180C0600007818181818780000081C3663000000000000000000FF0000367F7F3E1C08001818181F1F1818180303030303030303181818F8F8000000181818F8F8181818000000F8F818181803070E1C3870E0C0C0E070381C0E07030103070F1F3F7FFF000000000F0F0F0F80C0E0F0F8FCFEFF0F0F0F0F00000000F0F0F0F000000000FFFF000000000000000000000000FFFF00000000F0F0F0F0001C1C7777081C000000001F1F181818000000FFFF000000181818FFFF18181800003C7E7E7E3C0000000000FFFFFFFFC0C0C0C0C0C0C0C0000000FFFF181818181818FFFF000000F0F0F0F0F0F0F0F01818181F1F000000786078607E181E0000183C7E18181800001818187E3C18000018307E3018000000180C7E0C18000000183C7E7E3C180000003C063E663E000060607C66667C0000003C6060603C000006063E66663E0000003C667E603C00000E183E1818180000003E66663E067C0060607C666666000018003818183C00000600060606063C0060606C786C66000038181818183C000000667F7F6B630000007C666666660000003C6666663C0000007C66667C606000003E66663E060600007C666060600000003E603C067C0000187E1818180E000000666666663E0000006666663C18000000636B7F3E36000000663C183C660000006666663E0C7800007E0C18307E0000183C7E7E183C001818181818181818007E787C6E660600081838783818080010181C1E1C181000","FortyBytes":"1","Pages":[{"Nr":1,"Name":"Page 1","View":"00000000000000000000000000000000000000000000000000000000000000009191919191919191000000000000000000000000000000000000000000000000000000000000000091919191919191910000000000000102020304050607040504040904040A02020B0C00000000000091919191919191910000000000000D0E0F101112131411121516171118191A1B1C1D00000000000091919191919191910000000000001E1F20211112222311122425261127281129112A0000000000009191919191919191000000000000001F202B11122C2D11122E2F301131321133122000000000000091919191919191910000000000000036373839393A3B3C3D3E3F404142393943393700000000000091919191919191910000000000000000000000001F4445464748494A4B000000000000000000000091919191919191910000000000000000000000004C4D4E4F50515253540000000000000000000000919191919191919100000000000000000000000055565758595A5B5C5D000000000000000000000091919191919191910000000000000000000000000000000000000000000000000000000000000000919191919191919100000000000000000000000000000000000000000000000000000000000000009191919191919191000000000000000000000000000000343500000000000000000000000000000091919191919191910000000000000000000000006C6D6EE0E16F70710000000000000000000000009191919191919191000000000000000000000072737475767778797A7B000000000000000000000091919191919191910000000000000000000000E0E1626364636365E1E600000000000000000000009191919191919191000000000000000000006768696A6B6C6363656D6E00000000000000000000009191919191919191000000000000000000006F707172F37475767771780000000000000000000000919191919191919100000000000000000000000000797A7B7B7C7D000000000000000000000000009191919191919191000000000000000000000000005D595959597F0000000000000000000000000091919191919191910000000000000000000000006C6D6EE2E36F707100000000000000000000000091919191919191910000000000000000000000006C6D6EE4E56F707100000000000000000000000091919191919191910000000000000000000000006C6D6EE6E76F707100000000000000000000000091919191919191910000000000000000000000006C6D6EE8E96F7071000000000000000000000000919191919191919100000000000000000000000000797A7B7B7C7E00000000000000000000000000919191919191919100000000000000000000000000000000000000000000000000000000000000009191919191919191","SelectedFont":"0101010101010101010101010101010202020202010101010202","Width":40,"Height":26}],"Tiles":[]} \ No newline at end of file diff --git a/art/title_fonts.atrview b/art/title_fonts.atrview new file mode 100644 index 0000000..cdb82ed --- /dev/null +++ b/art/title_fonts.atrview @@ -0,0 +1 @@ +{"Version":"2023","ColoredGfx":"2","Chars":"0000000000818200000000000000000000000000000000000081820000000000636363636363636300000000008182000B0C0C0D0B0C0C2D1A0D000D1A0C0C0D00818200000000006363636363636363000000000081820005060E0F2406112018341B1D1806152221818200000000006363636363636363000000F4B88384BD0809100A1912133619361C1419091617A3C8C9B0F500000063636363636363630000002EB9BABBBC05061E07371D251D370615623706112AD7D8D9DA2F00000063636363636363630000002EE8E9EAC108091F0A76092627190916171914282BACDBDCDD2F00000063636363636363630000002EECBEC3EDC6C4E4C5B3C2B5E5B2C4E6E7B2C7C6B1DEDFE0E12F00000063636363636363630000005ED6000C0D0C0D0C0D0C0D31002021202120212021202131B45F00000063636363636363630000005EAE000C0D0C0D0C0D0C0D31002021202120212021202131BC5F00000063636363636363630000005EA8C20C0D0C0D0C0D0C0D31002021202120212021202131BE5F00000063636363636363630000005EAEA30C0D0C0D0C0D0C0D31002021202120212021202131C05F00000063636363636363630000005EAAC00C0D0C0D0C0D0C0D31002021202120212021202131BC5F00000063636363636363630000002ECDD1CEEED2F0CEF1EF50CCCFEFF3F0CECFF2D2CACED3D4D52F000000636363636363636300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","Width":40,"Height":26,"Lines":"0202020202020201010101010201010101010101010101010101","Colors":"CEC8001CEE28164CB4BA","Fontname1":"D:\\my\\retro\\dev\\Pecusx\\Timberman\\Young-lumberjack\\art\\title_fonts.fnt","Fontname2":"D:\\my\\retro\\dev\\Pecusx\\Timberman\\Young-lumberjack\\art\\game_over.fnt","Fontname3":"Default.fnt","Fontname4":"Default.fnt","Data":"000000000000000000147DE594504000147D595540404000147D59150000000000155E7979795B150015795E5E5E6D15000040454745400000000054E454000000004147454745000000409050905000000547577E5646050050D095A995D05000155F7E7A7A5F150055E97A7A7ABD550005576E57577B550054E4A5A5A5FF5500155F79555E6F550055E97AE995EB5500156F555A557A550055E97AE97ABD550015575E7A7A55150055FE6A7AEABF5500157F7A7A557A550055FA55E97ABD55000105175E1605010050D055A955D05000157F7955575B150055FE6AE9A5F55500155F7E5E7A5F1500004041475E5D1500155F7E5A555E150055E97AEA7ABD5500155F7E7A7A6F550055E97AEA7A6F5500157F7A7A7A6F550000F0000000000000155F7E7A7A5E150055E97A557AAD5500157F7A7A7A6F550055E97A7A7AAD55FFC0000000FC00000055FA55E955AF55403F00000000FF000055FAAA55E95550003F2324E72720000055E97A557E9B5500003FC00000000000157E7AEA7A6F5500157E7A7A7A6F15000040404040400000157F55557E5B150055AA7A7A7AAD550000000105FC000000155E7AE97A6F5500157E7A7A7A6F55000040557EEAFF5500157F7A7A796D5500157EEAAA9E5B1500157F7A7A796F5500557EDABAAA6F5501F000000000FC000055E97A7AEAAD5500003C000001013F0055E97A7AE955500000000000FC00000055E97A7A699B55CF000000000000000055E97A7AE96F5500155F7E5A557A150055FA95A9EAFD5500157F7A675756050055FAAAA6A5F55400157F7A7A7A5F1500157E7A7AEAFF5500157F7A7A5A570500157E7A7AE9B55400157D797B7A6F1500155EDEBAAA6F5500157D7B5A7A6D5500155E7AE97A5B1500157F7A5A557A1500157E7AEA7AAD5500157F79575E6F550055FAA9A59EEF5501155F7E5A557A1554F5AA95A9EAFD5500000040FC00000000005479E59EFF550000000040404040FF00000000000000000105175E1605010055DD59A955D05000157E7A7A556F150F00000000000000010101010101010140404040404040400605050707050504AA5555FFFF5555005E6E5B7B5B7B5E6EBEBEEBEBEBEBBEBEBEBCE8EBEBEBBEBCB5B9E5EDE5EDB5B9905050D0D050501005151810101119155454041414545404000000000000CCCC555540404455556E55554040404040407C5E1B1B1B181C1E000000000000333310101010101010100400000000000000050500000000000055550000000000005A551517171F1707404040406A6A55551E15101390955F55BE5505C70757FF55BE5555FFFFFFFF5FA55554D4D4F4D45050500000000000000501010100000F3FF5D4D05040405757550000000000FFFF5F1D1D150404F5F54040000000007C7F4040000000407CFFFC0000000000000000000000000000001775647475761707507464747474504057A7F5090200A0FC556A63A080023F00071F7F7F7F7F7F7FFFFFFFFFFFFFFFFFD4FDFFFFFFFFFFFF7F7F7F7F5F97A529FFFFFFFFFFFF5555FFFFFFFFFDD5566A000000000000000100000000000000550000000000000054FFFFFFFF55557F7FFDFFFFFD5555FFFF5757FFFFFFFF5555FFFFFFFF5757FFFFFFFFFFFFFFF55556575767674745898AFFFFFFFFFFFD5556FFFFFFFF5555FFFF5555FFFFFFFF55555556FDFFFFFD55561F7F7F7F7F7F7F7F7F7F7F7F7F5F55950000000000000005014757DFDFFFFFFF7757576767458955FDFFFFFFFFFFFFFFFFFFFFFF575767674757FFFFFFFF5555D0F4FDFFFFFFFFFF0040404000000000FDFFFFFD5554FDFD55AA3F40404ABF80075F7F7F7F7F7F7F0147474747675F7FFFFFFFFFFDF5565AFDF5D65A68A08000FF7F5F5767658589FFFFFFFFFFFD55545AF4FDFFFFFFFDD5D6F6FDFFFFFD5555800000407F40408000000000000000400101010101010101404040404040404055A9F20E0202AAFCAAAAC00000000000AA2A000000000F000AFE000000FF0000FDFFFFFFFFFFFFFFA8A0FF000000FF00FFFFFFFFFFFD55559F7F7F7F7F7F7F7F556A3FF000C00AFF00806A3F0000AAFC000080FC0000000F00000003000000FF000000FF000000C055AAFF0000A8FF00800F00000000C0000000000000820000020202020202020200000000FF000000AAAA000000F00F0000FC000000000F00AAAAFF000000FF00A883000000C000000A02FF000000FF00AAA83F000000FF0057A7F50902A0F000556A63A080000AFF000000A2FFAAAA5500002A0000AAAA550000000300AAAA5500808AEB3CAA6A55000000AAFFAAAA55000000FF00AAAA550000000000AAAA550000AAFF00AAAA5500000000FFAAAA552A0F00F003AAAA558AFC000AFFAAAA5502020AA9C2AAA95500000000000000000000FC404040408F00000300000000FF0000FC0000020F000A293E0202AAFA0200000000C00000000000000AFF0000000202AAA9F00202028000000000003F0000FF00000000FC002AFC000000023F002A0202020AA9FE02FDFFFFFD5556FDFD0000000000040000AAAAF00000FF00000000C0000000FC00AAAAFC0000003F00AAA800000000C000000080AA3F00800000000000F0000000000000000F000000000000000F000000AAFC000080A8FF00000003000000FF00000000A8FFAAAA55000000F000AAAA5500000002FFAAAA55000000BFC0AAAA55000000F00FAAAA550000000003AAAA55000101010101010100404040404040407F7F7F7F5F57A5A90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001818181800180000666666000000000066FF6666FF6600183E603C067C180000666C18306646001C361C386F663B000018181800000000000E1C18181C0E00007038181838700000663CFF3C6600000018187E1818000000000000001818300000007E00000000000000000018180000060C1830604000003C666E76663C000018381818187E00003C660C18307E00007E0C180C663C00000C1C3C6C7E0C00007E607C06663C00003C607C66663C00007E060C18303000003C663C66663C00003C663E060C380000001818001818000000181800181830060C1830180C060000007E00007E00006030180C18306000003C660C18001800003C666E6E603E0000183C66667E6600007C667C66667C00003C666060663C0000786C66666C7800007E607C60607E00007E607C60606000003E60606E663E000066667E66666600007E181818187E000006060606663C0000666C78786C66000060606060607E000063777F6B6363000066767E7E6E6600003C666666663C00007C66667C606000003C6666666C3600007C66667C6C6600003C603C06063C00007E1818181818000066666666667E0000666666663C18000063636B7F7763000066663C3C6666000066663C18181800007E0C1830607E00001E181818181E0000406030180C0600007818181818780000081C3663000000000000000000FF0000367F7F3E1C08001818181F1F1818180303030303030303181818F8F8000000181818F8F8181818000000F8F818181803070E1C3870E0C0C0E070381C0E07030103070F1F3F7FFF000000000F0F0F0F80C0E0F0F8FCFEFF0F0F0F0F00000000F0F0F0F000000000FFFF000000000000000000000000FFFF00000000F0F0F0F0001C1C7777081C000000001F1F181818000000FFFF000000181818FFFF18181800003C7E7E7E3C0000000000FFFFFFFFC0C0C0C0C0C0C0C0000000FFFF181818181818FFFF000000F0F0F0F0F0F0F0F01818181F1F000000786078607E181E0000183C7E18181800001818187E3C18000018307E3018000000180C7E0C18000000183C7E7E3C180000003C063E663E000060607C66667C0000003C6060603C000006063E66663E0000003C667E603C00000E183E1818180000003E66663E067C0060607C666666000018003818183C00000600060606063C0060606C786C66000038181818183C000000667F7F6B630000007C666666660000003C6666663C0000007C66667C606000003E66663E060600007C666060600000003E603C067C0000187E1818180E000000666666663E0000006666663C18000000636B7F3E36000000663C183C660000006666663E0C7800007E0C18307E0000183C7E7E183C001818181818181818007E787C6E660600081838783818080010181C1E1C1810000000000000000000001818181800180000666666000000000066FF6666FF6600183E603C067C180000666C18306646001C361C386F663B000018181800000000000E1C18181C0E00007038181838700000663CFF3C6600000018187E1818000000000000001818300000007E00000000000000000018180000060C1830604000003C666E76663C000018381818187E00003C660C18307E00007E0C180C663C00000C1C3C6C7E0C00007E607C06663C00003C607C66663C00007E060C18303000003C663C66663C00003C663E060C380000001818001818000000181800181830060C1830180C060000007E00007E00006030180C18306000003C660C18001800003C666E6E603E0000183C66667E6600007C667C66667C00003C666060663C0000786C66666C7800007E607C60607E00007E607C60606000003E60606E663E000066667E66666600007E181818187E000006060606663C0000666C78786C66000060606060607E000063777F6B6363000066767E7E6E6600003C666666663C00007C66667C606000003C6666666C3600007C66667C6C6600003C603C06063C00007E1818181818000066666666667E0000666666663C18000063636B7F7763000066663C3C6666000066663C18181800007E0C1830607E00001E181818181E0000406030180C0600007818181818780000081C3663000000000000000000FF0000367F7F3E1C08001818181F1F1818180303030303030303181818F8F8000000181818F8F8181818000000F8F818181803070E1C3870E0C0C0E070381C0E07030103070F1F3F7FFF000000000F0F0F0F80C0E0F0F8FCFEFF0F0F0F0F00000000F0F0F0F000000000FFFF000000000000000000000000FFFF00000000F0F0F0F0001C1C7777081C000000001F1F181818000000FFFF000000181818FFFF18181800003C7E7E7E3C0000000000FFFFFFFFC0C0C0C0C0C0C0C0000000FFFF181818181818FFFF000000F0F0F0F0F0F0F0F01818181F1F000000786078607E181E0000183C7E18181800001818187E3C18000018307E3018000000180C7E0C18000000183C7E7E3C180000003C063E663E000060607C66667C0000003C6060603C000006063E66663E0000003C667E603C00000E183E1818180000003E66663E067C0060607C666666000018003818183C00000600060606063C0060606C786C66000038181818183C000000667F7F6B630000007C666666660000003C6666663C0000007C66667C606000003E66663E060600007C666060600000003E603C067C0000187E1818180E000000666666663E0000006666663C18000000636B7F3E36000000663C183C660000006666663E0C7800007E0C18307E0000183C7E7E183C001818181818181818007E787C6E660600081838783818080010181C1E1C181000","FortyBytes":"1","Pages":[{"Nr":1,"Name":"Page 1","View":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004647303839221326292643383920213A3B3100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044C4D202126434445525320214C4D2021310010110C0D10111617053100000000000000000000243D264330242D303A3B202136375800242D202138392629310022135051310000000000000000000000262730242D304647202136375800383926293637243D2627505131000000000000000000000000000000000000000000002425243D262726290809000000000000000000000000000000000000000000004647243D38392021444552533100263F262924252635243D3100000000000000000000000000000000000000242D26432021263F262F302425444508090000000000000000000000000000000000202126272021383931004C4D20212425262F243D4C4D4445263530310000000000000000000000003839484944453024250A0B4445243D48493A3B262731222B4E4F08090000000000000000002021363726292635444520213A3B26272629264331003839202126434647303A3B3100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","SelectedFont":"0101010101010101010101010101010101010101010101010101","Width":40,"Height":26},{"Nr":2,"Name":"Credits","View":"000000000000000000000000000000002425243D26272629080900000000000000000000000000000000004647243D3839262926353103263F26292425484954550200263F262924252635243D310000000000000020212627262730464730243D3A3B2021363758002425243D2627262908090000000000263F20214C4D262936575803263F3026434E4F0200263520213637303A3B243D4C4D444526353031000000000000000000000000242D26432021263F262F302425444508090000000000000000000000000000000000202126272021383931004C4D20212425262F243D4C4D4445263530310000000000000000000000003839484944453024250A0B4445243D48493A3B262731222B4E4F08090000000000000000002021363726292635444520213A3B26272629264331003839202126434647303A3B31000000000000000000000000004647262F20213A3B2635444531004647243D080900000000000000000000004647243D3839262926353103464726272425020024253026295455363726294C4D302425525331000000000000000000363730242526293A3B242526292627310022135051310000000000000000000000262730242D304647202136375800383926293637243D2627505131000E0F1E1F1C13141531000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","SelectedFont":"0101010101010101010101010101010101010101010101010101","Width":40,"Height":26},{"Nr":3,"Name":"GO","View":"00000000000000000000000000000012133100000000000000000000000000000000000000000000000000000000000000000000000000101131000000000000000000000000000000000000000000000000000000000000000000000000000E0F58000000000000000000000000000000000000000000000000000000000000000000000000242D243D5C31000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","SelectedFont":"0101010101010101010101010101010101010101010101010101","Width":40,"Height":26},{"Nr":4,"Name":"Options","View":"00000000000000003839243D262726290809000000242D202138392629310000000000000000000000000000000000003839243D262726290809464726432021303A3B303A3B242D3100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","SelectedFont":"0101010101010101010101010101010101010101010101010101","Width":40,"Height":26},{"Nr":5,"Name":"GameOver","View":"0000000000818200000000000000000000000000000000000081820000000000636363636363636300000000008182000B0C0C0D0B0C0C2D1A0D000D1A0C0C0D00818200000000006363636363636363000000000081820005060E0F2406112018341B1D1806152221818200000000006363636363636363000000F4B88384BD0809100A1912133619361C1419091617A3C8C9B0F500000063636363636363630000002EB9BABBBC05061E07371D251D370615623706112AD7D8D9DA2F00000063636363636363630000002EE8E9EAC108091F0A76092627190916171914282BACDBDCDD2F00000063636363636363630000002EECBEC3EDC6C4E4C5B3C2B5E5B2C4E6E7B2C7C6B1DEDFE0E12F00000063636363636363630000005ED6000C0D0C0D0C0D0C0D31002021202120212021202131B45F00000063636363636363630000005EAE000C0D0C0D0C0D0C0D31002021202120212021202131BC5F00000063636363636363630000005EA8C20C0D0C0D0C0D0C0D31002021202120212021202131BE5F00000063636363636363630000005EAEA30C0D0C0D0C0D0C0D31002021202120212021202131C05F00000063636363636363630000005EAAC00C0D0C0D0C0D0C0D31002021202120212021202131BC5F00000063636363636363630000002ECDD1CEEED2F0CEF1EF50CCCFEFF3F0CECFF2D2CACED3D4D52F000000636363636363636300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","SelectedFont":"0202020202020201010101010201010101010101010101010101","Width":40,"Height":26},{"Nr":6,"Name":"Help","View":"00000000242D202138392629312425243D3A3B46472643243D3637444531000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A0A1A4A5C6C7B0A4BDBABB888900000000000000000000000000000000000000000000444546472021264346471D014445263F2021242526291D0100000000000000000000000000000E0F44454647313233243D5051312213484946474647243D3A3B31000000000000000000000000000000000000000000B6B7A6A9A6ABC6C78889000000000000000000000000000000000000000000000000003233243D50511D012425484926434445243D22431D010000000000000000000000000000000E0F44454647313233243D5051312213484946474647243D3A3B1D010000000000000000000000000000004647202122131D0144452629363726292425464731000000000000000000000000000000000000000000000000A6C3B0A4ADA6AFC6C788890000000000000000000000000000000000000000000000003233243D50511D012425484926434445243D22431D0100000000000000000000000000000010113A3B2627313233243D5051312213484946474647243D3A3B1D01000000000000000000000000224326294647484922433A3B1D0100243D263F464730243D3A3B310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","SelectedFont":"0101010101010101010101010101010101010101010101010101","Width":40,"Height":26}],"Tiles":[]} \ No newline at end of file diff --git a/art/title_fonts.fnt b/art/title_fonts.fnt new file mode 100644 index 0000000..5ee3afa Binary files /dev/null and b/art/title_fonts.fnt differ diff --git a/art/title_logo.asm b/art/title_logo.asm new file mode 100644 index 0000000..9dbd991 --- /dev/null +++ b/art/title_logo.asm @@ -0,0 +1,8 @@ + dta $00,$00,$00,$00,$00,$00,$01,$02,$02,$03,$04,$05,$06,$07,$04,$05,$04,$04,$09,$04,$04,$0A,$02,$02,$0B,$0C,$00,$00,$00,$00,$00,$00 + dta $00,$00,$00,$00,$00,$00,$0D,$0E,$0F,$10,$11,$12,$13,$14,$11,$12,$15,$16,$17,$11,$18,$19,$1A,$1B,$1C,$1D,$00,$00,$00,$00,$00,$00 + dta $00,$00,$00,$00,$00,$00,$1E,$1F,$20,$21,$11,$12,$22,$23,$11,$12,$24,$25,$26,$11,$27,$28,$11,$29,$11,$2A,$00,$00,$00,$00,$00,$00 + dta $00,$00,$00,$00,$00,$00,$00,$1F,$20,$2B,$11,$12,$2C,$2D,$11,$12,$2E,$2F,$30,$11,$31,$32,$11,$33,$12,$20,$00,$00,$00,$00,$00,$00 + dta $00,$00,$00,$00,$00,$00,$00,$36,$37,$38,$39,$39,$3A,$3B,$3C,$3D,$3E,$3F,$40,$41,$42,$39,$39,$43,$39,$37,$00,$00,$00,$00,$00,$00 + dta $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$1F,$44,$45,$46,$47,$48,$49,$4A,$4B,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + dta $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$4C,$4D,$4E,$4F,$50,$51,$52,$53,$54,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + dta $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$55,$56,$57,$58,$59,$5A,$5B,$5C,$5D,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 diff --git a/art/title_logo.fnt b/art/title_logo.fnt new file mode 100644 index 0000000..9c36dd7 Binary files /dev/null and b/art/title_logo.fnt differ diff --git a/art/title_timber.asm b/art/title_timber.asm new file mode 100644 index 0000000..edd7464 --- /dev/null +++ b/art/title_timber.asm @@ -0,0 +1,13 @@ + dta $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$34,$35,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + dta $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$6C,$6D,$6E,$E0,$E1,$6F,$70,$71,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + dta $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$72,$73,$74,$75,$76,$77,$78,$79,$7A,$7B,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + dta $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$E0,$E1,$62,$63,$64,$63,$63,$65,$E1,$E6,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + dta $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$67,$68,$69,$6A,$6B,$6C,$63,$63,$65,$6D,$6E,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + dta $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$6F,$70,$71,$72,$F3,$74,$75,$76,$77,$71,$78,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + dta $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$79,$7A,$7B,$7B,$7C,$7D,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + dta $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$5D,$59,$59,$59,$59,$7F,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + dta $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$6C,$6D,$6E,$E2,$E3,$6F,$70,$71,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + dta $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$6C,$6D,$6E,$E4,$E5,$6F,$70,$71,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + dta $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$6C,$6D,$6E,$E6,$E7,$6F,$70,$71,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + dta $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$6C,$6D,$6E,$E8,$E9,$6F,$70,$71,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 + dta $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$79,$7A,$7B,$7B,$7C,$7E,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 diff --git a/art/tl_l.fnt b/art/tl_l.fnt new file mode 100644 index 0000000..bfe7f10 Binary files /dev/null and b/art/tl_l.fnt differ diff --git a/art/tl_r.fnt b/art/tl_r.fnt new file mode 100644 index 0000000..fa4b14c Binary files /dev/null and b/art/tl_r.fnt differ diff --git a/art/tu.fnt b/art/tu.fnt new file mode 100644 index 0000000..9adf241 Binary files /dev/null and b/art/tu.fnt differ diff --git a/from Adam/AtariOnLine logo v1_0.g2f b/from Adam/AtariOnLine logo v1_0.g2f new file mode 100644 index 0000000..1724e9b Binary files /dev/null and b/from Adam/AtariOnLine logo v1_0.g2f differ diff --git a/from Adam/AtariOnLine logo v1_0.png b/from Adam/AtariOnLine logo v1_0.png new file mode 100644 index 0000000..9bc6704 Binary files /dev/null and b/from Adam/AtariOnLine logo v1_0.png differ diff --git a/from KAZ/artwork/ATARI_ON.XEX b/from Adam/AtariOnLine logo v1_0.xex similarity index 100% rename from from KAZ/artwork/ATARI_ON.XEX rename to from Adam/AtariOnLine logo v1_0.xex diff --git a/from Adam/digital_melody_logo_.g2f b/from Adam/digital_melody_logo_.g2f new file mode 100644 index 0000000..3bd242c Binary files /dev/null and b/from Adam/digital_melody_logo_.g2f differ diff --git a/from Adam/digital_melody_logo_.png b/from Adam/digital_melody_logo_.png new file mode 100644 index 0000000..3e886e3 Binary files /dev/null and b/from Adam/digital_melody_logo_.png differ diff --git a/from KAZ/artwork/DM.XEX b/from Adam/digital_melody_logo_.xex similarity index 100% rename from from KAZ/artwork/DM.XEX rename to from Adam/digital_melody_logo_.xex diff --git a/from Adam/timberman_gameover_3.png b/from Adam/timberman_gameover_3.png new file mode 100644 index 0000000..a96dd9d Binary files /dev/null and b/from Adam/timberman_gameover_3.png differ diff --git a/from Adam/timberman_gameover_G2F3.g2f b/from Adam/timberman_gameover_G2F3.g2f new file mode 100644 index 0000000..a748410 Binary files /dev/null and b/from Adam/timberman_gameover_G2F3.g2f differ diff --git a/from KAZ/artwork/GAMEOVER.XEX b/from Adam/timberman_gameover_G2F3.xex similarity index 100% rename from from KAZ/artwork/GAMEOVER.XEX rename to from Adam/timberman_gameover_G2F3.xex diff --git a/from KAZ/S.XEX b/from_KAZ/S.XEX similarity index 100% rename from from KAZ/S.XEX rename to from_KAZ/S.XEX diff --git a/from KAZ/Timberman_exe_w06.atr b/from_KAZ/Timberman_exe_w06.atr similarity index 100% rename from from KAZ/Timberman_exe_w06.atr rename to from_KAZ/Timberman_exe_w06.atr diff --git a/from KAZ/artwork/A.FNT b/from_KAZ/artwork/A.FNT similarity index 100% rename from from KAZ/artwork/A.FNT rename to from_KAZ/artwork/A.FNT diff --git a/from KAZ/artwork/A1.FNT b/from_KAZ/artwork/A1.FNT similarity index 100% rename from from KAZ/artwork/A1.FNT rename to from_KAZ/artwork/A1.FNT diff --git a/from_KAZ/artwork/ATARI_ON.XEX b/from_KAZ/artwork/ATARI_ON.XEX new file mode 100644 index 0000000..5e34b92 Binary files /dev/null and b/from_KAZ/artwork/ATARI_ON.XEX differ diff --git a/from KAZ/artwork/D.DAT b/from_KAZ/artwork/D.DAT similarity index 100% rename from from KAZ/artwork/D.DAT rename to from_KAZ/artwork/D.DAT diff --git a/from_KAZ/artwork/DM.XEX b/from_KAZ/artwork/DM.XEX new file mode 100644 index 0000000..11c8d5a Binary files /dev/null and b/from_KAZ/artwork/DM.XEX differ diff --git a/from_KAZ/artwork/GAMEOVER.XEX b/from_KAZ/artwork/GAMEOVER.XEX new file mode 100644 index 0000000..9cc25a5 Binary files /dev/null and b/from_KAZ/artwork/GAMEOVER.XEX differ diff --git a/from KAZ/artwork/T1.FNT b/from_KAZ/artwork/T1.FNT similarity index 100% rename from from KAZ/artwork/T1.FNT rename to from_KAZ/artwork/T1.FNT diff --git a/from KAZ/artwork/T2.FNT b/from_KAZ/artwork/T2.FNT similarity index 100% rename from from KAZ/artwork/T2.FNT rename to from_KAZ/artwork/T2.FNT diff --git a/from KAZ/artwork/T3.FNT b/from_KAZ/artwork/T3.FNT similarity index 100% rename from from KAZ/artwork/T3.FNT rename to from_KAZ/artwork/T3.FNT diff --git a/from KAZ/artwork/T4.FNT b/from_KAZ/artwork/T4.FNT similarity index 100% rename from from KAZ/artwork/T4.FNT rename to from_KAZ/artwork/T4.FNT diff --git a/from KAZ/artwork/T5.FNT b/from_KAZ/artwork/T5.FNT similarity index 100% rename from from KAZ/artwork/T5.FNT rename to from_KAZ/artwork/T5.FNT diff --git a/from KAZ/artwork/T6.FNT b/from_KAZ/artwork/T6.FNT similarity index 100% rename from from KAZ/artwork/T6.FNT rename to from_KAZ/artwork/T6.FNT diff --git a/lib/5200MACRO.ASM b/lib/5200MACRO.ASM new file mode 100644 index 0000000..7747352 --- /dev/null +++ b/lib/5200MACRO.ASM @@ -0,0 +1,161 @@ +;------------------------------------- + .MACRO ROLW + ROL :1 + ROL :1+1 + .ENDM +;------------------------------------- + .MACRO ASLW + ASL :1 + ROL :1+1 + .ENDM +;------------------------------------- + .MACRO RORW + ROR :1+1 + ROR :1 + .ENDM +;------------------------------------- + .MACRO LSRW + LSR :1+1 + ROR :1 + .ENDM + +;------------------------------------- + .MACRO VMAIN +; VMAIN #WORD,interrupt.vector +; interrupt.vector: +; 0 - VIMIRQ +; 1 - TIMCNT1 +; 2 - TIMCNT2 +; 3 - TIMCNT3 +; 4 - TIMCNT4 +; 5 - TIMCNT5 +; 6 - VVBLKI +; 7 - VVBLKD +; 8 - TIMVEC1 +; 9 - TIMVEC2 +; Initialises Vertical Blank Interrupts +; (works only with system interrupts ON) +;---------- +; on 5200 it sets up deferred VBL ONLY for now + sei + lda #$00 ;Disable all interruptes + sta nmien + sta irqen + +@ lda vcount + bne @- + mwa #:1 VVBLKD + mva #$40 nmien + ;Enable IRQ interrupts + sta pokmsk + sta irqen + cli + + .ENDM +;------------------------------------- + .MACRO VDLI +; VDLI #WORD +; Initialises Display List Interrupts + mwa #:1 VDSLST + mva #$C0 NMIEN + .ENDM +;------------------------------------- + .MACRO halt +?stop + lda RANDOM + and #$05 + sta COLBAK + jmp ?stop + .ENDM +;------------------------------------- + .MACRO KEY +; KEY +; waits for releasing and pressing "any key" + + .ENDM +;------------------------------------- + .MACRO WAIT +; WAIT +; waits one frame (1/50 s(PAL) or 1/60s(NTSC)) +?ze LDA VCOUNT + cmp #16 ; if line<16 then wait for line>15 (long VBI protection) + bcc ?ze + sbc #10 ; last lines correction +?wa cmp VCOUNT + bcc ?wa +?wf cmp VCOUNT + bcs ?wf + .ENDM +;------------------------------------- + .macro waitRTC + lda RTCLOK+1 +?wa cmp RTCLOK+1 + beq ?wa + .endm +;------------------------------------- + .macro negw + ; negate the given word (0-a) +;------------------------------------- + sec + lda #$00 + sbc :1 + sta :1 + lda #$00 + sbc :1+1 + sta :1+1 + .endm +;------------------------------------- + .macro randomize + ;usage: randomize floor ceiling + ;returns (in A) a random .byte between "floor" and "ceiling" + .if :2 < :1 + .error "floor higher than ceiling" + .endif +?rand + lda random + cmp #:2+1-:1 ;ceiling + bcs ?rand + .if %1>0 ; if floor = 0 - no add offset + adc #:1 + .endif + .endm +;------------------------------------- + .macro phx + txa + pha + .endm +;------------------------------------- + .macro phy + tya + pha + .endm +;------------------------------------- + .macro plx + pla + tax + .endm +;------------------------------------- + .macro ply + pla + tay + .endm +;------------------------------------- + .macro txy + txa + tay + .endm +;------------------------------------- + .macro tyx + tya + tax + .endm +;------------------------------------- + .macro pause + ;waits :1 number (byte) of frames + ldx #:1 +?PAUSELOOP + wait + dex + bne ?PAUSELOOP + .ENDM + diff --git a/lib/5200SYS.ASM b/lib/5200SYS.ASM new file mode 100644 index 0000000..0ad696b --- /dev/null +++ b/lib/5200SYS.ASM @@ -0,0 +1,272 @@ +;**************************************************************************** +;* ATARI 5200 CONSOLE * +;* SYSTEM EQUATES * +;**************************************************************************** +; based on https://web.archive.org/web/20200831200348/http://www.atarimuseum.com/videogames/consoles/5200/conv_to_5200.html +; +; OS VARIABLES FOR 5200 +; +; PAGE 0 +POKMSK = $00 ;pokmsk at $00 on Atari 5200 instead of $10 on Atari XL +RTCLOK = $01 ;Actually $01/$02 +CRITIC = $03 +ATRACT = $04 ;attact at $04 on Atari 5200 instead of $4D on Atari XL +DLPTRS = $05 ;DLPTRS at $05/$06 on Atari 5200 instead of $230 on Atari XL +DMACTLS = $07 ;DMACTLS at $07 on Atari 5200 instead of $22f on Atari XL +SSKCTL = skctl ;There is no shadow on Atari 5200 +PCOLR0 EQU $08 ;P0 COLOR +PCOLR1 EQU $09 ;P1 COLOR +PCOLR2 EQU $0a ;P2 COLOR +PCOLR3 EQU $0b ;P3 COLOR +COLOR0 EQU $0c ;COLOR 0 +COLOR1 EQU $0d +COLOR2 EQU $0e +COLOR3 EQU $0f +COLOR4 EQU $10 +COLBAKS EQU COLOR4 +PADDL0 EQU $11 +PADDL1 EQU $12 +PADDL2 EQU $13 +PADDL3 EQU $14 +PADDL4 EQU $15 +PADDL5 EQU $16 +PADDL6 EQU $17 +PADDL7 EQU $18 +STICK0 = $19 ;There is no stick0 but we will make the analog stick look like a digital one and store it here +STRIG0 = $1a ;There is no strig0 but we will make this the shadow of the TRIG0 ($c010) of GTIA +chbas = $1b ;There is no CHBAS but we will make this the shadow of the CHBASE +CONSOL = $1c ;There are no console keys on Atari 5200, so we replace console h/w reads with a new shadow based on the keypad keys +consol_reset = $07;The constant value representing that no consol key is pressed +kbcode = $1d ;There is no keyboard on the Atari 5200, so replace kbcode h/w reads with a byte variable read based on the keypad keys + +; PAGE 2 +VIMIRQ EQU $0200 ;IMMED IRQ VECTOR +VVBLKI EQU $0202 ;IMM VBLK NMI VECTOR +VVBLKD EQU $0204 ;DEF VBLK NMI VECTOR +VDSLST EQU $0206 ;DSP LIST NMI VECTOR +VKEYBD EQU $0208 ;POKEY KB IRQ VECTOR +VKEYCNT EQU $020A ;Keypad routine continuation vector +BRKKY EQU $023C ;BREAK KEY VECTOR +VBREAK EQU $020E ;BRK INST IRQ VECTOR +VSERIN EQU $0210 ;POKEY INPUT RDY IRQ +VSEROR EQU $0212 ;POKEY OUTPUT RDY +VSEROC EQU $0214 ;POKEY OUTPUT DONE +VTIMR1 EQU $0216 ;POKEY TIMER 1 IRQ +VTIMR2 EQU $0218 ;POKEY TIMER 2 IRQ +VTIMR4 EQU $021A ;POKEY TIMER 4 IRQ + + +ROM_SETTINGS = $bfe8 ; game ROM info start (24 bytes total, 20b title, 2b year, 2b start vector) + +; HARDWARE REGISTERS + +; --------------------------------------------------------------------------- +POKEY EQU $EB00 +; --------------------------------------------------------------------------- +; +; READ +; +POT0 EQU POKEY+$00 +POT1 EQU POKEY+$01 +POT2 EQU POKEY+$02 +POT3 EQU POKEY+$03 +POT4 EQU POKEY+$04 +POT5 EQU POKEY+$05 +POT6 EQU POKEY+$06 +POT7 EQU POKEY+$07 +ALLPOT EQU POKEY+$08 +KBCODE_5200 EQU POKEY+$09 +RANDOM EQU POKEY+$0a +POTGO EQU POKEY+$0b +SERIN EQU POKEY+$0d +IRQST EQU POKEY+$0e +SKSTAT EQU POKEY+$0f +; +; WRITE +; +AUDF1 EQU POKEY+$00 +AUDC1 EQU POKEY+$01 +AUDF2 EQU POKEY+$02 +AUDC2 EQU POKEY+$03 +AUDF3 EQU POKEY+$04 +AUDC3 EQU POKEY+$05 +AUDF4 EQU POKEY+$06 +AUDC4 EQU POKEY+$07 +AUDCTL EQU POKEY+$08 +STIMER EQU POKEY+$09 +SKRES EQU POKEY+$0a +SEROUT EQU POKEY+$0d +IRQEN EQU POKEY+$0e +SKCTL EQU POKEY+$0f +; +; +; +; --------------------------------------------------------------------------- +GTIA EQU $C000 +; --------------------------------------------------------------------------- +; +; WRITE +; +HPOSP0 EQU GTIA+$00 +HPOSP1 EQU GTIA+$01 +HPOSP2 EQU GTIA+$02 +HPOSP3 EQU GTIA+$03 +HPOSM0 EQU GTIA+$04 +HPOSM1 EQU GTIA+$05 +HPOSM2 EQU GTIA+$06 +HPOSM3 EQU GTIA+$07 +SIZEP0 EQU GTIA+$08 +SIZEP1 EQU GTIA+$09 +SIZEP2 EQU GTIA+$0a +SIZEP3 EQU GTIA+$0b +SIZEM EQU GTIA+$0c +GRAFP0 EQU GTIA+$0d +GRAFP1 EQU GTIA+$0e +GRAFP2 EQU GTIA+$0f +GRAFP3 EQU GTIA+$10 +GRAFM EQU GTIA+$11 +COLPM0 EQU GTIA+$12 +COLPM1 EQU GTIA+$13 +COLPM2 EQU GTIA+$14 +COLPM3 EQU GTIA+$15 +COLPF0 EQU GTIA+$16 +COLPF1 EQU GTIA+$17 +COLPF2 EQU GTIA+$18 +COLPF3 EQU GTIA+$19 +COLBAK EQU GTIA+$1a +PRIOR EQU GTIA+$1b +GPRIOR = PRIOR ; no PRIOR shadow (GPRIOR) +VDELAY EQU GTIA+$1c +GRACTL EQU GTIA+$1d +HITCLR EQU GTIA+$1e +CONSOL5200 EQU GTIA+$1f ; no CONSOL in 5200 +; +; READ +; +M0PF EQU GTIA+$00 +M1PF EQU GTIA+$01 +M2PF EQU GTIA+$02 +M3PF EQU GTIA+$03 +P0PF EQU GTIA+$04 +P1PF EQU GTIA+$05 +P2PF EQU GTIA+$06 +P3PF EQU GTIA+$07 +M0PL EQU GTIA+$08 +M1PL EQU GTIA+$09 +M2PL EQU GTIA+$0a +M3PL EQU GTIA+$0b +P0PL EQU GTIA+$0c +P1PL EQU GTIA+$0d +P2PL EQU GTIA+$0e +P3PL EQU GTIA+$0f +TRIG0 EQU GTIA+$10 +TRIG1 EQU GTIA+$11 +TRIG2 EQU GTIA+$12 +TRIG3 EQU GTIA+$13 +PAL EQU GTIA+$14 +; +; +; --------------------------------------------------------------------------- +ANTIC EQU $D400 +; --------------------------------------------------------------------------- +; +DMACTL EQU ANTIC+$00 +CHACTL EQU ANTIC+$01 +DLPTR EQU ANTIC+$02 +;DLISTH EQU ANTIC+$03 +HSCROL EQU ANTIC+$04 +VSCROL EQU ANTIC+$05 +PMBASE EQU ANTIC+$07 +CHBASE EQU ANTIC+$09 +WSYNC EQU ANTIC+$0a +VCOUNT EQU ANTIC+$0b +PENH EQU ANTIC+$0c +PENV EQU ANTIC+$0d +NMIEN EQU ANTIC+$0e +NMIRES EQU ANTIC+$0f +NMIST EQU ANTIC+$0f +; +; --------------------------------------------------------------------------- +; Atari ANTIC chip display list equates +; --------------------------------------------------------------------------- +; +JUMP EQU $01 ; display list jump instruction (3 byte) +JVB EQU $41 ; display list jump and wait for vblank instruction (3) +; +SCH EQU $10 ; display list horizontal scrolling +SCV EQU $20 ; display list vertical scrolling +LMS EQU $40 ; display list load memory scan instruction (3 byte) +DLII EQU $80 ; display list interrupt instruction +; +SKIP1 EQU $00 ; display list skip 1 scan line instruction +SKIP2 EQU $10 ; display list skip 2 scan lines instruction +SKIP3 EQU $20 ; display list skip 3 scan lines instruction +SKIP4 EQU $30 ; display list skip 4 scan lines instruction +SKIP5 EQU $40 ; display list skip 5 scan lines instruction +SKIP6 EQU $50 ; display list skip 6 scan lines instruction +SKIP7 EQU $60 ; display list skip 7 scan lines instruction +SKIP8 EQU $70 ; display list skip 8 scan lines instruction +; +MODE2 EQU $02 ; display list mode 2 +MODE4 EQU $04 ; display list mode 4 +MODE8 EQU $08 ; display list mode 8 +MODEE EQU $0E ; display list mode E +MODEF EQU $0F ; display list mode F +; --------------------------------------------------------------------------- +; ENUMS +; --------------------------------------------------------------------------- + +.enum @dmactl + blank = %00 + narrow = %01 + standard= %10 + wide = %11 + missiles= %100 + players = %1000 + lineX1 = %10000 + lineX2 = %00000 + dma = %100000 +.ende + +scr48 = @dmactl(wide|dma|players|missiles|lineX1) +scr40 = @dmactl(standard|dma|players|missiles|lineX1) +scr32 = @dmactl(narrow|dma|players|missiles|lineX1) + +.enum @pmcntl + missiles= %1 + players = %10 + trigs = %100 +.ende + +.enum @gtictl + prior0 = %0 + prior1 = %1 + prior2 = %10 + prior4 = %100 + prior8 = %1000 + ply5 = %10000 ; Fifth Player Enable + mlc = %100000 ; Multiple Color Player Enable + mode9 = %01000000 + mode10 = %10000000 + mode11 = %11000000 +.ende +/* +; commented out to be replaced by the application specific A800 --> 5200 keypad translation +.enum @kbcode + _0 + _1 + _2 + _3 + _4 + _5 + _6 + _7 + _8 + _9 + _asterisk = $0a + _hash = $0b + _start = $0c + _pause = $0d + _reset = $0e +.ende +*/ \ No newline at end of file diff --git a/lib/ATARISYS.ASM b/lib/ATARISYS.ASM new file mode 100644 index 0000000..7b11904 --- /dev/null +++ b/lib/ATARISYS.ASM @@ -0,0 +1,738 @@ +;**************************************************************************** +;* ATARI PERSONAL COMPUTER * +;* SYSTEM EQUATES * +;**************************************************************************** +; +; OPERATING SYSTEM EQUATE FILE +; +; MODULE ORIGIN TABLE +; +; VECTOR TABLE +; +; HANDLER ENTRY POINTS ARE CALL- +; ED OUT IN THE FOLLOWING VECTOR +; TABLE. THESE ARE THE ADDRESSES +; MINUS ONE. +; +; EXAMPLE FOR EDITOR +; +; E400 OPEN +; 2 CLOSE +; 4 GET +; 6 PUT +; 8 STATUS +; A SPECIAL +; C JUMP TO POWER ON INIT +; F NOT USED +; +EDITRV EQU $E400 ;EDITOR +SCRENV EQU $E410 ;TV SCREEN +KEYBDV EQU $E420 ;KEYBOARD +PRINTV EQU $E430 ;PRINTER +CASETV EQU $E440 ;CASSETTE +; +; JUMP VECTOR TABLE +; +; THE FOLLOWING IS A TABLE OF +; JUMP INSTRUCTIONS TO VARIOUS +; ENTRY POINTS IN THE OPERATING +; SYSTEM +; +DISKIV EQU $E450 ;DISK INITIALIZATION +DSKINV EQU $E453 ;DISK INTERFACE +CIOV EQU $E456 ;CENTRAL I/O ROUTINE +SIOV EQU $E459 ;SERIAL I/O ROUTINE +SETVBV EQU $E45C ;SET SYSTEM TIMERS +SYSVBV EQU $E45F ;VBLANK CALCULATIONS +XITVBV EQU $E462 ;EXIT VBLANK +SIOINV EQU $E465 ;SIO INITIALIZATION +SENDEV EQU $E468 ;SEND ENABLE ROUTINE +INTINV EQU $E46B ;INTRPT HANDLER INIT +CIOINV EQU $E46E ;CIO INITIALIZATION +BLKBDV EQU $E471 ;BLACKBOARD MODE +WARMSV EQU $E474 ;WARM START VECTOR +COLDSV EQU $E477 ;COLD START VECTOR +RBLOKV EQU $E47A ;CASSETTE READ BLOCK +CSOPIV EQU $E47D ;CASSETTE INPUT OPEN +; +; VECTORS ADDED FOR 800XL +; +PUPDIV EQU $E480 ;POWER UP DISPLAY +SLFTSV EQU $E483 ;SELF TEST PROGRAM +PHENTV EQU $E486 ;UPLOADED HANDLER ENTER +PHULNV EQU $E489 ;UPLOADED HANDLER UNLINK +PHINIV EQU $E48C ;UPLOADED HANDLER INIT +; +; OPERATING SYSTEM EQUATES +; +; COMMAND CODES FOR IOCBS +; +_OPEN EQU $03 ;OPEN FOR I/O +GETREC EQU $05 ;GET RECORD (TEXT) +GETCHR EQU $07 ;GET CHARACTER(S) +PUTREC EQU $09 ;PUT RECORD (TEXT) +PUTCHR EQU $0B ;PUT CHARACTER(S) +_CLOSE EQU $0C ;CLOSE DEVICE +STATIS EQU $0D ;STATUS REQUEST +SPECIL EQU $0E ;SPECIAL ENTRY COMMAND +; +; SPECIAL ENTRY COMMANDS +; +DRAWLN EQU $11 ;DRAW LINE +FILLIN EQU $12 ;FILL +RENAME EQU $20 ;RENAME DISK FILE +DELETE EQU $21 ;DELETE DISK FILE +FORMAT EQU $22 ;FORMAT DISK +LOCKFL EQU $23 ;LOCK FILE +UNLOCK EQU $24 ;UNLOCK FILE +POINT EQU $25 ;POINT SECTOR +NOTE EQU $26 ;NOTE SECTOR +IOCFRE EQU $FF ;IOCB "FREE" +; +; AUX1 EQUATES +; () INDICATES WHICH DEVICES +; +APPEND EQU $01 ;WR APPEND(D)-SCN RD(E) +DIRECT EQU $02 ;OPEN DIRECTORY(D) +OPNIN EQU $04 ;OPEN FOR INPUT(ALL) +OPNOT EQU $08 ;OPEN FOR OUTPUT(ALL) +OPNINO EQU $0C ;OPEN INPUT&OUTPUT(ALL) +MXDMOD EQU $10 ;OPEN MIXED MODE(E,S) +INSCLR EQU $20 ;OPEN W/O CLEAR(E,S) +; +; DEVICE NAMES +; +SCREDT EQU 'E' ;SCREEN EDITOR (R/W) +KBD EQU 'K' ;KEYBOARD (R ONLY) +DISPLY EQU 'S' ;SCREEN DISPLAY (R/W) +PRINTR EQU 'P' ;PRINTER (W ONLY) +CASSET EQU 'C' ;CASSETTE (R/W) +RS232 EQU 'R' ;MODEM (R/W) +DISK EQU 'D' ;DISK (R/W) +; +; +; +; OPERATING SYSTEM STATUS CODES +; +SUCCES EQU $01 ;SUCCESSFUL OPERATION +BRKABT EQU $80 ;BREAK KEY ABORT +PRVOPN EQU $81 ;IOCB ALREADY OPEN +NONDEV EQU $82 ;NON-EXISTANT DEVICE +WRONLY EQU $83 ;IOCB OPEN FOR W ONLY +NVALID EQU $84 ;INVALID COMMAND +NOTOPN EQU $85 ;DEVICE/FILE NOT OPEN +BADIOC EQU $86 ;INVALID IOCB # +RDONLY EQU $87 ;IOCB OPEN FOR R ONLY +EOFERR EQU $88 ;END OF FILE +TRNRCD EQU $89 ;TRUNCATED RECORD +TIMOUT EQU $8A ;PERIPHERAL TIMEOUT +DNACK EQU $8B ;DEVICE NO ACKNOWLEDGE +FRMERR EQU $8C ;SERIAL BUS FRAME ERR +CRSROR EQU $8D ;CURSOR OVERRANGE +OVRRUN EQU $8E ;SERIAL DATA OVERRUN +CHKERR EQU $8F ;SERIAL CHECKSUM ERR +DERRER EQU $90 ;PERIPHRAL DEVICE ERR +BADMOD EQU $91 ;BAD SCREEN MODE # +FNCNOT EQU $92 ;NONEXISTANT FUNCTION +SCRMEM EQU $93 ;SCREEN MEM TOO SMALL +FILENF EQU $AA ;FILE NOT FOUND +; +; PAGE ZERO RAM ASSIGNMENTS +; +LNFLG EQU $00 ;LINBUG RAM +NGFLAG EQU $01 ;POWER-UP SELF-TEST FLAG +; +; THESE LOCATIONS NOT CLEARED +; +CASINI EQU $02 ;CASSETTE INIT LOC +RAMLO EQU $04 ;RAM POINTER MEM TST +TRAMSZ EQU $06 ;TEMP REG RAM SIZE +TSTDAT EQU $07 ;RAM TEST DATA REG +; +;CLEARED ON COLDSTART ONLY +; +WARMST EQU $08 ;WARM START FLAG +BOOTQ EQU $09 ;SUCCESSFUL BOOT FLG +DOSVEC EQU $0A ;DOS START VECTOR +DOSINI EQU $0C ;DOS INIT ADDRESS +APPMHI EQU $0E ;APPL MEM HI LIMIT +; +;CLEARED ON COLD OR WARM START +; +POKMSK EQU $10 ;MASK POKEY IRQ +BRKKEY EQU $11 ;BREAK KEY FLAG +RTCLOK EQU $12 ;REAL TIME CLOCK +BUFADR EQU $15 ;INDIRECT BUFF ADDR +ICCOMT EQU $17 ;COMMAND FOR VECTOR +DSKFMS EQU $18 ;FMS POINTER +DSKUTL EQU $1A ;DISK UTILITIES PTR +ABUFPT EQU $1C ;RESERVED +ICHIDZ EQU $20 ;HANDLER INDEX # +ICDNOZ EQU $21 ;DEVICE NUMBER +ICCOMZ EQU $22 ;COMMAND CODE +ICSTAZ EQU $23 ;STATUS RETURN +ICBALZ EQU $24 ;BUFFER ADDRESS +ICBAHZ EQU $25 +ICPTLZ EQU $26 ;PUT BYTE ROUTINE-1 +ICPTHZ EQU $27 +ICBLLZ EQU $28 ;BUFFER LENGTH +ICBLHZ EQU $29 +ICAX1Z EQU $2A ;AUXILIARY BYTES +ICAX2Z EQU $2B +ICSPRZ EQU $2C ;SPARE BYTES +ICIDNO EQU $2E ;IOCB # X 16 +CIOCHR EQU $2F ;CIO CHARACTER BYTE +STATUS EQU $30 ;INTERNAL STATUS +CHKSUM EQU $31 ;CHECKSUM +BUFRLO EQU $32 ;DATA BUFFER LO BYTE +BUFRHI EQU $33 ;DATA BUFFER HI BYTE +BFENLO EQU $34 ;NEXT BYTE PAST DATA +BFENHI EQU $35 ;BUFFER (HI & LO) +LTEMP EQU $36 ;LOADER TEMP +BUFRFL EQU $38 ;DATA BUFFR FULL FLG +RECVDN EQU $39 ;RECIEVE DONE FLAG +XMTDON EQU $3A ;XMIT DONE FLAG +CHKSNT EQU $3B ;CHECKSUM SENT FLAG +NOCKSM EQU $3C ;NO CHKSUM SENT FLAG +;BPTR EQU $3D ;CASSETTE DATA INDEX +FTYPE EQU $3E ;INTERRECORD GAP TYPE +FEOF EQU $3F ;END OF FILE FLAG +FREQ EQU $40 ;BEEP COUNT +SOUNDR EQU $41 ;NOISY I/O FLAG +CRITIC EQU $42 ;CRITICAL MODE +FMSZPG EQU $43 ;FMS ZERO PAGE +ZCHAIN EQU $4A ;HANDLER LOADER TEMP +DSTAT EQU $4C ;DISPLAY STATUS +ATRACT EQU $4D ;ATTRACT FLAG +DRKMSK EQU $4E ;DARK ATTRACT MASK +COLRSH EQU $4F ;COLOR SHIFTER +TMPCHR EQU $50 ;TEMP STORAGE +HOLD1 EQU $51 ;TEMP STORAGE +LMARGN EQU $52 ;LEFT MARGIN (1) +RMARGN EQU $53 ;RIGHT MARGIN (38) +ROWCRS EQU $54 ;CURSOR COUNTERS +COLCRS EQU $55 +DINDEX EQU $57 ;DISPLAY MODE # +SAVMSC EQU $58 ;SCREEN MEM ADDR +OLDROW EQU $5A ;DRAW START POSIT +OLDCOL EQU $5B +OLDCHR EQU $5D ;DATA UNDER CURSOR +OLDADR EQU $5E ;CURSOR MEM ADDR +FKDEF EQU $60 ;FUNC KEY DEFEAT POINTER +PALNTS EQU $62 ;PAL/NTSC FLAG +LOGCOL EQU $63 ;COL IN LOGICAL LINE +ADRESS EQU $64 ;TEMP STORAGE +MLTEMP EQU $66 ;TEMP STORAGE +SAVADR EQU $68 ;TEMP STORAGE +RAMTOP EQU $6A ;AVAILABLE RAM PAGES +BUFCNT EQU $6B ;BUFFER COUNT +BUFSTR EQU $6C ;EDITOR GETCH POINTR +BITMSK EQU $6E ;BIT MASK +SHFAMT EQU $6F ;PIXEL JUSTIFICATION +ROWAC EQU $70 ;ROW ACCUMULATOR +COLAC EQU $72 ;COLUMN ACCUMULATOR +ENDPT EQU $74 ;LINE LENGTH +DELTAR EQU $76 ;DELTA ROW +DELTAC EQU $77 ;DELTA COLUMN +KEYDEF EQU $79 ;KEY DEFEAT POINTER +SWPFLG EQU $7B ;SPLIT SCN CURS CNTL +HOLDCH EQU $7C ;KB CHAR TEMP HOLD +INSDAT EQU $7D ;TEMP STORAGE +COUNTR EQU $7E ;DRAW ITERATION CNT +; +; 80-FF ARE RESERVED FOR USER +; +; NOTE: SEE FLOATING POINT +; SUBROUTINE AREA FOR ZERO +; PAGE CELLS +; +; PAGE 1 - HARDWARE STACK +; +; PAGE TWO RAM ASSIGNMENTS +; +VDSLST EQU $0200 ;DSP LIST NMI VECTOR +VPRCED EQU $0202 ;PROCEED IRQ VECTOR +VINTER EQU $0204 ;INTERUPT IRQ VECTOR +VBREAK EQU $0206 ;BRK INST IRQ VECTOR +VKEYBD EQU $0208 ;POKEY KB IRQ VECTOR +VSERIN EQU $020A ;POKEY INPUT RDY IRQ +VSEROR EQU $020C ;POKEY OUTPUT RDY +VSEROC EQU $020E ;POKEY OUTPUT DONE +VTIMR1 EQU $0210 ;POKEY TIMER 1 IRQ +VTIMR2 EQU $0212 ;POKEY TIMER 2 IRQ +VTIMR4 EQU $0214 ;POKEY TIMER 4 IRQ +VIMIRQ EQU $0216 ;IMMED IRQ VECTOR +CDTMV1 EQU $0218 ;COUNT DOWN TIMER 1 +CDTMV2 EQU $021A ;COUNT DOWN TIMER 2 +CDTMV3 EQU $021C ;COUNT DOWN TIMER 3 +CDTMV4 EQU $021E ;COUNT DOWN TIMER 4 +CDTMV5 EQU $0220 ;COUNT DOWN TIMER 5 +VVBLKI EQU $0222 ;IMM VBLK NMI VECTOR +VVBLKD EQU $0224 ;DEF VBLK NMI VECTOR +CDTMA1 EQU $0226 ;CDTMV1 JSR ADDRESS +CDTMA2 EQU $0228 ;CDTMV2 JSR ADDRESS +CDTMF3 EQU $022A ;CDTMV3 FLAG +SRTIMR EQU $022B ;SOFTWARE REPEAT TMR +CDTMF4 EQU $022C ;CDTMV4 FLAG +INTEMP EQU $022D ;IAN'S TEMP +CDTMF5 EQU $022E ;CDTMV5 FLAG +DMACTLS EQU $022F ;SAVE DMACTL REG +DLPTRS EQU $0230 ;SAVE DISP LIST LO +;SDLSTH EQU $0231 ;SAVE DISP LIST HI +SSKCTL EQU $0232 ;SKCTL REGISTER RAM +LCOUNT EQU $0233 ;LOADER TEMP +LPENH EQU $0234 ;LIGHT PEN HORIZONTAL +LPENV EQU $0235 ;LIGHT PEN VERTICAL +BRKKY EQU $0236 ;BREAK KEY VECTOR +RELADR EQU $0238 ;LOADER REL ADDR +CDEVIC EQU $023A ;COMMAND BUFFER-DEV +CCOMND EQU $023B ;COMMAND BUFFER-CMND +CAUX1 EQU $023C ;COMMAND BUFFER AUX1 +CAUX2 EQU $023D ;COMMAND BUFFER AUX2 +;TEMP EQU $023E ;TEMPORARY RAM CELL +ERRFLG EQU $023F ;DEVICE ERROR FLAG +DFLAGS EQU $0240 ;DISK FLAGS(SECTOR1) +DBSECT EQU $0241 ;# DISK BOOT SECTORS +BOOTAD EQU $0242 ;DISK BOOT ADDRESS +COLDST EQU $0244 ;COLDSTART FLAG 1=CS +RECLEN EQU $0245 ;LOADER LENGTH +DSKTIM EQU $0246 ;DISK TIME OUT REG +VSFLAG EQU $026C ;FINE SCROLL TEMP +KEYDIS EQU $026D ;KEY DISABLE FLAG +FINE EQU $026E ;FINE SCROLL ENABLE(A1200) +GPRIOR EQU $026F ;GLOBAL PRIORITY +PADDL0 EQU $0270 ;POT 0 RAM CELL +PADDL1 EQU $0271 +PADDL2 EQU $0272 +PADDL3 EQU $0273 +STICK0 EQU $0278 ;JOYSTICK 0 RAM CELL +STICK1 EQU $0279 +PTRIG0 EQU $027C ;PADDLE TRIGGER 0 +PTRIG1 EQU $027D +PTRIG2 EQU $027E +PTRIG3 EQU $027F +STRIG0 EQU $0284 ;JOYSTICK TRIGGER 0 +STRIG1 EQU $0285 +HIBYTE EQU $0288 ;LOADER +WMODE EQU $0289 ;CASSETTE R/W MODE +BLIM EQU $028A ;CASSETTE RECORD SIZE +IMASK EQU $028B +JVECK EQU $028C ;JUMP VECTOR +NEWADR EQU $028E ;LOADER NEW ADDRESS +TXTROW EQU $0290 ;TEXT ROWCRS +TXTCOL EQU $0291 ;TEXT COLCRS +TINDEX EQU $0293 ;TEXT INDEX +TXTMSC EQU $0294 ;TEXT WINDOW MEM ADD +TXTOLD EQU $0296 ;TEXT OLDROW & COL +CRETRY EQU $029C ;# COMMAND RETRIES +HOLD3 EQU $029D +SUBTMP EQU $029E +HOLD2 EQU $029F +DMASK EQU $02A0 ;PIXEL LOCATION MASK +TMPLBT EQU $02A1 +ESCFLG EQU $02A2 ;ESCAPE FLAG +TABMAP EQU $02A3 ;TAB STOP MAP +LOGMAP EQU $02B2 ;LINE START BIT MAP +INVFLG EQU $02B6 ;INVERSE VIDEO FLAG +FILFLG EQU $02B7 ;FILL FLAG FOR DRAW +TMPROW EQU $02B8 +TMPCOL EQU $02B9 +SCRFLG EQU $02BB ;SET IF SCROLLING +HOLD4 EQU $02BC ;TEMP USED BY DRAW +DRETRY EQU $02BD ;# OF DEVICE RETRIES +SHFLOK EQU $02BE ;SHIFT/CTL LOCK FLAG +BOTSCR EQU $02BF ;BOTTOM OF SCREEN +PCOLR0 EQU $02C0 ;P0 COLOR +PCOLR1 EQU $02C1 ;P1 COLOR +PCOLR2 EQU $02C2 ;P2 COLOR +PCOLR3 EQU $02C3 ;P3 COLOR +COLOR0 EQU $02C4 ;COLOR 0 +COLOR1 EQU $02C5 +COLOR2 EQU $02C6 +COLOR3 EQU $02C7 +COLOR4 EQU $02C8 +COLBAKS EQU COLOR4 +RUNADR EQU $02C9 ;LOADER +HIUSED EQU $02CB ;LOADER +ZHIUSE EQU $02CD ;LOADER +GBYTEA EQU $02CF ;LOADER +LOADAD EQU $02D1 ;LOADER +ZLOADA EQU $02D3 ;LOADER +DSCTLN EQU $02D5 ;DISK SECTOR LENGTH +ACMISR EQU $02D7 ;RESERVED +KRPDEL EQU $02D9 ;KEY REPEAT DELAY +KEYREP EQU $02DA ;KEY REPEAT RATE(VBLANKS) +NOCLIK EQU $02DB ;CLICK ENABLE/DISABLE +HELPFG EQU $02DC ;HELP KEY FLAG +DMASAV EQU $02DD ;DMA SAVE STATE +PBPNT EQU $02DE ;PRINT BUFFER POINTER +PBUFSZ EQU $02DF ;PRINT BUFFER SIZE +DOSRUN EQU $02E0 ;DOS RUN/INIT ADDRESSES +RAMSIZ EQU $02E4 ;RAM SIZE-HIGH BYTE +MEMTOP EQU $02E5 ;TOP OF AVAIL MEMORY +MEMLO EQU $02E7 ;BOTTOM OF AVAIL MEM +HNDLOD EQU $02E9 ;POLL FLAG (1200) +DVSTAT EQU $02EA ;STATUS BUFFER +CBAUDL EQU $02EE ;CASSETTE BAUD RATE +CBAUDH EQU $02EF +CRSINH EQU $02F0 ;CURSOR INHIBIT 0=ON +KEYDEL EQU $02F1 ;KEY DELAY +CH1 EQU $02F2 ;PRIOR KB CHAR CODE +CHACT EQU $02F3 ;CHACTL REGISTER RAM +CHBAS EQU $02F4 ;CHBAS REGISTER RAM +NEWROW EQU $02F5 ;POINT DRAW GOES TO +NEWCOL EQU $02F6 +ROWINC EQU $02F8 ;ROW INCREMENT VALUE +COLINC EQU $02F9 ;COL INCREMENT VALUE +CHAR EQU $02FA ;INTERNAL CHAR CODE +ATACHR EQU $02FB ;ATASCII CHARACTER +CHKEY EQU $02FC ;KB CHAR CODE (FIFO) +FILDAT EQU $02FD ;RIGHT FILL DATA +DSPFLG EQU $02FE ;DISPLAY FLAG +SSFLAG EQU $02FF ;START/STOP FLAG +; +; PAGE THREE RAM ASSIGNMENTS +; +DDEVIC EQU $0300 ;BUS I.D. NUMBER +DUNIT EQU $0301 ;UNIT NUMBER +DCOMND EQU $0302 ;BUS COMMAND +DSTATS EQU $0303 ;COMMAND TYPE/STATUS +DBUFLO EQU $0304 ;DATA BUFFER LO BYTE +DBUFHI EQU $0305 ;DATA BUFFER HI BYTE +DTIMLO EQU $0306 ;DEVICE TIMEOUT SECS +DUNUSE EQU $0307 ;UNUSED BYTE +DBYTLO EQU $0308 ;# OF BYTES XFERRED +DBYTHI EQU $0309 +DAUX1 EQU $030A ;COMMAND AUX BYTE 1 +DAUX2 EQU $030B ;COMMAND AUX BYTE 2 +TIMER1 EQU $030C ;INITIAL TIMER VALUE +JMPERS EQU $030E ;OPTIONS (1200) +CASFLG EQU $030F ;CASSETE MODE IF SET +TIMER2 EQU $0310 ;FINAL TIMER VALUE +;TEMP1 EQU $0312 ;TEMP STORAGE +;TEMP2 EQU $0313 ;TEMP STORAGE +PTIMOT EQU $0314 ;PRINTER TIMEOUT REG +;TEMP3 EQU $0315 ;TEMP STORAGE +SAVIO EQU $0316 ;SAVE SERIAL IN DATA +TIMFLG EQU $0317 ;TIMEOUT FLAG C BAUD +STACKP EQU $0318 ;SIO STACK PTR SAVE +TSTAT EQU $0319 ;TEMP STATUS HOLDER +HATABS EQU $031A ;HANDLER ADDR TABLE +PUPBT1 EQU $033D ;POWER/UP RESET +PUPBT2 EQU $033E +PUPBT3 EQU $033F +ICHID EQU $0340 ;HANDLER INDEX # +ICDNO EQU $0341 ;DEVICE NUMBER +ICCOM EQU $0342 ;COMMAND CODE +ICSTA EQU $0343 ;STATUS +ICBAL EQU $0344 ;BUFFER ADDR LO BYTE +ICBAH EQU $0345 ;BUFFER ADDR HI BYTE +ICPTL EQU $0346 ;PUT ROUTINE ADDR-1 +ICPTH EQU $0347 +ICBLL EQU $0348 ;BUFFER LENGTH LO +ICBLH EQU $0349 ;BUFFER LENGTH HI +ICAX1 EQU $034A ;AUX BYTE 1 +ICAX2 EQU $034B ;AUX BYTE 2 +ICSPR EQU $034C ;SPARE BYTES +PRNBUF EQU $03C0 ;PRINTER BUFFER (40 BYTES) +SUPERF EQU $03E8 ;SCREEN EDITOR +CKEY EQU $03E9 ;START KEY FLAG +CASSBT EQU $03EA ;CASSETTE BOOT FLAG +CARTCK EQU $03EB ;CARTRIDGE CHECKSUM +ACMVAR EQU $03ED ;RESERVED +MINTLK EQU $03F9 ;RESERVED +GINTLK EQU $03FA ;CART INTERLOCK +CHLINK EQU $03FB ;HANDLER CHAIN +; +; PAGE FOUR RAM ASSIGNMENTS +; +CASBUF EQU $03FD ;CASSETTE BUFFER (131 BYTES) +USAREA EQU $0480 ;USER AREA +; +; PAGE FIVE AND SIX ARE RESERVED +; FOR USER WORK SPACE +; +; COLLEEN MNEMONICS +; +; --------------------------------------------------------------------------- +POKEY EQU $D200 +; --------------------------------------------------------------------------- +; +; READ +; +POT0 EQU POKEY+$00 +POT1 EQU POKEY+$01 +POT2 EQU POKEY+$02 +POT3 EQU POKEY+$03 +POT4 EQU POKEY+$04 +POT5 EQU POKEY+$05 +POT6 EQU POKEY+$06 +POT7 EQU POKEY+$07 +ALLPOT EQU POKEY+$08 +KBCODE EQU POKEY+$09 +RANDOM EQU POKEY+$0a +POTGO EQU POKEY+$0b +SERIN EQU POKEY+$0d +IRQST EQU POKEY+$0e +SKSTAT EQU POKEY+$0f +; +; WRITE +; +AUDF1 EQU POKEY+$00 +AUDC1 EQU POKEY+$01 +AUDF2 EQU POKEY+$02 +AUDC2 EQU POKEY+$03 +AUDF3 EQU POKEY+$04 +AUDC3 EQU POKEY+$05 +AUDF4 EQU POKEY+$06 +AUDC4 EQU POKEY+$07 +AUDCTL EQU POKEY+$08 +STIMER EQU POKEY+$09 +SKRES EQU POKEY+$0a +SEROUT EQU POKEY+$0d +IRQEN EQU POKEY+$0e +SKCTL EQU POKEY+$0f +; +; +; +; --------------------------------------------------------------------------- +GTIA EQU $D000 +; --------------------------------------------------------------------------- +; +; WRITE +; +HPOSP0 EQU GTIA+$00 +HPOSP1 EQU GTIA+$01 +HPOSP2 EQU GTIA+$02 +HPOSP3 EQU GTIA+$03 +HPOSM0 EQU GTIA+$04 +HPOSM1 EQU GTIA+$05 +HPOSM2 EQU GTIA+$06 +HPOSM3 EQU GTIA+$07 +SIZEP0 EQU GTIA+$08 +SIZEP1 EQU GTIA+$09 +SIZEP2 EQU GTIA+$0a +SIZEP3 EQU GTIA+$0b +SIZEM EQU GTIA+$0c +GRAFP0 EQU GTIA+$0d +GRAFP1 EQU GTIA+$0e +GRAFP2 EQU GTIA+$0f +GRAFP3 EQU GTIA+$10 +GRAFM EQU GTIA+$11 +COLPM0 EQU GTIA+$12 +COLPM1 EQU GTIA+$13 +COLPM2 EQU GTIA+$14 +COLPM3 EQU GTIA+$15 +COLPF0 EQU GTIA+$16 +COLPF1 EQU GTIA+$17 +COLPF2 EQU GTIA+$18 +COLPF3 EQU GTIA+$19 +COLBAK EQU GTIA+$1a +PRIOR EQU GTIA+$1b +VDELAY EQU GTIA+$1c +GRACTL EQU GTIA+$1d +HITCLR EQU GTIA+$1e +CONSOL EQU GTIA+$1f +; +; READ +; +M0PF EQU GTIA+$00 +M1PF EQU GTIA+$01 +M2PF EQU GTIA+$02 +M3PF EQU GTIA+$03 +P0PF EQU GTIA+$04 +P1PF EQU GTIA+$05 +P2PF EQU GTIA+$06 +P3PF EQU GTIA+$07 +M0PL EQU GTIA+$08 +M1PL EQU GTIA+$09 +M2PL EQU GTIA+$0a +M3PL EQU GTIA+$0b +P0PL EQU GTIA+$0c +P1PL EQU GTIA+$0d +P2PL EQU GTIA+$0e +P3PL EQU GTIA+$0f +TRIG0 EQU GTIA+$10 +TRIG1 EQU GTIA+$11 +TRIG2 EQU GTIA+$12 +TRIG3 EQU GTIA+$13 +PAL EQU GTIA+$14 +; +; +; --------------------------------------------------------------------------- +ANTIC EQU $D400 +; --------------------------------------------------------------------------- +; +DMACTL EQU ANTIC+$00 +CHACTL EQU ANTIC+$01 +DLPTR EQU ANTIC+$02 +;DLISTH EQU ANTIC+$03 +HSCROL EQU ANTIC+$04 +VSCROL EQU ANTIC+$05 +PMBASE EQU ANTIC+$07 +CHBASE EQU ANTIC+$09 +WSYNC EQU ANTIC+$0a +VCOUNT EQU ANTIC+$0b +PENH EQU ANTIC+$0c +PENV EQU ANTIC+$0d +NMIEN EQU ANTIC+$0e +NMIRES EQU ANTIC+$0f +NMIST EQU ANTIC+$0f +; +; +; --------------------------------------------------------------------------- +PIA EQU $D300 +; --------------------------------------------------------------------------- +; +PORTA EQU PIA+0 +PORTB EQU PIA+1 +PACTL EQU PIA+2 +PBCTL EQU PIA+3 +; +; --------------------------------------------------------------------------- +; Atari ANTIC chip display list equates +; --------------------------------------------------------------------------- +; +JUMP EQU $01 ; display list jump instruction (3 byte) +JVB EQU $41 ; display list jump and wait for vblank instruction (3) +; +SCH EQU $10 ; display list horizontal scrolling +SCV EQU $20 ; display list vertical scrolling +LMS EQU $40 ; display list load memory scan instruction (3 byte) +DLII EQU $80 ; display list interrupt instruction +; +SKIP1 EQU $00 ; display list skip 1 scan line instruction +SKIP2 EQU $10 ; display list skip 2 scan lines instruction +SKIP3 EQU $20 ; display list skip 3 scan lines instruction +SKIP4 EQU $30 ; display list skip 4 scan lines instruction +SKIP5 EQU $40 ; display list skip 5 scan lines instruction +SKIP6 EQU $50 ; display list skip 6 scan lines instruction +SKIP7 EQU $60 ; display list skip 7 scan lines instruction +SKIP8 EQU $70 ; display list skip 8 scan lines instruction +; +MODE2 EQU $02 ; display list mode 2 +MODE4 EQU $04 ; display list mode 4 +MODE8 EQU $08 ; display list mode 8 +MODEE EQU $0E ; display list mode E +MODEF EQU $0F ; display list mode F +; --------------------------------------------------------------------------- +; ENUMS +; --------------------------------------------------------------------------- + +.enum @dmactl + blank = %00 + narrow = %01 + standard= %10 + wide = %11 + missiles= %100 + players = %1000 + lineX1 = %10000 + lineX2 = %00000 + dma = %100000 +.ende + +scr48 = @dmactl(wide|dma|players|missiles|lineX1) +scr40 = @dmactl(standard|dma|players|missiles|lineX1) +scr32 = @dmactl(narrow|dma|players|missiles|lineX1) + +.enum @pmcntl + missiles= %1 + players = %10 + trigs = %100 +.ende + +.enum @gtictl + prior0 = %0 + prior1 = %1 + prior2 = %10 + prior4 = %100 + prior8 = %1000 + ply5 = %10000 ; Fifth Player Enable + mlc = %100000 ; Multiple Color Player Enable + mode9 = %01000000 + mode10 = %10000000 + mode11 = %11000000 +.ende + +.enum @consol + start = %001 + select = %010 + option = %100 +.ende + +; --------------------------------------------------------------------------- +; KBCODEs +; --------------------------------------------------------------------------- +.enum @kbcode + _none = 255 + _esc = 28 + _1 = 31 + _2 = 30 + _3 = 26 + _4 = 24 + _5 = 29 + _6 = 27 + _7 = 51 + _8 = 53 + _9 = 48 + _0 = 50 + _lt = 54 + _gt = 55 + _del = 52 + _tab = 44 + _Q = 47 + _W = 46 + _E = 42 + _R = 40 + _T = 45 + _Y = 43 + _U = 11 + _I = 13 + _O = 8 + _P = 10 + _min = 14 + _up = 14 ; cursor function + _eq = 15 + _down = 15 ; cursor function + _ret = 12 + _A = 63 + _S = 62 + _D = 58 + _F = 56 + _G = 61 + _H = 57 + _J = 1 + _K = 5 + _L = 0 + _semicolon = 2 + _plus = 6 + _left = 6 ; cursor function + _asterisk = 7 + _right = 7 ; cursor function + _caps = 60 + _Z = 23 + _X = 22 + _C = 18 + _V = 16 + _B = 21 + _N = 36 + _M = 37 + _comma = 32 + _dot = 34 + _slash = 38 + _atari = 39 + _help = 17 + _F1 = 3 + _F2 = 4 + _F3 = 19 + _F4 = 20 + _space = 33 +.ende + +; --------------------------------------------------------------------------- +; MISCELLANEOUS +; --------------------------------------------------------------------------- + +EOL = $9b +CR_PC = 13 ; PC CR code +LF_PC = 10 ; PC LF code diff --git a/lib/MACRO.ASM b/lib/MACRO.ASM new file mode 100644 index 0000000..1ce890a --- /dev/null +++ b/lib/MACRO.ASM @@ -0,0 +1,182 @@ +;------------------------------------- + .MACRO ROLW + ROL :1 + ROL :1+1 + .ENDM +;------------------------------------- + .MACRO ASLW + ASL :1 + ROL :1+1 + .ENDM +;------------------------------------- + .MACRO RORW + ROR :1+1 + ROR :1 + .ENDM +;------------------------------------- + .MACRO LSRW + LSR :1+1 + ROR :1 + .ENDM + +;------------------------------------- + .MACRO VMAIN +; VMAIN #WORD,interrupt.vector +; interrupt.vector: +; 0 - VIMIRQ +; 1 - TIMCNT1 +; 2 - TIMCNT2 +; 3 - TIMCNT3 +; 4 - TIMCNT4 +; 5 - TIMCNT5 +; 6 - VVBLKI +; 7 - VVBLKD +; 8 - TIMVEC1 +; 9 - TIMVEC2 +; Initialises Vertical Blank Interrupts +; (works only with system interrupts ON) + LDY # <:1 + LDX # >:1 + LDA #:2 + JSR SETVBV + .ENDM +;------------------------------------- + .MACRO VDLI +; VDLI #WORD +; Initialises Display List Interrupts + LDY # <:1 + LDX # >:1 + LDA #$C0 + STY $0200 + STX $0201 + STA NMIEN + .ENDM +;------------------------------------- + .MACRO VDL +; VDL #WORD +; Changes Display List addres +; and sets width of the screen +; vdl dl,$01 - narrow screen (32 bytes) +; vdl dl,$02 - normal screen (40 bytes) +; vdl dl,$03 - wide screen (48 bytes) +; (works only with system interrupts ON) + + .if %0=2 + lda dmactls + and #$fc + ora #%2 + sta dmactls + .endif + + LDA # <%1 + STA DLPTRS + LDA # >%1 + STA DLPTRS+1 + .ENDM +;------------------------------------- + .MACRO halt +?stop + lda RANDOM + and #$05 + sta COLBAK + jmp ?stop + .ENDM +;------------------------------------- + .MACRO KEY +; KEY +; waits for releasing and pressing "any key" + PHA +?CK1 LDA SKSTAT + AND #$04 + BEQ ?CK1 +?CK LDA SKSTAT + AND #$04 + BNE ?CK + PLA + .ENDM +;------------------------------------- + .MACRO WAIT +; WAIT +; waits one frame (1/50 s(PAL) or 1/60s(NTSC)) +?ze LDA VCOUNT + cmp #16 ; if line<16 then wait for line>15 (long VBI protection) + bcc ?ze + sbc #10 ; last lines correction +?wa cmp VCOUNT + bcc ?wa +?wf cmp VCOUNT + bcs ?wf + .ENDM +;------------------------------------- + .macro waitRTC + lda RTCLOK+2 +?wa cmp RTCLOK+2 + beq ?wa + .endm +;------------------------------------- + .macro negw + ; negate the given word (0-a) +;------------------------------------- + sec + lda #$00 + sbc :1 + sta :1 + lda #$00 + sbc :1+1 + sta :1+1 + .endm +;------------------------------------- + .macro randomize + ;usage: randomize floor ceiling + ;returns (in A) a random .byte between "floor" and "ceiling" + .if :2 < :1 + .error "floor higher than ceiling" + .endif +?rand + lda random + cmp #:2+1-:1 ;ceiling + bcs ?rand + .if %1>0 ; if floor = 0 - no add offset + adc #:1 + .endif + .endm +;------------------------------------- + .macro phx + txa + pha + .endm +;------------------------------------- + .macro phy + tya + pha + .endm +;------------------------------------- + .macro plx + pla + tax + .endm +;------------------------------------- + .macro ply + pla + tay + .endm +;------------------------------------- + .macro txy + txa + tay + .endm +;------------------------------------- + .macro tyx + tya + tax + .endm +;------------------------------------- + .macro pause + ;waits :1 number (byte) of frames + ldx #:1 +?PAUSELOOP + wait + dex + bne ?PAUSELOOP + .ENDM + diff --git a/lib/fileio.asm b/lib/fileio.asm new file mode 100644 index 0000000..406cea1 --- /dev/null +++ b/lib/fileio.asm @@ -0,0 +1,50 @@ +.IF *>0 ;this is a trick that prevents compiling this file alone + +;-------------------------------------------------- +.proc open +;-------------------------------------------------- +; OPEN #1,4,0,"D:LEVEL000.DAT" + + ldx #$10 ;IOCB #1 + lda #$03 ;komenda: OPEN + sta ICCOM,x + lda #fname + sta ICBAH,x + lda #04 ;kod dostępu: $04 odczyt, $08 zapis, $09 dopisywanie, $0c odczyt/zapis + sta ICAX1,x + lda #$00 ;dodatkowy parametr, $00 jest zawsze dobre + sta ICAX2,x + jmp ciov +.endp +;-------------------------------------------------- +.proc bget +;-------------------------------------------------- +; BGET #1,LevelFileBuff,LevelFileBuffLen-2 + + ldx #$10 ;IOCB #1 + lda #$07 ;komenda: GET BYTES / BINARY READ + sta ICCOM,x + lda #LevelFileBuff + sta ICBAH,x + lda #<(LevelFileBuffLen-2) ;wielkosc bloku danych w bajtach + sta ICBLL,x + lda #>(LevelFileBuffLen-2) + sta ICBLH,x + jmp ciov +.endp +;-------------------------------------------------- +.proc close +;-------------------------------------------------- +; CLOSE #1 + ldx #$10 ;IOCB #1 + lda #$0c ;komenda: CLOSE + sta ICCOM,x + jmp ciov +.endp + + +.ENDIF \ No newline at end of file diff --git a/lumber.asm b/lumber.asm new file mode 100644 index 0000000..c62a17c --- /dev/null +++ b/lumber.asm @@ -0,0 +1,4189 @@ +;Young lumberjack closure +;--------------------------------------------------- +.IFNDEF TARGET + .def TARGET = 800 ; 5200 +.ENDIF +.IFNDEF RMT + .def RMT = 1 ; 2 - new player +.ENDIF +;--------------------------------------------------- + + ;OPT r+ ; saves 10 bytes, and probably works :) https://github.com/tebe6502/Mad-Assembler/issues/10 + +;--------------------------------------------------- +.macro build + dta d"1.00" ; number of this build (4 bytes) +.endm + +.macro RMTSong + lda #:1 + jsr RMTSongSelect +.endm + +;--------------------------------------------------- +.IF TARGET = 800 + ORG $3000 + ; dark screean and BASIC off + mva #0 dmactls ; dark screen + mva #$ff portb + ; and wait one frame :) + waitRTC ; or waitRTC ? + mva #$ff portb ; BASIC off + rts + ini $3000 + +.local + icl 'art/DM_logo_src/digital_melody_logo.asm' +.endl + +.ENDIF +;--------------------------------------------------- + icl 'lib/ATARISYS.ASM' + icl 'lib/MACRO.ASM' + + .zpvar temp .word = $80 + .zpvar temp2 .word + .zpvar VBItemp .word + .zpvar tempbyte .byte + .zpvar tempbyte2 .byte + .zpvar SyncByte .byte + .zpvar NTSCCounter .byte + .zpvar DLIcount .byte + .zpvar StateFlag .byte ; 0 - menu, 1 = GO!, 2 - game screen, 3 RIP screen, 4 - game over screen, 5 - halp screen, etc. + .zpvar PowerValue .byte ; power: 0 - 48 + .zpvar PowerTimer .byte + .zpvar PowerDownSpeed .byte + .zpvar PowerSpeedIndex .byte + .zpvar SpeedTableAdr .word + .zpvar Difficulty .byte ; 0 - normal, 1 - easy + .zpvar LumberjackDir .byte ; 2 - on left , 1 - on right + .zpvar PaddleState .byte + .zpvar LowCharsetBase .byte + .zpvar displayposition .word + .zpvar LastKey .byte ; $ff if no key pressed or last key released + .zpvar RMT_blocked sfx_effect .byte + .zpvar birdsHpos .byte ; 0 - no birds on screen (from $13 to $de) + .zpvar birdsOffset .byte + .zpvar birds_order .byte ; $00 - standard , $80 - reverse + .zpvar clouds1Hpos,clouds2Hpos,clouds3Hpos,clouds4Hpos .byte ; 0 - no cloud on screen (from $0e to $de) + ; PMG registers for sprites over horizon + .zpvar HPOSP0_u .byte + .zpvar HPOSP1_u .byte + .zpvar HPOSP2_u .byte + .zpvar HPOSP3_u .byte + .zpvar HPOSM0_u .byte + .zpvar HPOSM1_u .byte + .zpvar HPOSM2_u .byte + .zpvar HPOSM3_u .byte + .zpvar SIZEP0_u .byte + .zpvar SIZEP1_u .byte + .zpvar SIZEP2_u .byte + .zpvar SIZEP3_u .byte + .zpvar SIZEM_u .byte + ; PMG registers for sprites under horizon + .zpvar HPOSP0_d .byte + .zpvar HPOSP1_d .byte + .zpvar HPOSP2_d .byte + .zpvar HPOSP3_d .byte + .zpvar HPOSM0_d .byte + .zpvar HPOSM1_d .byte + .zpvar HPOSM2_d .byte + .zpvar HPOSM3_d .byte + .zpvar SIZEP0_d .byte + .zpvar SIZEP1_d .byte + .zpvar SIZEP2_d .byte + .zpvar SIZEP3_d .byte + .zpvar SIZEM_d .byte + .zpvar GRAFP0_d .byte + .zpvar GRAFP1_d .byte + .zpvar GRAFP2_d .byte + .zpvar GRAFP3_d .byte + .zpvar GRAFM_d .byte + .zpvar COLPM0_d .byte + .zpvar COLPM1_d .byte + .zpvar COLPM2_d .byte + .zpvar COLPM3_d .byte + +RMT_Zero_Page_V = COLPM3_d+1 ; POZOR!!! RMT vars go here +;--------------------------------------------------- + ; init.... dark screean and BASIC off + ORG $2000 + mva #0 dmactls ; dark screen + mva #$ff portb + ; and wait one frame :) + seq:wait ; or waitRTC ? + mva #$ff portb ; BASIC off + rts + ini $2000 +;--------------------------------------------------- + + org $2000 + .align $400 +PMmemory + .ds $400 +font_game_upper + ins 'art/tu.fnt' ; +font_game_lower_right + ins 'art/tl_r.fnt' ; +font_game_lower_left + ins 'art/tl_l.fnt' ; +font_game_rip + ins 'art/t_rip.fnt' ; +font_titles + ins 'art/title_fonts.fnt' ; +font_logo + ins 'art/title_logo.fnt' ; +font_over + ins 'art/game_over.fnt' ; +;--------------------------------------------------- +dl_over + .by $80 ; DLI1 + .by $45 + .wo over_screen ; Game Over screen + .by $05 + .by $05 ; DLI2 - end of chain (off) + :3 .by $05 + .by $85 ; DLI3 - font change + :4 .by $85 ; DLI4-7 - font colors + .by $85 ; DLI8 - font change + .by $05 + .by $41 + .wo dl_over +;--------------------------------------------------- +dl_help + .by $30+$80 + .by $45+$80 + .wo help_screen ; + :3 .by $05+$80 + .by $05 + .by $30+$80 + :3 .by $05+$80 + .by $05 + .by $30+$80 + :3 .by $05+$80 + .by $05 + .by $41 + .wo dl_help +;--------------------------------------------------- +dl_title + .by $10,$70 + .by $44+$80 ; DLI1 - Logo PM and colors + .wo title_logo ; title logo (menu?) + .by $84 ; DLI2 - Logo colors + .by $84 ; DLI3 - Logo PM and colors + .by $84 ; DLI4 - second clouds + .by $84 ; DLI5 - Logo colors + .by $84 ; DLI6 - Logo colors + .by $04 + .by $84 ; DLI7 - last clouds + .by $44 + .wo empty_line + .by $44 + .wo empty_line + .by $44+$80 ; DLI8 - hat color change + .wo title_timber ; timberman logo + .by $44+$80 ; DLI9 - color bars +timber_eyes_addr + .wo eyes_0 + .by $44+$80 ; DLI10 - timbermaner charset change and horizon and color bars + .wo title_timber+(32*2) + .by $84 ; DLI11 - color bars + .by $84 ; DLI12 - pants color + .by $84 ; DLI13 - shadow + .by $44+$80 ; DLI14 +timber_foot_addr + .wo foot_0 + .by $44+$80 ; DLI_L2 - fonts + .wo title_timber+(32*7) ; rest of shadow + .by $45 +difficulty_text_addr + .wo difficulty_normal_text + .by $45+$80 + .wo empty_line + .by $45+$80 + .wo credits_lines + .by $85 + .by $41 + .wo dl_title +;--------------------------------------------------- +dl_go + ;.by $10 + .by $44 + .wo power_bar ; power indicator + .by $84 ; DLI1 - color change (power bar - letters) + .by $44 + .wo gamescreen_middle ; branches + .by $84 ; DLI2 - second clouds + :3 .by $04 + .by $84 ; DLI3 - 3th clouds + :3 .by $04 + .by $84 ; DLI4 - last clouds + .by $84 ; DLI5 - GO line + .by $30 + .by $45 +go_addr + .wo go_text-32 ; empty line before + .by $10+$80; DLI6 - end GO line + .by $10 + .by $44 + .wo gamescreen_middle+32*13 + :2 .by $04 + .by $84 ; DLI7 + .by $44 +;animation_addr + .wo gamescreen_r_ph1p1 + .by $84 ; DLI8 + :3 .by $04 + .by $84 ; DLI9 + .by $84 ; DLI10 + .by $04+$80 ; DLI11 - shadow + .by $44 +;lastline_addr + .wo last_line_r + .by $41 + .wo dl_go +;--------------------------------------------------- +dl_level + ;.by $10 + .by $44 + .wo power_bar ; power indicator + .by $84 ; DLI1 - color change (power bar - letters) + .by $44 + .wo gamescreen_middle ; branches + .by $84 ; DLI2 - second clouds + :3 .by $04 + .by $84 ; DLI3 - 3th clouds + :3 .by $04 + .by $84 ; DLI4 - last clouds + :7 .by $04 + .by $84 ; DLI5 + .by $44 +animation_addr + .wo gamescreen_r_ph1p1 + .by $84 ; DLI6 + :3 .by $04 + .by $84 ; DLI7 + .by $84 ; DLI8 + .by $04+$80 ; DLI9 - shadow + .by $44 +lastline_addr + .wo last_line_r + .by $41 + .wo dl_level +;--------------------------------------------------- +Power = power_bar+32+10 +gamescreen_middle + .ds 32*18 ; 18 lines +screen_score = gamescreen_middle+9*32+14 +screen_timer = gamescreen_middle+1*32+12 +;--------------------------------------------------- +GameColors + .ds 64 +c_black = 0 +c_white = 1 ; (numbers and letters anf chain) +c_sky = 2 +c_dark_brown = 3 +c_light_brown = 4 +c_red = 5 ; (power bar) +c_shirtA = 6 ; Lumberjack shirt A +c_shirtB = 7 ; Lumberjack shirt B +c_hands = 8 ; Lumberjack hand/face +c_birds = 9 +c_white2 = 10 +c_light_red = 11 ; (power bar up) +c_horizonA = 12 ; thin horizon line A +c_horizonB = 13 ; thin horizon line B +c_grass = 14 ; green grass +c_hat = 15 +c_buckle = 16 ; button and buckle... and logo +c_pants = 17 ; blue pants +c_greyRIP = 18 +c_font1 = 19 ; title fonts colors +c_font2 = 20 ; .. and logo +c_font3 = 21 +c_font4 = 22 +c_font5 = 23 +c_font1b = 24 +c_font2b = 25 +c_font5b = 26 +c_logo1 = 27 ; rest of logo colors +c_logo2 = 28 +c_logo3 = 29 +c_logo4 = 30 +c_logo5 = 31 +c_clouds = 32 ; clouds +c_shirtC = 33 ; timberman shirt on title screen +c_over1 = 34 ; additional Game Over color +c_shadow = 35 ; lumberjack green shadow +c_fonti = 36 ; invertet font color +c_chain1 = 37 ; chain +c_chain2 = 38 +;--------------------------------------------------- + icl 'art/anim_exported.asm' +; Animations: +; v1 - if no branches +; v2 - if the branch under (due to change of sides) the lumberjack and none above - (now v1) +; v3 - if the branch opposite the lumberjack and no branch and none above - (now v1) +; v4 - if no branch at the level of the lumberjack and branch above (kill) +; v5 - if the branch under (due to change of sides) the lumberjack and branch above (kill) - (now v4) +; v6 - if the branch opposite the lumberjack and branch above (kill) - (now v4) +; v7 - if no branch at the level of the lumberjack and branch above on the other side +; v8 - if the branch under (due to change of sides) the lumberjack and branch above on the other side - (now v7) +; v9 - if the branch opposite the lumberjack and branch above on the other side - (now v7) +;-------------------------------------------------- +title_logo + icl 'art/title_logo.asm' ; 8 lines, mode 4 narrow +title_timber + icl 'art/title_timber.asm' ; 8 lines, mode 4 narrow (+ 4 lines - eyes animation, + 1 line - foot animation) +eyes_0 = title_timber+32 +eyes_1 = title_timber+(32*8) +eyes_2 = title_timber+(32*9) +eyes_3 = title_timber+(32*10) +eyes_4 = title_timber+(32*11) +foot_0 = title_timber+(32*6) +foot_1 = title_timber+(32*12) +empty_line + :40 .by 0 +go_text + icl 'art/go.asm' ; 4 lines, mode 5 +difficulty_normal_text + icl 'art/difficulty_texts.asm' ; 2 lines, mode 5 +difficulty_easy_text = difficulty_normal_text + 40 + .align $400 +over_screen + icl 'art/over_screen.asm' ; 13 lines, mode 5 narrow +scores_on_screen = over_screen+(32*7)+6 ; first byte of text in scores +credits_texts + icl 'art/credits.asm' ; 12 lines, mode 5 +number_of_credits = 6 +credits_lines ; 2 lines for credits animations + :80 .by 0 + .by 0 ; for second line animation +credit_nr ; number of credit to display (displayed) + .ds 1 +credits_anim_counter ; counter for credits animation/display + .ds 1 +help_screen + icl 'art/help.asm' ; 13 lines, mode 5 +;-------------------------------------------------- +.proc vint +;-------------------------------------------------- + lda StateFlag + jmi common_VBI + bne no_titles + ; titles (StateFlag=0) - set DLI + vdli TitlesDLI1 + jmp DLI_OK +no_titles + cmp #1 + bne no_go + ; go screen dli (StateFlag = 1) + vdli GoDLI1 + jmp DLI_OK +no_go + cmp #5 + bne no_help + ; help screen dli + vdli HelpDLI1 + jmp DLI_OK +no_help + cmp #4 + beq no_game_and_RIP + ; game screen and RIP screen (StateFlag=2 or 3) - set DLI + vdli IngameDLI1 + jmp DLI_OK +no_game_and_RIP + ; game over screen (StateFlag=4) - set DLI + vdli GameOverDLI1 + +DLI_OK + lda StateFlag + jeq titles_VBI + cmp #1 + beq go_VBI + cmp #2 + beq game_VBI + cmp #3 + beq game_VBI + cmp #4 + jeq gameover_VBI + cmp #5 + jeq common_VBI +game_VBI +go_VBI + ; game screen and RIP screen (StateFlag=2 or 3) VBI + ; over horizon + ; PMG horizontal coordinates and sizes + ldx #$0c +@ lda HPOSP0_u,x + sta HPOSP0,x + dex + bpl @- + ; fly birds + jsr FlyBirds + ; fly clouds + jsr FlyClouds + ; + jmp common_VBI + +titles_VBI + ; title screen (StateFlag=0) VBI + ; over horizon + ; PMG horizontal coordinates and sizes + ldx #$0c +@ lda HPOSP0_u,x + sta HPOSP0,x + dex + bpl @- + ; fly clouds + jsr FlyClouds + ; different clouds color + sec + lda GameColors+c_clouds + sta PCOLR2 + sta PCOLR3 + ; + jsr CreditsAnimate + ; + jsr TimberLogoAnimate + ; + jmp common_VBI +gameover_VBI + ; game over screen (StateFlag=4) VBI + ; over horizon + ; PMG horizontal coordinates and sizes + ldx #$0c +@ lda HPOSP0_u,x + sta HPOSP0,x + dex + bpl @- + ; no clouds + ;jsr FlyClouds + ; + ;jmp common_VBI + +common_VBI + ; NTSC speed correction + lda PAL + and #%00001110 + beq is_PAL + inc NTSCCounter + lda NTSCCounter + cmp #6 + bne is_PAL + mva #0 NTSCCounter + jmp VBI_end +is_PAL + + lda StateFlag + cmp #2 + bne wait_for_timer + ; only during game + ; time up + bit TimeCount + bpl time_stopped + jsr TimelUp +time_stopped + ; power down + dec PowerTimer + bne wait_for_timer + ; one bar down + mva PowerDownSpeed PowerTimer + jsr PowerDown +wait_for_timer + + bit RMT_blocked + bmi SkipRMTVBL + ; ------- RMT ------- + lda sfx_effect + bmi lab2 + asl ; * 2 + tay ;Y = 2,4,..,16 instrument number * 2 (0,2,4,..,126) + ldx #3 ;X = 0 channel (0..3 or 0..7 for stereo module) + lda #0 ;A = 0 note (0..60) + jsr RASTERMUSICTRACKER+15 ;RMT_SFX start tone (It works only if FEAT_SFX is enabled !!!) + lda #$ff + sta sfx_effect ;reinit value +lab2 + jsr RASTERMUSICTRACKER+3 ;1 play + ; ------- RMT ------- +SkipRMTVBL + +VBI_end + ; key release flag + lda LastKey + cmp #$ff + beq key_released + jsr GetKeyFast + cmp LastKey + beq last_key_still_press + mva #$ff LastKey +last_key_still_press +key_released + jmp XITVBV +.endp + +;-------------------------------------------------- +.proc FlyBirds +;-------------------------------------------------- + ; Birds fly and animation VBI procedure + lda birdsHpos + bne fly_birds + ; if no birds then randomize new birds start + lda RANDOM + and #%11111100 ; 1:64 + bne no_birds + ; new birds + mva RANDOM birds_order ; randomize birds order + jsr PrepareBirdsPM ; new birds position + jmp no_birds +fly_birds + lda RTCLOK+2 + and #%00000011 + bne no_wings_change + inc birdsHpos + lda birdsHpos + bit birds_order + bmi reverse_b_order + sta HPOSP0_u + clc + adc #6 + sta HPOSP1_u + bne new_b_h_pos ; always +reverse_b_order + sta HPOSP1_u + clc + adc #6 + sta HPOSP0_u +new_b_h_pos + ; wings + lda birdsHpos + and #%00000011 + bne no_wings_change + lda birdsHpos + and #%00000100 + bne wings_phase_a + jsr PrepareBirdsPM.bird_b + jmp no_wings_change +wings_phase_a + jsr PrepareBirdsPM.bird_a +no_wings_change +no_birds + rts +.endp +;-------------------------------------------------- +.proc FlyClouds +;-------------------------------------------------- + ; Clouds fly and animation VBI procedure + lda RTCLOK+2 + and #%00000111 + bne no_clouds_change + ; fly clouds + lda clouds1Hpos + bne cloud1_fly + ; if no cloud 1 then randomize new cloud 2 start + lda RANDOM + and #%11111000 ; 1:32 + bne no_new_cloud1 + ; then create new cloud 1 shape + jsr PrepareCloudsPM.make_cloud1 + mva #$de clouds1Hpos +cloud1_fly + dec clouds1Hpos + lda clouds1Hpos + clc + sta HPOSM2_u + adc #4 + sta HPOSP2_u + adc #8 + sta HPOSP3_u + adc #8 + sta HPOSM3_u + +no_new_cloud1 + lda clouds2Hpos + bne cloud2_fly + ; if no cloud 2 randomize new cloud 2 start + lda RANDOM + and #%11111000 ; 1:32 + bne no_new_cloud2 + ; then create new cloud 2 shape + jsr PrepareCloudsPM.make_cloud2 + mva #$de clouds2Hpos +cloud2_fly + dec clouds2Hpos +no_new_cloud2 + lda clouds3Hpos + bne cloud3_fly + ; if no cloud 3 then randomize new cloud 3 start + lda RANDOM + and #%11111000 ; 1:32 + bne no_new_cloud3 + ; then create new cloud 3 shape + jsr PrepareCloudsPM.make_cloud3 + mva #$de clouds3Hpos +cloud3_fly + dec clouds3Hpos +no_new_cloud3 + lda StateFlag + beq no_new_cloud4 ; no cloud 4 on Start (Menu) screem + lda clouds4Hpos + bne cloud4_fly + ; if no cloud 3 then randomize new cloud 3 start + lda RANDOM + and #%11111000 ; 1:32 + bne no_new_cloud4 + ; then create new cloud 3 shape + jsr PrepareCloudsPM.make_cloud4 + mva #$de clouds4Hpos +cloud4_fly + dec clouds4Hpos +no_new_cloud4 +no_clouds_change + rts +.endp +;-------------------------------------------------- +.proc CreditsClear +;-------------------------------------------------- + ldx #80 + lda #0 +@ sta credits_lines,x + dex + bpl @- + sta credit_nr + sta credits_anim_counter + rts +.endp +;-------------------------------------------------- +.proc CreditsAnimate +;-------------------------------------------------- + lda credits_anim_counter + cmp #40 + bcs static_display + ; lets animate + ; first move existing characters + ldx #38 +@ lda credits_lines,x + sta credits_lines+1,x + lda credits_lines+40,x + sta credits_lines+42,x + dex + bpl @- + ; and now write new characters to screen + ; credit text addres calculate + mwa #credits_texts VBItemp + ldx credit_nr + beq write_chars +@ adw VBItemp #80 + dex + bne @- +write_chars + ; first line + lda #39 + sec + sbc credits_anim_counter + tay + lda (VBItemp),y + sta credits_lines + ; second line + lda credits_anim_counter + cmp #20 + bcs no_spaces + ; first half of second credits line - spaces + lda #0 + sta credits_lines+40 + sta credits_lines+41 + beq static_display +no_spaces + ; second half of second credits line + lda #39 + sec + sbc credits_anim_counter + asl + clc + adc #40 + tay + lda (VBItemp),y + sta credits_lines+40 + iny + lda (VBItemp),y + sta credits_lines+41 + +static_display + inc credits_anim_counter + lda credits_anim_counter + cmp #200 + bne no_next_credit +next_credit + inc credit_nr + lda credit_nr + cmp #number_of_credits + bne no_credits_loop + mva #0 credit_nr +no_credits_loop + mva #0 credits_anim_counter +no_next_credit + rts +.endp +;-------------------------------------------------- +.proc TimberLogoAnimate +;-------------------------------------------------- + lda RTCLOK+2 + and #%00000011 ; for slower animation + jne no_timber_animation + inc AnimTimer + ; animations + ; check if animation in progress + ; eyes.... + ldx EyesPhase + beq no_eyes ; eyes up (no animation) + cpx #5 + beq no_eyes ; eyes down (no animation) + ; eyes animation in progress + ; next phase + inx + cpx #5 ; after last phase of eyes down animation + bne not_end_v1 + ldx #0 ; set to mo animation phase + beq not_end_v2 +not_end_v1 + cpx #10 ; after last phase of eyes up animation + bne not_end_v2 + ldx #5 ; set to mo animation phase +not_end_v2 + stx EyesPhase + jsr MenuEyesSet + jmp no_eyes_animation +no_eyes + ; no animation in progress let's make new + lda AnimTimer + cmp #30 + bne no_eyes_animation + mva #0 AnimTimer ; reset timer + lda RANDOM + and #%00000011 + beq no_eyes_animation ; 00 - no animation +/* cmp #1 + bne no_eyes_change ; up/down + ; eyes change (or not :) ) + ldx #5 ; eyes up + lda RANDOM + and #%00000111 + beq @+ ; eyes up (0) + ldx #0 ; eyes down (1-7) +@ stx EyesPhase + jsr MenuEyesSet + jmp no_eyes_animation + */ + cmp #1 + bne no_eyes_change + ; eyes down :) + ldx #0 ; set to no animation phase + stx EyesPhase + beq go_eyes_set +no_eyes_change + ; %10 and %11 - eyes animation + inc EyesPhase + ldx EyesPhase +go_eyes_set + jsr MenuEyesSet +no_eyes_animation + ; Foot animation (or not) + ; check if animation in progress + ; foot.... + ldx FootPhase + beq no_foot ; eyes up (no animation) + ; continue foot animation + inx + cpx #33 ; after last phase of foot animation (one frame = 4, one "step" = 2 frames = 8 .... +1 (ending frame) - 33 = 8(step)*4+1 + bne not_end_f + ldx #0 +not_end_f + stx FootPhase + cpx #8 + bne no_eyes_up + ; foot animation phase 8 - eyes up :) 50/50 + bit RANDOM + bmi no_eyes_up + mvx #5 EyesPhase + jsr MenuEyesSet +no_eyes_up + ldx FootPhase + jsr MenuFootSet + jmp no_timber_animation +no_foot + ; no animation in progress let's make new + lda RTCLOK+2 + and #%00000111 ; for slower animation + bne no_timber_animation + dec FootTimer + bne no_timber_animation + ; start foot animation + ldx #1 + stx FootPhase + jsr MenuFootSet + randomize 15 35 + sta FootTimer +no_timber_animation + rts +.endp +;-------------------------------------------------- +.proc NoDLI +;-------------------------------------------------- + rti +.endp +;-------------------------------------------------- +.proc TitlesDLI1 +; Clouds, color changes +;-------------------------------------------------- + pha + :3 sta WSYNC + mva #$70 HPOSP0 + mva #$7a HPOSP1 + mva GameColors+c_logo4 COLPF2 + mva GameColors+c_font2 COLPM0 + sta COLPM1 + lda #0 + sta SIZEP0 + mwa #TitlesDLI1.DLI2 VDSLST + pla + rti +DLI2 + pha + :5 sta WSYNC + mva GameColors+c_logo2 COLPF1 + mva GameColors+c_logo4 COLPM1 + ; set cloud 2 horizontal position + lda clouds2Hpos + clc + sta HPOSM2 + adc #4 + sta HPOSP2 + adc #8 + sta HPOSP3 + adc #8 + sta HPOSM3 + mwa #TitlesDLI1.DLI3 VDSLST + pla + rti +DLI3 + pha + mva GameColors+c_logo1 COLPM0 + :7 sta WSYNC + mva GameColors+c_buckle COLPF2 + mwa #TitlesDLI1.DLI4 VDSLST + pla + rti +DLI4 + pha + sta WSYNC + mva GameColors+c_logo1 COLPF2 + mva #$70 HPOSP0 + mva #$03 SIZEP0 + sta WSYNC + mva GameColors+c_font2 COLPM0 + :2 sta WSYNC + mva GameColors+c_logo3 COLPF1 + :3 sta WSYNC + mva GameColors+c_font2 COLPF2 + mwa #TitlesDLI1.DLI5 VDSLST + pla + rti +DLI5 + pha + sta WSYNC + mva GameColors+c_logo4 COLPF2 + mva GameColors+c_logo5 COLPM1 + mva #$70 HPOSP1 + mva #$03 SIZEP1 + mwa #TitlesDLI1.DLI6 VDSLST + pla + rti +DLI6 + pha + :3 sta WSYNC + mva GameColors+c_logo2 COLPF1 + :2 sta WSYNC + mva GameColors+c_logo5 COLPF2 + :2 sta WSYNC + mva GameColors+c_logo1 COLPF2 + ; set cloud 3 horizontal position + lda clouds3Hpos + clc + sta HPOSM2 + adc #4 + sta HPOSP2 + adc #8 + sta HPOSP3 + adc #8 + sta HPOSM3 + ; no cloud 3 ! +/* lda #0 + sta HPOSM2 + sta HPOSP2 + sta HPOSP3 + sta HPOSM3 */ + mwa #TitlesDLI1.DLI7 VDSLST + pla + rti +DLI7 + pha + ; timberman initial colors + mva GameColors+c_black COLPF0 + mva GameColors+c_shirtB COLPF1 + mva GameColors+c_hat COLPF2 + mva GameColors+c_white COLPF3 + mva GameColors+c_hands COLPM0 ; face + mva GameColors+c_dark_brown COLPM1 ; beard + lda #0 + sta SIZEP0 + sta SIZEP1 + mva #$7c HPOSP0 ; face + sta HPOSP1 ; beard + mwa #TitlesDLI1.DLI8 VDSLST + pla + rti +DLI8 + pha + ; timberman DLI1 + ; end of hat color + mva GameColors+c_shirtA COLPF2 + :7 sta WSYNC + mva GameColors+c_shirtC COLPF2 + mwa #TitlesDLI1.DLI9 VDSLST + pla + rti +DLI9 + pha + mva GameColors+c_buckle COLPM2 ; buckle and buttons color + ; color bars + :3 sta WSYNC + mva GameColors+c_shirtA COLPF2 + mva #$6f HPOSP0 ; left side hand + lda #%00000011 + sta SIZEM + mva #$8a HPOSM0 ; right side hand + :4 sta WSYNC + mva GameColors+c_shirtC COLPF2 + mva GameColors+c_light_brown COLPM1 ; axe color + mwa #TitlesDLI1.DLI10 VDSLST + pla + rti +DLI10 + pha + ; font for titles and timberman + mva #$75 HPOSP1 ; axe + mva #>font_titles CHBASE + sta WSYNC + mva GameColors+c_horizonA COLBAK ; thin line (horizon) + mva #$7e HPOSP2 ; buttons and buckle + mva #$6a HPOSM1 ; axe + sta WSYNC + mva GameColors+c_horizonB COLBAK ; additional lines (horizon) + mva #$03 SIZEP3 + mva #$6a HPOSP3 + mva GameColors+c_dark_brown COLPM3 ; axe color 2 + ; color bars + sta WSYNC + mva GameColors+c_shirtA COLPF2 + sta WSYNC + mva GameColors+c_grass COLBAK ; green (horizon) + :3 sta WSYNC + mva GameColors+c_shirtC COLPF2 + mwa #TitlesDLI1.DLI11 VDSLST + pla + rti +DLI11 + pha + sta WSYNC + ; horizon + ;mva GameColors+c_horizonA COLBAK ; thin line (horizon) + sta WSYNC + ;mva GameColors+c_horizonB COLBAK ; additional lines (horizon) + sta WSYNC + ; color bars + mva GameColors+c_shirtA COLPF2 + sta WSYNC + ;mva GameColors+c_grass COLBAK ; green (horizon) + ; color bars + :3 sta WSYNC + mva GameColors+c_shirtC COLPF2 + mwa #TitlesDLI1.DLI12 VDSLST + pla + rti +DLI12 + pha + ; color bars + :2 sta WSYNC + mva GameColors+c_shirtA COLPF2 ; belt color + :3 sta WSYNC + mva GameColors+c_white COLPF1 ; axe end color + sta WSYNC + mva GameColors+c_pants COLPF2 ; pants color + mwa #TitlesDLI1.DLI13 VDSLST + pla + rti +DLI13 + pha + :4 sta WSYNC + mva GameColors+c_shadow COLPF2 ; shadow color + mwa #TitlesDLI1.DLI14 VDSLST + pla + rti +DLI14 + pha + ; PMG colors, horizontal coordinates and sizes + txa + pha + lda #0 ; hide PMG + ldx #$15 +@ sta HPOSP0,x + dex + bpl @- + pla + tax + ; titles font colors + mva GameColors+c_over1 COLPF0 + mva GameColors+c_font1 COLPF1 + mva GameColors+c_font2 COLPF2 + mva GameColors+c_font3 COLPF3 + inc SyncByte + lda #@dmactl(standard|dma|missiles|players|lineX2) ; normal screen width, DL on, P/M on (2lines) + sta dmactl + mwa #TitlesDLI1.DLI_L1 VDSLST + pla + rti +DLI_L1 + pha + mva GameColors+c_over1 COLPF0 + mva GameColors+c_font1 COLPF1 + mva GameColors+c_font2 COLPF2 + :12 sta WSYNC + mva GameColors+c_font5 COLPF2 + mwa #TitlesDLI1.DLI_L2 VDSLST + pla + rti +DLI_L2 + pha + mva GameColors+c_over1 COLPF0 + mva GameColors+c_font1b COLPF1 + mva GameColors+c_font2b COLPF2 + :12 sta WSYNC + mva GameColors+c_font5b COLPF2 + mwa #TitlesDLI1.DLI_L1 VDSLST ; tricky + pla + rti +.endp +;-------------------------------------------------- +.proc GameOverDLI1 +; color changes +;-------------------------------------------------- + pha + phy + sta WSYNC + mva GameColors+c_sky COLBAK + ldy #2 +@ mva GameColors+c_chain1 COLPF3 + :2 sta WSYNC + mva GameColors+c_chain2 COLPF3 + :4 sta WSYNC + mva GameColors+c_white COLPF3 + :2 sta WSYNC + mva GameColors+c_chain2 COLPF3 + :2 sta WSYNC + mva GameColors+c_chain1 COLPF3 + :2 sta WSYNC + mva GameColors+c_white COLPF3 + :4 sta WSYNC + dey + bpl @- + mva GameColors+c_chain2 COLPF3 + ply + :2 sta WSYNC + mva GameColors+c_chain1 COLPF3 + mva GameColors+c_font1b COLPF1 + :2 sta WSYNC + mva GameColors+c_logo4 COLPF3 + mva #0 DLIcount + mwa #GameOverDLI1.DLI2 VDSLST + pla + rti + ; +LastLine + ; character set change + sta WSYNC + mva #>font_over CHBASE + ; set lower colors + mva GameColors+c_font1b COLPF1 + mva GameColors+c_font2 COLPF2 + inc SyncByte + pla + rti +DLI2 + pha + lda DLIcount + cmp #5 + bcs LastLine + ; character set change + sta WSYNC + mva #>font_titles CHBASE + lda DLIcount + cmp NewHiScorePosition + beq this_line_score1 + ; and font colors + mva GameColors+c_font1 COLPF1 + mva GameColors+c_font2 COLPF2 + :12 sta WSYNC + mva GameColors+c_font5 COLPF2 + inc DLIcount + pla + rti +this_line_score1 + mva GameColors+c_font1b COLPF1 + mva GameColors+c_font2b COLPF2 + :12 sta WSYNC + mva GameColors+c_font5b COLPF2 + inc DLIcount + pla + rti + +.endp +;-------------------------------------------------- +.proc HelpDLI1 +; color changes +;-------------------------------------------------- + pha + sta WSYNC + mva GameColors+c_font1 COLPF1 + mva GameColors+c_font2 COLPF2 + :12 sta WSYNC + mva GameColors+c_font5 COLPF2 + pla + rti +.endp +;-------------------------------------------------- +.proc GoDLI1 +; Clouds, birds, color changes +;-------------------------------------------------- + pha + mva GameColors+c_white COLPF2 ; white (numbers and letters) + mwa #GoDLI1.DLI2 VDSLST + pla + rti +DLI2 + pha + ; set cloud 2 horizontal position + lda clouds2Hpos + clc + sta HPOSM2 + adc #4 + sta HPOSP2 + adc #8 + sta HPOSP3 + adc #8 + sta HPOSM3 + mwa #GoDLI1.DLI3 VDSLST + pla + rti +DLI3 + pha + ; set cloud 3 horizontal position + lda clouds3Hpos + clc + sta HPOSM2 + adc #4 + sta HPOSP2 + adc #8 + sta HPOSP3 + adc #8 + sta HPOSM3 + mwa #GoDLI1.DLI4 VDSLST + pla + rti +DLI4 + pha + ; set cloud 4 horizontal position + lda #0 ; hide 4 cloud on GO screen + sta HPOSM2 + sta HPOSP2 + sta HPOSP3 + sta HPOSM3 + mwa #GoDLI1.DLI5 VDSLST + pla + rti + +DLI5 + pha + sta WSYNC + mva #>font_titles CHBASE + mva GameColors+c_over1 COLBAK + sta COLPF0 + mva GameColors+c_font1 COLPF1 + mva GameColors+c_font2 COLPF2 + :2 sta WSYNC + mva GameColors+c_buckle COLBAK + :14 sta WSYNC + mva GameColors+c_font5 COLPF2 + mwa #GoDLI1.DLI6 VDSLST + pla + rti +DLI6 + pha + sta WSYNC + mva #>font_game_upper CHBASE + mva GameColors+c_over1 COLBAK + mva GameColors+c_black COLPF0 + mva GameColors+c_dark_brown COLPF1 + mva GameColors+c_white COLPF2 + :2 sta WSYNC + mva GameColors+c_sky COLBAK + mwa #IngameDLI1.DLI5 VDSLST ; !!! From here on, DLI interrupts are shared with the ingame screen + pla + rti +/* DLI6 + pha + sta WSYNC + mva LowCharsetBase CHBASE + mva GameColors+c_horizonA COLBAK ; thin line + mva GameColors+c_light_brown COLPF3 ; light brown + sta WSYNC + mva GameColors+c_horizonB COLBAK ; additional lines + sta WSYNC + sta WSYNC + mva GameColors+c_grass COLBAK ; green + ; under horizon + ; PMG colors, horizontal coordinates and sizes + txa + pha + ldx #$15 +@ lda HPOSP0_d,x + sta HPOSP0,x + dex + bpl @- + pla + tax + inc SyncByte + mwa #GoDLI1.DLI7 VDSLST + pla + rti +DLI7 + pha + sta WSYNC + mva GameColors+c_hat COLPF2 ; hat + :4 STA WSYNC + mva GameColors+c_white COLPF2 ; white + mwa #GoDLI1.DLI8 VDSLST + pla + rti +DLI8 + pha + lda StateFlag + sta WSYNC + cmp #2 + beq go_dli6 + cmp #1 ; go + bne @+ +go_dli6 + mva GameColors+c_buckle COLPF2 ; button and buckle +@ mva #>font_game_upper CHBASE + mwa #GoDLI1.DLI9 VDSLST + pla + rti +DLI9 + pha + lda StateFlag + cmp #2 + beq go_dli7 + cmp #1 ; go + bne @+ +go_dli7 + sta WSYNC + sta WSYNC + sta WSYNC + mva GameColors+c_pants COLPF2 ; blue pants +@ mwa #GoDLI1.DLI10 VDSLST + pla + rti +DLI10 + pha + :3 sta WSYNC + mva GameColors+c_shadow COLPF2 ; shadow + pla + rti */ +.endp +;-------------------------------------------------- +.proc IngameDLI1 +; Clouds, birds, color changes +;-------------------------------------------------- + pha + mva GameColors+c_white COLPF2 ; white (numbers and letters) + mwa #IngameDLI1.DLI2 VDSLST + pla + rti +DLI2 + pha + ; set cloud 2 horizontal position + lda clouds2Hpos + clc + sta HPOSM2 + adc #4 + sta HPOSP2 + adc #8 + sta HPOSP3 + adc #8 + sta HPOSM3 + mwa #IngameDLI1.DLI3 VDSLST + pla + rti +DLI3 + pha + ; set cloud 3 horizontal position + lda clouds3Hpos + clc + sta HPOSM2 + adc #4 + sta HPOSP2 + adc #8 + sta HPOSP3 + adc #8 + sta HPOSM3 + mwa #IngameDLI1.DLI4 VDSLST + pla + rti +DLI4 + pha + ; set cloud 4 horizontal position + lda clouds4Hpos + clc + sta HPOSM2 + adc #4 + sta HPOSP2 + adc #8 + sta HPOSP3 + adc #8 + sta HPOSM3 + mwa #IngameDLI1.DLI5 VDSLST + pla + rti +DLI5 + pha + sta WSYNC + mva LowCharsetBase CHBASE + mva GameColors+c_horizonA COLBAK ; thin line + mva GameColors+c_light_brown COLPF3 ; light brown + sta WSYNC + mva GameColors+c_horizonB COLBAK ; additional lines + sta WSYNC + sta WSYNC + mva GameColors+c_grass COLBAK ; green + ; under horizon + ; PMG colors, horizontal coordinates and sizes + txa + pha + ldx #$15 +@ lda HPOSP0_d,x + sta HPOSP0,x + dex + bpl @- + pla + tax + inc SyncByte + mwa #IngameDLI1.DLI6 VDSLST + pla + rti +DLI6 + pha + sta WSYNC + mva GameColors+c_hat COLPF2 ; hat + :4 STA WSYNC + mva GameColors+c_white COLPF2 ; white + mwa #IngameDLI1.DLI7 VDSLST + pla + rti +DLI7 + pha + lda StateFlag + sta WSYNC + cmp #3 ; RIP screen + beq @+ + mva GameColors+c_buckle COLPF2 ; button and buckle +@ mva #>font_game_upper CHBASE + mwa #IngameDLI1.DLI8 VDSLST + pla + rti +DLI8 + pha + lda StateFlag + cmp #3 ; RIP screen + beq @+ + sta WSYNC + sta WSYNC + sta WSYNC + mva GameColors+c_pants COLPF2 ; blue pants +@ mwa #IngameDLI1.DLI9 VDSLST + pla + rti +DLI9 + pha + ;lda StateFlag + ;cmp #3 ; RIP screen + ;beq @+ + :4 sta WSYNC + mva GameColors+c_shadow COLPF2 ; shadow +@ pla + rti +.endp +;-------------------------------------------------- +main +;-------------------------------------------------- + jsr WaitForKeyRelease + jsr MakeDarkScreen + jsr PAL_NTSC + jsr initialize +GameStart + RMTsong song_main_menu + jsr StartScreen + jsr ScoreClear +gameloop + jsr MakeDarkScreen + jsr LevelScreen + RMTSong song_ingame + ;RMTSong song_empty + jsr PlayLevel + ;jsr NextLevel + ; RMTSong song_ingame + jsr AudioInit ; after I/O + jmp gameOver +EndOfLife + ;dec Lives ; decrease Lives + ;lda Lives + ;cmp #"0" + ;beq gameOver ; if no lives - game over + ;jsr NextLife + jmp gameOver +gameOver + ;game over + ;RMTSong song_game_over + ;jsr HiScoreCheckWrite + RMTsong song_scores + jsr GameOverScreen + jmp GameStart +;-------------------------------------------------- +.proc StartScreen +;-------------------------------------------------- + mva #125 FootTimer ; set delay for first foot animation (125 = 20s in PAL) +no_foot_delay + jsr ZeroClock + mva #$00 AutoScreen + mva #$ff StateFlag + jsr MakeDarkScreen + jsr MenuAnimationsReset + jsr ClearPM + jsr HidePM + jsr PrepareCloudsPM.no_cloud4 + jsr PrepareTitlePM + jsr CreditsClear + mva #0 StateFlag + mva #>font_logo CHBAS + mwa #dl_title dlptrs + mva GameColors+c_sky COLBAKS + mva GameColors+c_white2 COLOR0 + mva GameColors+c_logo3 COLOR1 + mva GameColors+c_font2 COLOR2 + lda #@dmactl(narrow|dma|missiles|players|lineX2) ; narrow screen width, DL on, P/M on (2lines) + sta dmactls + mva #%00000011 GRACTL +difficulty_display + lda Difficulty + bne level_easy + mwa #difficulty_normal_text difficulty_text_addr + mwa #PowerSpeedTableA SpeedTableAdr ; difficulty level normal + jmp wait_for_key +level_easy + mwa #difficulty_easy_text difficulty_text_addr + mwa #PowerSpeedTableB SpeedTableAdr ; difficulty level easy +wait_for_key + pause 1 + jsr WaitForKeyRelease +StartLoop + jsr GetKeyFast + cmp #@kbcode._left ; left, Select + beq leftkey + cmp #@kbcode._right ; right , Option + bne notdirectionskeys +leftkey + lda Difficulty + eor #$01 + sta Difficulty + jsr ZeroClock ; reset delay for ayto screen change + jmp difficulty_display +notdirectionskeys + cmp #@kbcode._help + bne no_help + jsr HelpScreen +go_startloop + jsr WaitForKeyRelease + jmp StartScreen +no_help + cmp #@kbcode._space ; space, Start + beq EndOfStartScreen + cmp #@kbcode._tab ; TAB, 1st joy button + beq EndOfStartScreen + ; check timer + lda RTCLOK+1 + cmp #8 + bne StartLoop + ; if timer then auto change screens (help, Hi-score) + mva #$ff AutoScreen + jsr HelpScreen + jsr GameOverScreen + mva #40 FootTimer ; set delay for foot animation + jmp StartScreen.no_foot_delay +EndOfStartScreen + rts +.endp +;-------------------------------------------------- +.proc LevelScreen +;-------------------------------------------------- + mva #$ff StateFlag + jsr MakeDarkScreen + jsr ClearPM + mva #>font_game_upper CHBAS + mva #>font_game_lower_right LowCharsetBase + mva GameColors+c_black PCOLR0 ; = $02C0 ;- - rejestr-cień COLPM0 + mva GameColors+c_black COLOR0 + mva GameColors+c_sky COLBAKS ; sky + mva GameColors+c_dark_brown COLOR1 ; dark brown + mva GameColors+c_red COLOR2 ; red + mva GameColors+c_light_brown COLOR3 ; light brown + + ldy #$ff + lda RANDOM + and #%00000011 ; randomize bird order: 11, 10, 01 - stabdard / 00 - reverse + beq reverse_birds + iny +reverse_birds + sty birds_order ; set birds order + jsr TimerReset + jsr InitBranches + jsr draw_branches + mva #24 PowerValue ; half power + mva #1 PowerTimer ; reset timer ( 1, not 0! ) + jsr draw_PowerBar + mva #1 LumberjackDir ; right side + mwa #gamescreen_r_ph1p1 animation_addr + mwa #last_line_r lastline_addr + mwa #(go_text-32) go_addr ; empty line before GO! texts + + jsr PrepareLevelPM + jsr PrepareBirdsPM + jsr PrepareCloudsPM + mwa #dl_go dlptrs + lda #@dmactl(narrow|dma|missiles|players|lineX2) ; narrow screen width, DL on, P/M on (2lines) + sta dmactls + mva #%00000011 GRACTL + jsr SetPMr1 + mva #1 StateFlag ; GO! screen + RMTsong song_go + jsr AnimateGoLine + mwa #dl_level dlptrs + mva #2 StateFlag ; Game + rts +.endp +;-------------------------------------------------- +.proc GameOverScreen +;-------------------------------------------------- + mvy #$ff StateFlag + iny + sty ATRACT ; reset atract mode + jsr MakeDarkScreen + jsr ClearPM + jsr HidePM + jsr PrepareOverPM + bit AutoScreen + bmi training_mode + lda Difficulty + bne training_mode + jsr ScoreToBuffer + jsr ScoreToTable ; score saving only in normal game mode +training_mode + jsr PrepareScores + mva #4 StateFlag + mva #>font_over CHBAS + mwa #dl_over dlptrs + mva GameColors+c_black COLBAKS + mva GameColors+c_over1 COLOR0 + mva GameColors+c_white2 COLOR1 + mva GameColors+c_white2 COLOR2 + mva GameColors+c_logo4 COLOR3 + lda #@dmactl(narrow|dma|missiles|players|lineX2) ; narrow screen width, DL on, P/M on (2lines) + sta dmactls + mva #%00000011 GRACTL + pause 1 + bit AutoScreen + bmi training_mode2 + lda Difficulty + bne training_mode2 + lda NewHiScorePosition + cmp #5 + beq training_mode2 + jsr EnterPlayerName ; enter name only in normal game mode and if there are new score +training_mode2 + jsr ZeroClock + mva #$ff AutoScreen + mva #5 NewHiScorePosition ; prevent highlighting of result + jsr WaitForKeyRelease +OverLoop + jsr GetKeyFast + cmp #@kbcode._space ; space, Start + beq EndOfOverScreen + cmp #@kbcode._tab ; TAB, Joy 1st button + beq EndOfOverScreen + ; if AutoScreen flag is set + bit AutoScreen + bpl OverLoop + ; check timer + lda RTCLOK+1 + cmp #2 + bne OverLoop +EndOfOverScreen + rts +.endp +;-------------------------------------------------- +.proc HelpScreen +;-------------------------------------------------- + mva #$ff StateFlag + jsr ZeroClock + jsr ScoreToBuffer + jsr MakeDarkScreen + jsr ClearPM + jsr HidePM + mva #5 StateFlag + mva #>font_titles CHBAS + mwa #dl_help dlptrs + mva GameColors+c_sky COLBAKS + mva GameColors+c_over1 COLOR0 + mva GameColors+c_font1 COLOR1 + mva GameColors+c_font2 COLOR2 + mva GameColors+c_fonti COLOR3 + lda #@dmactl(narrow|dma) ; narrow screen width, P/M off + sta dmactls + pause 1 + jsr WaitForKeyRelease +HelpLoop + jsr GetKeyFast + cmp #@kbcode._space ; space, Start + beq EndOfHelpScreen + cmp #@kbcode._tab ; TAB, Joy 1st button + beq EndOfHelpScreen + ; if AutoScreen flag is set + bit AutoScreen + bpl HelpLoop + ; check timer + lda RTCLOK+1 + cmp #2 + bne HelpLoop +EndOfHelpScreen + rts +.endp +;-------------------------------------------------- +.proc MakeDarkScreen +;-------------------------------------------------- + mva #0 dmactls ; dark screen + ; and wait one frame :) + pause 1 + rts +.endp +;-------------------------------------------------- +.proc PlayLevel +;-------------------------------------------------- + jsr PrepareLevelPM + mva #$ff TimeCount ; start time +loop + ; PUT GAME HERE + lda branches_list+5 + cmp LumberjackDir ; branch and Lumberjack ? + jeq LevelDeath + lda LastKey + cmp #$ff + beq key_released_before + bne No_keys +key_released_before + jsr GetKeyFast + cmp #@kbcode._left ; left, Select + beq left_pressed + cmp #@kbcode._tab ; TAB, 1st button + beq left_pressed + cmp #@kbcode._right ; right, Option + beq right_pressed + cmp #@kbcode._ret ; Return + beq right_pressed + ; other keys or no key + sta LastKey +No_keys + lda PowerValue + jeq LevelDeath + jmp loop +right_pressed + sta LastKey + mva #sfx_ciach sfx_effect +/* + ; test for right lower branch + lda branches_list+5 + cmp #1 + bne no_r_branch + ; death by lower right branch + mva #>font_game_lower_right LowCharsetBase + mwa #last_line_r lastline_addr + WaitForSync + mwa #gamescreen_r_ph1p1 animation_addr + mva #1 LumberjackDir ; right side + bne LevelDeath +no_r_branch +*/ + jsr ScoreUp + jsr PowerUp + jsr SetPMr1 + lda branches_list+4 ; check branch over + beq no_brancho_r + ; branch over lumberjack + cmp #1 ; right branch (kill) + bne no_kill_r + jsr AnimationR4 + jmp go_loop +no_kill_r + ; left branch + jsr AnimationR7 + jmp go_loop +no_brancho_r + ; no branch over lumberjack + jsr AnimationR1 + jmp go_loop +left_pressed + sta LastKey + mva #sfx_ciach sfx_effect +/* + ; test for left lower branch + lda branches_list+5 + cmp #2 + bne no_l_branch + ; death by lower left branch + mva #>font_game_lower_left LowCharsetBase + mwa #last_line_l lastline_addr + WaitForSync + mwa #gamescreen_l_ph1p1 animation_addr + mva #2 LumberjackDir ; left side + bne LevelDeath +no_l_branch +*/ + jsr ScoreUp + jsr PowerUp + jsr SetPMl1 + lda branches_list+4 ; check branch over + beq no_brancho_l + ; branch over lumberjack + cmp #2 ; left branch (kill) + bne no_kill_l + jsr AnimationL4 + jmp go_loop +no_kill_l + ; right branch + jsr AnimationL7 + jmp go_loop +no_brancho_l + ; no branch over lumberjack + jsr AnimationL1 + jmp go_loop +LevelDeath + mva #0 TimeCount ; stop time + jsr SetRIPscreen + RMTsong song_game_over + jsr ZeroClock + jsr WaitForKeyRelease +RIPLoop + jsr GetKeyFast + cmp #@kbcode._space ; space, Start + beq restart + cmp #@kbcode._tab ; TAB, 1st joy button + beq restart + lda RTCLOK+1 + cmp #2 + bne RIPLoop +restart + ; restart game + rts +go_loop + jmp loop +.endp + +;-------------------------------------------------- + icl 'art/animations.asm' +;-------------------------------------------------- +;-------------------------------------------------- +.proc SetRIPscreen +;-------------------------------------------------- + :5 WaitForSync + mva #3 StateFlag + mva #>font_game_rip LowCharsetBase + jsr HidePM + jsr PrepareRIPPM + lda LumberjackDir ; RIP direction + cmp #1 + bne leftRIP + mwa #last_line_RIP_r lastline_addr + jsr SetPMr_RIP + jmp afterLastLine +leftRIP + mwa #last_line_RIP_l lastline_addr + jsr SetPMl_RIP +afterLastLine + lda LumberjackDir ; branch and Lumberjack ? + cmp branches_list+5 + beq BranchDeath + ;no branch death + cmp #1 + bne leftside + ; right death + lda branches_list+5 + beq no_branch_r + ; left side branch + mwa #RIPscreen_r_Lbranch animation_addr + rts +no_branch_r + mwa #RIPscreen_r_nobranch animation_addr + rts +leftside + ; right death + lda branches_list+5 + beq no_branch_l + ; right side branch + mwa #RIPscreen_l_Rbranch animation_addr + rts +no_branch_l + mwa #RIPscreen_l_nobranch animation_addr + rts +BranchDeath + cmp #1 + bne leftbranch + ; right branch + mwa #RIPscreen_r_branch animation_addr + rts +leftbranch + mwa #RIPscreen_l_branch animation_addr + rts +.endp +;-------------------------------------------------- +.proc SetLumberjackPosition +;-------------------------------------------------- + WaitForSync + lda LumberjackDir + cmp #1 + beq right_side +left_side + jsr SetPMl1 + mva #>font_game_lower_left LowCharsetBase + mwa #last_line_l lastline_addr + lda branches_list+5 + cmp #1 + bne no_branch_r + mwa #gamescreen_l_ph1p2 animation_addr + rts +no_branch_r + mwa #gamescreen_l_ph1p1 animation_addr + rts +right_side + jsr SetPMr1 + mva #>font_game_lower_right LowCharsetBase + mwa #last_line_r lastline_addr + lda branches_list+5 + cmp #2 + bne no_branch_l + mwa #gamescreen_r_ph1p2 animation_addr + rts +no_branch_l + mwa #gamescreen_r_ph1p1 animation_addr + rts +.endp +;-------------------------------------------------- +.proc ZeroClock +;-------------------------------------------------- + lda #0 + sta RTCLOK+1 + sta RTCLOK+2 + rts +.endp +;-------------------------------------------------- +.proc TextToScreen +;-------------------------------------------------- +; print text from temp address to screen at temp2 address +; X = characters to print + lda #0 + tay + sta (temp2),y ; first space fix + stx tempbyte2 +@ jsr PrintChar + ; after PrintChar i X register we have charcode and Y=0 + dec tempbyte2 + bne @- + cpx #11 ; I character + bne not_last_I + tya ; 0 - space + iny + sta (temp2),y ; fix for last I +not_last_I + rts +PrintChar + ldy #0 + lda (temp),y + ; looking for char in the array + ldx #0 +@ cmp char_ascii,x + beq char_found + inx + cpx char_count + bne @- + ; error - char not found + beq skip_char + rts +char_found + ; print it + lda char_byte1,x + beq space_char ; if space then skip one byte + sta (temp2),y +space_char + lda char_byte2,x + inw temp2 + sta (temp2),y + lda char_byte3,x + bmi skip_char ; space or I has only 2 bytes + inw temp2 + sta (temp2),y +skip_char + inw temp + rts +.endp +;-------------------------------------------------- +.proc PrepareScores +;-------------------------------------------------- +; display all scores table on Game Over screen + jsr ClearScreenNames + mva #0 ScorePosition ; HiScore table position (0-4) +print_loop + jsr InMemoryCacl ; position in temp (word) + jsr OnScreenCacl ; positiom in temp2 (word) + ldx #10 ; 10 characters ( result(4) + space(1) + name(5) ) + jsr TextToScreen + inc ScorePosition + lda ScorePosition + cmp #5 + bne print_loop + rts + +InMemoryCacl ; calculate position in memory (result in temp) + mwa #(hs_pos1+6) temp + lda ScorePosition + :4 asl ; *16 + clc + adc temp + sta temp + bcc @+ + inc temp+1 +@ rts +OnScreenCacl ; calculate position on screen (result in temp2) + mwa #scores_on_screen temp2 + lda ScorePosition + :5 asl ; *32 + clc + adc temp2 + sta temp2 + bcc @+ + inc temp2+1 +@ rts +.endp +;-------------------------------------------------- +.proc ClearScreenNames +;-------------------------------------------------- +; clear place for names on HiScore table + mva #0 ScorePosition ; HiScore table position (0-4) +clear_loop + jsr PrepareScores.OnScreenCacl ; calculate address on screen (result in temp2) + ldy #20 ; 21 bytes in each line + lda #0 ; value to fill +@ sta (temp2),y + dey + bpl @- + inc ScorePosition + lda ScorePosition + cmp #5 + bne clear_loop + rts +.endp +;-------------------------------------------------- +.proc ScoreToTable +;-------------------------------------------------- +; moving last score from buffer to HiScore table +; in ScorePosition returns position in HiScore +; if ScorePosition=5 then not in HiScore + mva #4 ScorePosition ; starting from last (4) HiScore position +compare_next_position + jsr PrepareScores.InMemoryCacl ; score address in temp (word) + ldy #0 + ; compare last score (buffer) to HiScore in ScorePosition +compare_loop + lda hs_posX+6,y ; buffer + cmp (temp),y ; score in table + beq next_digit + bcc is_lower +is_bigger + ldx ScorePosition + dex + bmi new_record + stx ScorePosition + bpl compare_next_position +next_digit + iny + cpy #4 + bne compare_loop + ; last score is equal to HiScore position ScorePosition +is_lower + inc ScorePosition +new_record + ; now we have position of last score in HiScore (ScorePosition) + lda ScorePosition + sta NewHiScorePosition ; save position for new name input + cmp #5 + beq no_in_hiscore ; last score is lower than last HiScore score + cmp #4 + beq move_score_to_table ; last hi score position, then we dont moving lower scores down in table + ; move down lower scores + mva #4 ScorePosition ; startig from penultimate position in HiScore +moving_loop + dec ScorePosition + ; now calculate position of overwritten score + inc ScorePosition + jsr PrepareScores.InMemoryCacl ; score address in temp (word) + sbw temp #6 temp2 ; time in hiscore correction save to temp2 + ; calculate position of score to write + dec ScorePosition + jsr PrepareScores.InMemoryCacl ; score address in temp (word) + sbw temp #6 ; time in hiscore correction + ; move one position down + ldy #15 ; 16bytes +@ lda (temp),y + sta (temp2),y + dey + bpl @- + ; one score moved + lda ScorePosition + cmp NewHiScorePosition + bne moving_loop + ; we have prepared space in HiScore +move_score_to_table + ;mva NewHiScorePosition ScorePosition ; unnecessary ? + jsr PrepareScores.InMemoryCacl ; score address in temp (word) + sbw temp #6 ; time in hiscore correction + ldy #15 ; 16bytes +@ lda hs_posX,y + sta (temp),y + dey + bpl @- +no_in_hiscore + ; great success!! + rts +.endp +;-------------------------------------------------- +.proc EnterPlayerName +;-------------------------------------------------- + ; initial variables - "A" on first position + mva #0 PositionInName + mva #3 CharCode ; 3 = "A" + mva NewHiScorePosition ScorePosition ; HiScore table position (0-4) + jsr PrepareScores.InMemoryCacl ; position in temp (word) + adw temp #5 ; after points + ; clear name + lda #0 + ldy #4 +@ sta (temp),y + dey + bpl @- +input_name_loop + jsr PrepareScores.InMemoryCacl ; position in temp (word) + adw temp #5 ; after points + jsr PrepareScores.OnScreenCacl ; positiom in temp2 (word) + adw temp2 #10 ; after points + ldy PositionInName + ldx CharCode + lda char_ascii,x + sta (temp),y + ; display name on Game Over screen + ldx #5 ; 5 characters + jsr TextToScreen + lda NewHiScorePosition + cmp #5 ; trick for END before 5 characters + jeq end_of_name + pause 1 + jsr GetKey + cmp #@kbcode._left ; left, Select + beq leftkey + cmp #@kbcode._right ; right, Option + beq rightkey + cmp #@kbcode._space ; space, Start + beq next_char + cmp #@kbcode._tab ; TAB, 1st joy buttom + beq next_char + bne input_name_loop +leftkey + ldx CharCode + dex + cpx #2 + bne not_minimal ; check for lower than A (not space and s, l) + ldx #char_count+1 +not_minimal +not_maximal + stx CharCode + jmp input_name_loop +rightkey + ldx CharCode + inx + cpx #char_count+2 + bne not_maximal + ldx #3 ; A (not space and s, l) + bne not_maximal +next_char + ; space / fire pressed + ; next character or DEL or end of name + lda CharCode + cmp #char_count ; DEL + bne no_del + ; backspace :) + ; set current char to space (clear) + jsr PrepareScores.InMemoryCacl ; position in temp (word) + adw temp #5 ; after points + ldy PositionInName + bne no_first_char + ; first char in name - nothing to do + jmp input_name_loop +no_first_char + lda char_ascii ; first char i table = space + sta (temp),y ; clear current char + dey + sty PositionInName + jmp input_name_loop +no_del + cmp #char_count+1 ; END + bne no_end + ; END + ; change to space + mva #0 CharCode ; space + mva #5 NewHiScorePosition ; name entered (trick) + jmp input_name_loop +no_end + inc PositionInName + lda PositionInName + cmp #5 ; last character in name + beq end_of_name + ; set naxt char to space - no .. no change charcode + ldx CharCode + bne not_maximal +end_of_name + mva #5 NewHiScorePosition ; name entered, set color to standard + rts +.endp +;-------------------------------------------------- +.proc AudioInit +;-------------------------------------------------- + ; pokeys init + lda #3 + sta skctl ; put Pokey into Init + sta skctl+$10 + ldx #8 + lda #0 +@ + sta $D200,x ; clear all voices, set AUDCTL to 00 + sta $D210,x ; clear all voices, set AUDCTL to 00 + dex + bpl @- + rts +.endp + +;-------------------------------------------------- +.proc RestoreRedBar +;-------------------------------------------------- + mva GameColors+c_red COLOR2 ; red + rts +.endp +;-------------------------------------------------- +.proc AnimateGoLine +;-------------------------------------------------- + ldy #3 ; 3 lines +next_line + ; .... 3 , 2 , 1 , .... + ldx #16 ; 32 characters +@ inw go_addr + inw go_addr + WaitForSync + dex + bne @- + phy + ;RMTsong song_go1 + mva #sfx_go1 sfx_effect + pause 25 + ply + dey + bne next_line + ; .... GO! .... + ldx #16 ; 32 characters +@ inw go_addr + inw go_addr + WaitForSync + dex + bne @- + ;RMTsong song_go2 + mva #sfx_go2 sfx_effect + pause 25 + rts +.endp +;-------------------------------------------------- +.proc initialize +;-------------------------------------------------- + + mva #>font_game_upper CHBAS + mva #>font_game_lower_right LowCharsetBase + mva GameColors+c_black PCOLR0 ; = $02C0 ;- - rejestr-cień COLPM0 + + mva GameColors+c_black COLOR0 + mva GameColors+c_sky COLBAKS ; sky + mva GameColors+c_dark_brown COLOR1 ; dark brown + mva GameColors+c_red COLOR2 ; red + mva GameColors+c_light_brown COLOR3 ; light brown + ;mva #$ff COLOR4 + + jsr ClearPM + mva #>PMmemory PMBASE + jsr HidePM + mva #%00100100 GPRIOR + mva #0 RMT_blocked + + lda #$ff + sta sfx_effect + + JSR AudioInit + + jsr CreditsClear + mva #$00 birds_order ; standard birds order + jsr TimerReset + jsr InitBranches + jsr draw_branches + mva #24 PowerValue ; half power + mva #1 PowerTimer ; reset timer ( 1, not 0! ) + jsr draw_PowerBar + mva #1 LumberjackDir ; right side + mva #0 Difficulty ; level normal + mva #0 TimeCount ; time stopped + mva #$ff StateFlag + + ;jsr PrepareLevelPM + ;jsr PrepareBirdsPM + ;jsr PrepareCloudsPM + ;jsr SetPMr1 + mwa #gamescreen_r_ph1p1 animation_addr + lda #@dmactl(narrow|dma|missiles|players|lineX2) ; narrow screen width, DL on, P/M on (2lines) + sta dmactls + mva #%00000011 GRACTL + mwa #dl_level dlptrs + ;vdli IngameDLI1 + mva #$ff RMT_blocked + + lda #$f0 ; initial value + sta RMTSFXVOLUME ; sfx note volume * 16 (0,16,32,...,240) + + ;VBI + mva #0 NTSCCounter + vmain vint,7 + + mwa #PowerSpeedTableB SpeedTableAdr ; difficulty level + jsr GetKeyFast.Check2button ; update state second joy button + rts +.endp + +;-------------------------------------------------- +.proc ClearPM +; clear P/M memory +;-------------------------------------------------- + ;clear P/M memory + lda #0 + tax +@ sta PMmemory,x + sta PMmemory+$100,x + sta PMmemory+$200,x + sta PMmemory+$300,x + inx + bne @- + rts +.endp +;-------------------------------------------------- +.proc HidePM +; hide P/M on right side of screen +;-------------------------------------------------- + lda #$e0 + ldx #$07 ; 8 registers. from HPOSP0_d to HPOSM3_d +@ sta HPOSP0_d,x + ;sta HPOSP0_u,x + sta HPOSP0,x + dex + ;sta birdsHpos + bpl @- + rts +.endp +;-------------------------------------------------- +.proc ClearLowerPM +;-------------------------------------------------- + ; clear PMG memory under horizon line + ldx #90 + lda #0 +@ sta PMmemory+$180,x + sta PMmemory+$200,x + sta PMmemory+$280,x + sta PMmemory+$300,x + sta PMmemory+$380,x + inx + bpl @- + rts +.endp +;-------------------------------------------------- +.proc PrepareLevelPM +;-------------------------------------------------- + jsr ClearLowerPM + ; Lumberjack shirt + ldx #datalinesP2-1 +@ lda P2_data,x + sta PMmemory+$300+HoffsetP2,x + lda P3_data,x + sta PMmemory+$380+HoffsetP2,x + lda M23_data,x + sta PMmemory+$180+HoffsetP2,x + dex + bpl @- + mva #1 SIZEP2_d + sta SIZEP3_d + lda #%01011111 + sta SIZEM_d + mva GameColors+c_shirtA COLPM2_d + mva GameColors+c_shirtB COLPM3_d + ; Lumberjack hand + ldx #datalinesP0-1 +@ lda P0_data,x + sta PMmemory+$200+HoffsetP0,x + dex + bpl @- + mva #0 SIZEP0_d + mva GameColors+c_hands COLPM0_d + ; Lumberjack face + ldx #datalinesM0-1 +@ lda PMmemory+$180+HoffsetM0,x + ora M0_data,x + sta PMmemory+$180+HoffsetM0,x + dex + bpl @- + ; Lumberjack second hand + ldx #datalinesM1-1 +@ lda PMmemory+$180+HoffsetM1,x + ora M1_data,x + sta PMmemory+$180+HoffsetM1,x + dex + bpl @- + mva GameColors+c_hands COLPM1_d + ; Lumberjack both hands + ldx #datalinesP1-1 +@ lda P1_data,x + sta PMmemory+$280+HoffsetP1,x + dex + bpl @- + mva #1 SIZEP1_d + rts +; Lumberjack shirt data +P2_data + .by $55,$55,$aa,$aa,$55,$55,$aa,$aa,$55,$55,$aa,$aa,$55,$55,$ff,$ff +P3_data + .by $ff,$ff,$55,$55,$ff,$ff,$55,$55,$ff,$ff,$55,$55,$ff,$ff,$00,$00 +M23_data + .by $80,$80,$20,$20,$80,$80,$20,$20,$80,$80,$20,$20,$80,$80,$20,$20 +HoffsetP2=97 +datalinesP2=16 +; Lumberjack hand data +P0_data + .by %11111000 + .by %11111000 + .by %11111000 + .by %11111000 + .by %11111000 +HoffsetP0=94 +datalinesP0=5 +; Lumberjack face data +M0_data + .by %00000011 + .by %00000011 + .by %00000011 + .by %00000011 + .by %00000011 + .by %00000011 + .by %00000011 + .by %00000011 + .by %00000011 +HoffsetM0=93 +datalinesM0=9 +; Lumberjack second hand data +M1_data + .by %00001100 + .by %00001100 + .by %00001100 + .by %00001100 + .by %00001100 +HoffsetM1=102 +datalinesM1=5 +; Lumberjack both hands data +P1_data + .by %11101110 + .by %11101110 + .by %11101110 + .by %11101110 + .by %11101110 +HoffsetP1=102 +datalinesP1=5 +.endp +;-------------------------------------------------- +.proc PrepareRIPPM +;-------------------------------------------------- + jsr ClearLowerPM + ; RIP + ldx #datalinesP0-1 +@ lda P0_data,x + sta PMmemory+$200+HoffsetP0,x + dex + bpl @- + mva #1 SIZEP0_d + mva GameColors+c_greyRIP COLPM0_d + rts +; RIP data +P0_data + .by %00111110 + .by %01111111 + .by %11111111 + .by %11111111 + .by %11111111 + .by %11111111 + .by %11111111 + .by %11111111 + .by %11111111 + .by %11111111 + .by %11111111 + .by %11111111 + .by %11111111 + .by %11111111 + .by %11111111 + .by %11111111 + .by %11111111 +HoffsetP0=101 +datalinesP0=17 +.endp +;-------------------------------------------------- +.proc PrepareBirdsPM +;-------------------------------------------------- + ; bird 2, 1 and 3 + ; hoffset (16 - 40) - (all) birds hsize - 28 + randomize 16 40 + sta birdsOffset + jsr PrepareTitlePM.clearP0_1_sky + jsr bird_a + mva #0 SIZEP0_u + sta SIZEP1_u + mva GameColors+c_birds PCOLR0 + sta PCOLR1 + lda #1 + sta birdsHpos + sta HPOSP0_u + sta HPOSP1_u + + rts +bird_a + ldx #datalines_bird-1 + lda birdsOffset + clc + adc #datalines_bird + tay +@ lda bird_data_a,x + sta PMmemory+$200+Hoffset_bird2,y + sta PMmemory+$280+Hoffset_bird1,y + sta PMmemory+$280+Hoffset_bird3,y + dey + dex + bpl @- + rts +bird_b + ldx #datalines_bird-1 + lda birdsOffset + clc + adc #datalines_bird + tay +@ lda bird_data_b,x + sta PMmemory+$200+Hoffset_bird2,y + sta PMmemory+$280+Hoffset_bird1,y + sta PMmemory+$280+Hoffset_bird3,y + dey + dex + bpl @- + rts +; bird data +bird_data_a + dta $00, $00, $00, $3f, $7c, $18, $18, $08 +bird_data_b + dta $00, $30, $18, $18, $3f, $7c, $00, $00 +Hoffset_bird1=0 +Hoffset_bird2=10 +Hoffset_bird3=20 +datalines_bird=8 +.endp +;-------------------------------------------------- +.proc PrepareCloudsPM +;-------------------------------------------------- + ; 3 clouds + ; 1 - vertical offset in PM from 5 (first byte) to 19 (last byte) + ; 2 - vertical offset in PM from 20 (first byte) to 35 (last byte) + ; 3 - vertical offset in PM from 36 (first byte) to 51 (last byte) + ; 4 - vertical offset in PM from 52 (first byte) to 74 (last byte) + ; cloud + jsr make_cloud4 +no_cloud4 + jsr make_cloud1 + jsr make_cloud2 + jsr make_cloud3 + mva #0 SIZEP2_u + sta SIZEP3_u + lda #%01010101 + sta SIZEM_u + mva GameColors+c_clouds PCOLR2 + sta PCOLR3 + randomize 10 230 + sta clouds4Hpos + randomize 10 230 + sta clouds3Hpos + randomize 10 230 + sta clouds2Hpos + randomize 10 230 + sta clouds1Hpos + clc + sta HPOSM2_u + adc #4 + sta HPOSP2_u + adc #8 + sta HPOSP3_u + adc #8 + sta HPOSM3_u + rts +make_cloud1 + ; clear cloud 1 PMG memory + ldx #(19-5) + lda #0 +@ sta PMmemory+$300+5,x + sta PMmemory+$380+5,x + sta PMmemory+$180+5,x + dex + bpl @- + randomize 0 (19-5-datalines_clouds) + adc #5 + tay + randomize 0 2 + clc + adc #7 ; (7 to 9 = shapes 8 to 10) + bne fill_cloud +make_cloud2 + ; clear cloud 2 PMG memory + ldx #(35-20) + lda #0 +@ sta PMmemory+$300+20,x + sta PMmemory+$380+20,x + sta PMmemory+$180+20,x + dex + bpl @- + randomize 0 (35-20-datalines_clouds) + adc #20 + tay + randomize 0 2 + clc + adc #5 ; (5 to 7 = shapes 6 to 8) + bne fill_cloud +make_cloud3 + ; clear cloud 3 PMG memory + ldx #(51-36) ; ldx #(84-36) + lda #0 +@ sta PMmemory+$300+36,x + sta PMmemory+$380+36,x + sta PMmemory+$180+36,x + dex + bpl @- + randomize 0 (51-36-datalines_clouds) + adc #36 + tay + randomize 0 3 + clc + adc #2 ; (2 to 5 = shapes 3 to 6) + bne fill_cloud +make_cloud4 + ; clear cloud 4 PMG memory + ldx #(74-52) + lda #0 +@ sta PMmemory+$300+52,x + sta PMmemory+$380+52,x + sta PMmemory+$180+52,x + dex + bpl @- + randomize 0 (74-52-datalines_clouds) + adc #52 + tay + randomize 0 2 ; (0 to 2 = shapes 1 to 3) + ; fill cloud PMG memory +fill_cloud + and #%00001111 + ; now we have shape number in A + ; calculate offset (each cloud dataset = 12 bytes) + ; calculate A*12 + :2 asl ; A*4 + sta tempbyte + asl ; A*2 (shape*8) + adc tempbyte + tax ; shape number * 12 in X register + ; shape 1-10 + mva #datalines_clouds-1 tempbyte +@ lda cloud1_P2,x + sta PMmemory+$300,y + lda cloud1_P3,x + sta PMmemory+$380,y + lda cloud1_M,x + sta PMmemory+$180,y + iny + inx + dec tempbyte + bpl @- + rts + +; clouds data +; shapes 1 to 10 for clouds +; player 2 +cloud1_P2 + .by $00,$00,$00,$00,$08,$1D,$3F,$3F,$00,$00,$00,$00 +cloud2_P2 + .by $00,$00,$00,$00,$07,$1F,$3F,$FF,$00,$00,$00,$00 +cloud3_P2 + .by $00,$00,$00,$00,$39,$7D,$FF,$FF,$00,$00,$00,$00 +cloud4_P2 + .by $00,$00,$00,$38,$7D,$FF,$FF,$FF,$00,$00,$00,$00 +cloud5_P2 + .by $00,$00,$00,$0E,$1F,$1F,$7F,$FF,$FF,$00,$00,$00 +cloud6_P2 + .by $00,$00,$00,$38,$7C,$7C,$FD,$FD,$FF,$FF,$00,$00 +cloud7_P2 + .by $00,$00,$00,$00,$01,$73,$FF,$FF,$FF,$FF,$00,$00 +cloud8_P2 + .by $00,$00,$00,$3E,$FF,$FF,$FF,$FF,$FF,$7C,$00,$00 +cloud9_P2 + .by $00,$00,$01,$03,$77,$FF,$FF,$FF,$FF,$FF,$07,$01 +cloud10_P2 + .by $00,$0F,$1F,$BF,$FF,$FF,$FF,$FF,$FF,$FF,$1F,$07 +; player 3 +cloud1_P3 + .by $00,$00,$00,$00,$00,$80,$E0,$F8,$00,$00,$00,$00 +cloud2_P3 + .by $00,$00,$00,$00,$80,$DC,$FE,$FF,$00,$00,$00,$00 +cloud3_P3 + .by $00,$00,$00,$F0,$F8,$FA,$FF,$FF,$00,$00,$00,$00 +cloud4_P3 + .by $00,$00,$00,$C0,$F0,$FC,$FE,$FF,$00,$00,$00,$00 +cloud5_P3 + .by $00,$00,$00,$30,$78,$78,$FB,$FF,$FF,$00,$00,$00 +cloud6_P3 + .by $00,$00,$00,$00,$00,$E0,$F0,$F6,$FF,$FF,$00,$00 +cloud7_P3 + .by $00,$00,$00,$00,$C0,$F6,$FF,$FF,$FF,$FF,$00,$00 +cloud8_P3 + .by $00,$00,$00,$00,$7C,$FF,$FF,$FF,$FF,$FF,$00,$00 +cloud9_P3 + .by $00,$00,$F0,$FB,$FF,$FF,$FF,$FF,$FF,$FF,$FC,$F8 +cloud10_P3 + .by $0F,$1F,$BF,$FF,$FF,$FF,$FF,$FF,$FF,$FC,$C0,$80 +; missiles +cloud1_M + .by $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 +cloud2_M + .by $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 +cloud3_M + .by $00,$00,$00,$00,$00,$00,$00,$80,$00,$00,$00,$00 +cloud4_M + .by $00,$00,$00,$00,$00,$00,$10,$30,$00,$00,$00,$00 +cloud5_M + .by $00,$00,$00,$00,$00,$00,$00,$00,$90,$00,$00,$00 +cloud6_M + .by $00,$00,$00,$00,$00,$00,$00,$00,$10,$B0,$00,$00 +cloud7_M + .by $00,$00,$00,$00,$00,$00,$00,$10,$B0,$F0,$00,$00 +cloud8_M + .by $00,$00,$00,$00,$10,$30,$B0,$B0,$90,$00,$00,$00 +cloud9_M + .by $00,$00,$00,$80,$C0,$C0,$D0,$F0,$F0,$80,$00,$00 +cloud10_M + .by $00,$80,$80,$D0,$F0,$F0,$F0,$F0,$B0,$10,$00,$00 + + +datalines_clouds=12 +.endp +;-------------------------------------------------- +.proc PrepareTitlePM +;-------------------------------------------------- + ; logo PM and other title screen PN (without clouds) + jsr clearP0_1 + jsr logoPM + jsr timlogoPM + mva #1 SIZEP0_u + sta SIZEP1_u + mva GameColors+c_logo4 PCOLR0 + sta PCOLR1 + lda #$58 + sta HPOSP0_u + lda #$98 + sta HPOSP1_u + mva #0 VDELAY + + rts +clearP0_1 + ldx #$7f + bne go_clear +clearP0_1_sky + ldx #$53 +go_clear + lda #$00 +@ sta PMmemory+$200,x + sta PMmemory+$280,x + dex + bpl @- + rts +logoPM + ldx #datalines_logo-1 +@ lda logo_data_a,x + sta PMmemory+$200+Hoffset_logo,x + lda logo_data_b,x + sta PMmemory+$280+Hoffset_logo,x + dey + dex + bpl @- + rts +timlogoPM + ldx #datalines_tlogo-1 +@ lda tlogo_data_m,x + sta PMmemory+$180+Hoffset_tlogo,x + lda tlogo_data_p3,x + sta PMmemory+$380+Hoffset_tlogo,x + lda tlogo_data_p2,x + sta PMmemory+$300+Hoffset_tlogo,x + dey + dex + bpl @- + rts +; logo data +logo_data_a + dta %11111111 + dta %11111111 + ; DLI + dta %11111111 + dta %11111111 + dta %11111111 + dta %00000000 + dta %00000000 + dta %00000000 + dta %00000000 + dta %00000000 + dta %00011100 + dta %00001000 + dta %00000000 + dta %00000000 + dta %00000000 + dta %00000000 + dta %00000000 + dta %11111111 + dta %11111111 + dta %11111111 + dta %00000000 + dta %00000000 + dta %00000000 + :17 .by 0 ; 40 lines + dta %00011000 + dta %11111111 + dta %11111111 + dta %00011000 + dta %00111100 + dta %00000000 + dta %00000000 + dta %00000000 + dta %00000000 + dta %00000000 + dta %00000000 + dta %00000000 + dta %11111000 + dta %11111000 + dta %11111000 + dta %11111000 + dta %11111000 + dta %00000000 +logo_data_b + dta %11111111 + dta %11111111 + ; DLI + dta %11111111 + dta %11111111 + dta %11111111 + dta %00000000 + dta %00000000 + dta %00000000 + dta %00000000 + dta %00000000 + dta %00000000 + dta %00000000 + dta %00000000 + dta %00000000 + dta %00000000 + dta %00000000 + dta %00000000 + dta %00000000 + dta %00000000 + dta %00000000 + dta %11111111 + dta %11111111 + dta %11111111 + :17 .by 0 ; 40 lines + dta %11100111 + dta %00000000 + dta %00000000 + dta %11100111 + dta %11000011 + dta %11111111 + dta %11111111 + dta %11111111 + dta %00000000 + dta %00000000 + dta %00000000 + dta %00000000 + dta %00000000 + dta %10100111 + dta %10100111 + dta %00000111 + dta %00000111 + dta %00000111 +Hoffset_logo=12 +datalines_logo=58 +tlogo_data_m ; axe + dta %00000000 + dta %00000000 + dta %00000000 + dta %00000011 + dta %00000111 + dta %00001111 + dta %00001011 + dta %00001011 + dta %00000000 + dta %00000000 + dta %00000000 + dta %00000000 +tlogo_data_p3 ; axe + dta %00000000 + dta %00000000 + dta %00000000 + dta %00000000 + dta %10111000 + dta %10111000 + dta %10111000 + dta %00011000 + dta %00011000 + dta %00011000 + dta %00011000 + dta %00000000 +tlogo_data_p2 ; buttons and buckle + dta %11110000 + dta %11110000 + dta %11110000 + dta %11110000 + dta %11110000 + dta %11110000 + dta %11110000 + dta %11110000 + dta %11110000 + dta %11110000 + dta %11110000 + dta %11110000 +Hoffset_tlogo=61 +datalines_tlogo=11 +.endp +;-------------------------------------------------- +.proc PrepareOverPM +;-------------------------------------------------- + ; Players 1,2,3 filled fram ... to ... + jsr ClearPM + ldx #High_over-1 + lda #$ff ; fill background +@ sta PMmemory+$280+Hoffset_over,x ; P1 + sta PMmemory+$300+Hoffset_over,x ; P2 + sta PMmemory+$380+Hoffset_over,x ; P3 + dex + bpl @- + mva #%11 SIZEP1_u + sta SIZEP2_u + sta SIZEP3_u + + ; prepare sides + ldx #datalines_over2-1 +@ lda sides_data_a,x + sta PMmemory+$200+Hoffset_over2,x ; P0 + lda sides_data_b,x + sta PMmemory+$180+Hoffset_over2,x ; M0 + dex + bpl @- + lda #%00000001 + sta SIZEM_u + mva #0 SIZEP0_u + + mva GameColors+c_buckle PCOLR1 ; same color like buckle + sta PCOLR2 + sta PCOLR3 + mva GameColors+c_font1b PCOLR0 ; same color like font b + lda #$50 + sta HPOSP2_u + lda #$70 + sta HPOSP1_u + lda #$90 + sta HPOSP3_u + lda #$a8 + sta HPOSP0_u + lda #$50 + sta HPOSM0_u + lda #%00010001 + sta VDELAY + rts +; player 0 +sides_data_a + dta $0F,$03,$01,$3F,$0F,$00,$01,$01 + dta $1F,$01,$03,$01,$1F,$0F,$01,$01 + dta $71,$07,$00,$01,$03,$1F,$0F,$00 + dta $00,$01,$01,$03,$3F,$00,$01,$03 + dta $FF,$03,$01,$07,$01,$1F,$03,$07 +; missiles +sides_data_b + dta $00,$00,$02,$03,$00,$00,$00,$02 + dta $00,$03,$02,$00,$00,$00,$02,$03 + dta $00,$00,$00,$00,$02,$03,$00,$00 + dta $02,$03,$00,$00,$00,$02,$00,$03 + dta $02,$02,$00,$00,$00,$02,$02,$00 +Hoffset_over = 30 +High_over=78 +Hoffset_over2=60 +datalines_over2=40 +.endp +;-------------------------------------------------- +.proc SetPMl1 +;-------------------------------------------------- + mva #$4f HPOSP2_d + sta HPOSP3_d + mva #$5f HPOSM2_d + sta HPOSM3_d + mva #$4c HPOSP0_d + mva #$54 HPOSM0_d + mva #$4c HPOSM1_d + mva #$e0 HPOSP1_d ; hide + rts +.endp +;-------------------------------------------------- +.proc SetPMr1 +;-------------------------------------------------- + mva #$9f HPOSP2_d + sta HPOSP3_d + mva #$af HPOSM2_d + sta HPOSM3_d + mva #$af HPOSP0_d + mva #$a4 HPOSM0_d + mva #$ac HPOSM1_d + mva #$e0 HPOSP1_d ; hide + rts +.endp +;-------------------------------------------------- +.proc SetPMl2 +;-------------------------------------------------- + mva #$4f HPOSP2_d + sta HPOSP3_d + mva #$5f HPOSM2_d + sta HPOSM3_d + mva #$e0 HPOSP0_d ; hide + mva #$55 HPOSM0_d + mva #$e0 HPOSM1_d ; hide + mva #$50 HPOSP1_d + rts +.endp +;-------------------------------------------------- +.proc SetPMr2 +;-------------------------------------------------- + mva #$9f HPOSP2_d + sta HPOSP3_d + mva #$af HPOSM2_d + sta HPOSM3_d + mva #$e0 HPOSP0_d ; hide + mva #$a3 HPOSM0_d + mva #$e0 HPOSM1_d ; hide + mva #$a2 HPOSP1_d + rts +.endp +;-------------------------------------------------- +.proc SetPMl3 +;-------------------------------------------------- + mva #$4f HPOSP2_d + sta HPOSP3_d + mva #$5f HPOSM2_d + sta HPOSM3_d + mva #$e0 HPOSP0_d ; hide + mva #$54 HPOSM0_d + mva #$56 HPOSM1_d + mva #$5b HPOSP1_d + rts +.endp +;-------------------------------------------------- +.proc SetPMr3 +;-------------------------------------------------- + mva #$9f HPOSP2_d + sta HPOSP3_d + mva #$af HPOSM2_d + sta HPOSM3_d + mva #$e0 HPOSP0_d ; hide + mva #$a4 HPOSM0_d + mva #$a2 HPOSM1_d + mva #$97 HPOSP1_d + rts +.endp +;-------------------------------------------------- +.proc SetPMl_RIP +;-------------------------------------------------- + mva #$4f HPOSP0_d + rts +.endp +;-------------------------------------------------- +.proc SetPMr_RIP +;-------------------------------------------------- + mva #$9f HPOSP0_d + rts +.endp +;-------------------------------- +; non ZP variables +;-------------------------------- +branches_list + .by 1,0,2,0,1,0 ; +branches_anim_phase ; from 0 to 4 + .by 1 +score + dta d"0000" +timer + dta d"00", $1a, d"00", $1a, d"00" +EyesPhase + .ds 1 +FootPhase + .ds 1 +AnimTimer + .ds 1 +FootTimer + .ds 1 +TimeCount + .ds 1 ; 00 - time stopped , $ff - time count +ScorePosition + .ds 1 ; line number in hi-score list (0-4) +NewHiScorePosition + .ds 1 ; line number in hi-score list (0-4) +PositionInName + .ds 1 ; position in player name +CharCode + .ds 1 ; input character code in player name +AutoScreen + .ds 1 ; 0 - standard, $ff - auto screen change +;-------------------------------------------------- +.proc MenuAnimationsReset +;-------------------------------------------------- +; set eyes and foot to phase 0 + mwa #eyes_0 timber_eyes_addr + mwa #foot_0 timber_foot_addr + ; reset timers and counters + lda #0 + sta AnimTimer + sta EyesPhase + sta FootPhase + rts +.endp +;-------------------------------------------------- +.proc MenuEyesSet +;-------------------------------------------------- +; set eyes to phase in X register + lda title_anime_tableL,x + sta timber_eyes_addr + lda title_anime_tableH,x + sta timber_eyes_addr+1 + rts +.endp +;-------------------------------------------------- +.proc MenuFootSet +;-------------------------------------------------- +; set eyes to phase in X register + txa + :2 lsr ; 4 times lower animation speed + and #%00000001 + tax + lda title_animf_tableL,x + sta timber_foot_addr + lda title_animf_tableH,x + sta timber_foot_addr+1 + rts +.endp +;-------------------------------------------------- +.proc ScoreUp +;-------------------------------------------------- + inc score+3 + lda score+3 + cmp #"9"+1 ; 9+1 character code + bne ScoreReady + lda #"0" ; 0 character code + sta score+3 + inc score+2 + lda score+2 + cmp #"5" + bne no_speed_power + jsr PowerSpeedUP ; every 50pts. +no_speed_power + cmp #"9"+1 ; 9+1 character code + bne ScoreReady + lda #"0" ; 0 character code + sta score+2 + jsr PowerSpeedUP ; every 50pts. + inc score+1 + lda score+1 + cmp #"9"+1 ; 9+1 character code + bne ScoreReady + lda #"0" ; 0 character code + sta score+1 + inc score +ScoreReady + rts +.endp +;-------------------------------------------------- +.proc ScoreClear +;-------------------------------------------------- + lda #"0" + ldx #3 +@ sta score,x + dex + bpl @- + rts +.endp +;-------------------------------------------------- +.proc ScoreToScreen +;-------------------------------------------------- + mva score screen_score + mva score+1 screen_score+1 + mva score+2 screen_score+2 + mva score+3 screen_score+3 + rts +.endp +;-------------------------------------------------- +.proc ScoreToBuffer +;-------------------------------------------------- + ; points + lda score + sec + sbc #("0"-'0') + sta hs_posX+6 + lda score+1 + sec + sbc #("0"-'0') + sta hs_posX+7 + lda score+2 + sec + sbc #("0"-'0') + sta hs_posX+8 + lda score+3 + sec + sbc #("0"-'0') + sta hs_posX+9 + ; time + lda timer + sec + sbc #("0"-'0') + sta hs_posX + lda timer+1 + sec + sbc #("0"-'0') + sta hs_posX+1 + lda timer+3 + sec + sbc #("0"-'0') + sta hs_posX+2 + lda timer+4 + sec + sbc #("0"-'0') + sta hs_posX+3 + lda timer+6 + sec + sbc #("0"-'0') + sta hs_posX+4 + lda timer+7 + sec + sbc #("0"-'0') + sta hs_posX+5 + rts +.endp +;-------------------------------------------------- +.proc TimeToScreen +;-------------------------------------------------- + ldx #7 +@ lda timer,x + sta screen_timer,x + dex + bpl @- + rts +.endp +;-------------------------------------------------- +.proc TimerReset +;-------------------------------------------------- +; set timer to 1 and PowerDownSpeed to ?? + lda #"0" + sta timer + sta timer+1 + sta timer+3 + sta timer+4 + sta timer+6 + sta timer+7 + + mvy #0 PowerSpeedIndex + lda (SpeedTableAdr),y + sta PowerDownSpeed + jsr TimeToScreen + rts +.endp +;-------------------------------------------------- +.proc TimelUp +;-------------------------------------------------- + lda #"0" ; for speed + ldx timer+7 + inx + inx + cpx #"9"+1 + bcs next_digit6 + stx timer+7 + bne to_screen +next_digit6 + tax ; "0" + stx timer+7 + ldx timer+6 + inx + cpx #"9"+1 + bcs next_digit4 + stx timer+6 + bne to_screen +next_digit4 + tax ; "0" + stx timer+6 + ldx timer+4 + inx + cpx #"9"+1 + bcs next_digit3 + stx timer+4 + bne to_screen +next_digit3 + tax ; "0" + stx timer+4 + ldx timer+3 + inx + cpx #"6" + bcs next_digit1 + stx timer+3 + bne to_screen +next_digit1 + tax ; "0" + stx timer+3 + ldx timer+1 + inx + cpx #"9"+1 + bcs next_digit0 + stx timer+1 + bne to_screen +next_digit0 + tax ; "0" + stx timer+1 + inc timer +to_screen + jsr TimeToScreen + rts +.endp +;-------------------------------------------------- +.proc PowerSpeedUP +;-------------------------------------------------- + inc PowerSpeedIndex + ldy PowerSpeedIndex + lda (SpeedTableAdr),y + sta PowerDownSpeed + rts +.endp +;-------------------------------------------------- +.proc PowerUp +;-------------------------------------------------- + mva GameColors+c_light_red COLOR2 ; light red + inc PowerValue + lda PowerValue + cmp #49 + bne not_max_pwr + mva #48 PowerValue +not_max_pwr + jsr draw_PowerBar + rts +.endp +;-------------------------------------------------- +.proc PowerDown +;-------------------------------------------------- + dec PowerValue + bpl not_min_pwr + mva #0 PowerValue +not_min_pwr + jsr draw_PowerBar + rts +.endp +;-------------------------------------------------- +.proc draw_PowerBar +;-------------------------------------------------- + lda PowerValue + cmp #48 + bcc not_to_high + mva #48 PowerValue +not_to_high + tay + and #%00000011 + clc + adc #PowerChar0 + tax ; code of last char in bar + tya + :2 lsr ; value/4 - number of full char in bar + sta tempbyte + ldy #0 + lda #PowerCharFull +draw_bar_loop + cpy tempbyte + bne not_last_bar_char + ; last char in bar + txa + sta Power,y + lda #PowerCharEmpty ; because next in bar chars are empty + bne next_char +not_last_bar_char + sta Power,y +next_char + iny + cpy #12 + bne draw_bar_loop + rts +.endp +;-------------------------------------------------- +.proc draw_branches +;-------------------------------------------------- + ; branch 0 (off-screen if phase 0) +draw_branch0 + lda branches_anim_phase + beq draw_branch1 + tax + ; this is partialy off-screen branch + ; we must draw only visible lines + ; now calculate start screen address + lda #5 + sec + sbc branches_anim_phase + :5 asl ; skippedlines*32 + tay ; to skip lines + txa + ; now calculate start screen address + :5 asl ; phase*32 + ;clc + adc #<(gamescreen_middle-5*32) + sta temp + lda #>(gamescreen_middle-5*32) + adc #0 + sta temp+1 + ldx branches_list ; branch0 + lda branch_addr_tableL,x + sta temp2 + lda branch_addr_tableH,x + sta temp2+1 + ; skiping off-screen lines + ; ldy #$00 ; we have value in Y +@ lda (temp2),y + sta (temp),y + iny + cpy #(5*32) ;5 lines - skipped lines + bne @- +draw_branch1 + lda branches_anim_phase + ; now calculate start screen address + :5 asl ; phase*32 + ;clc + adc #gamescreen_middle + adc #0 + sta temp+1 + ldy branches_list+1 ; branch1 + lda branch_addr_tableL,y + sta temp2 + lda branch_addr_tableH,y + sta temp2+1 + ldy #$00 +@ lda (temp2),y + sta (temp),y + iny + cpy #(5*32) ;5 lines + bne @- + jsr TimeToScreen +draw_branch2 + lda branches_anim_phase + ; now calculate start screen address + :5 asl ; phase*32 + ;clc + adc #<(gamescreen_middle+5*32) + sta temp + lda #>(gamescreen_middle+5*32) + adc #0 + sta temp+1 + ldy branches_list+2 ; branch2 + lda branch_addr_tableL,y + sta temp2 + lda branch_addr_tableH,y + sta temp2+1 + ldy #$00 +@ lda (temp2),y + sta (temp),y + iny + cpy #(5*32) ;5 lines + bne @- + jsr ScoreToScreen +draw_branch3 + lda branches_anim_phase + ldx #(5*32) ; how many lines draw + cmp #4 + bne not_phase4 + ldx #(4*32) ; how many lines draw +not_phase4 + stx tempbyte + ; now calculate start screen address + :5 asl ; phase*32 + ;clc + adc #<(gamescreen_middle+10*32) + sta temp + lda #>(gamescreen_middle+10*32) + adc #0 + sta temp+1 + ldy branches_list+3 ; branch3 + lda branch_addr_tableL,y + sta temp2 + lda branch_addr_tableH,y + sta temp2+1 + ldy #$00 +@ lda (temp2),y + sta (temp),y + iny + cpy tempbyte ;? lines + bne @- +draw_branch4 + lda branches_anim_phase + ; draw only if phase 0 or 1 or 2 + cmp #3 + bcs all_drawed + ldx #(3*32) ; how many lines draw + cmp #1 + bne not_phase1 + ldx #(2*32) ; how many lines draw +not_phase1 + cmp #2 + bne not_phase2 + ldx #(1*32) ; how many lines draw +not_phase2 + stx tempbyte + ; now calculate start screen address + :5 asl ; phase*32 + ;clc + adc #<(gamescreen_middle+15*32) + sta temp + lda #>(gamescreen_middle+15*32) + adc #0 + sta temp+1 + ldy branches_list+4 ; branch3 + lda branch_addr_tableL,y + sta temp2 + lda branch_addr_tableH,y + sta temp2+1 + ldy #$00 +@ lda (temp2),y + sta (temp),y + iny + cpy tempbyte ;? lines + bne @- +all_drawed + rts +.endp +;-------------------------------------------------- +.proc branches_go_down +;-------------------------------------------------- + inc branches_anim_phase + lda branches_anim_phase + cmp #5 + bne next_phase_only + jsr new_branch +next_phase_only + jsr draw_branches + rts +.endp +;-------------------------------------------------- +.proc new_branch +;-------------------------------------------------- + mva #0 branches_anim_phase + mva branches_list+4 branches_list+5 + mva branches_list+3 branches_list+4 + mva branches_list+2 branches_list+3 + mva branches_list+1 branches_list+2 + mva branches_list+0 branches_list+1 + ; ----- less branches ----- + beq make_random_branch + lda #0 + beq branch_ready + ; ----- +make_random_branch + lda RANDOM ; branch or not (50%) + and #%00000001 + beq branch_ready ; no branches + lda RANDOM ; left or right (50%) + and #%00000001 + tax + inx + txa +branch_ready + sta branches_list+0 + rts +.endp +;-------------------------------------------------- +.proc GetKey +; waits for pressing a key and returns pressed value in A +; result: A=keycode +;-------------------------------------------------- + jsr WaitForKeyRelease +getKeyAfterWait + jsr GetKeyFast + cmp #@kbcode._none + beq getKeyAfterWait + ldy #0 + sty ATRACT ; reset atract mode + rts +.endp + +;-------------------------------------------------- +.proc GetKeyFast +; returns pressed value in A - no waits for press +; result: A=keycode ($ff - no key pressed) +;-------------------------------------------------- + .IF TARGET = 800 + lda SKSTAT + and #%00000100 ; any key + bne checkJoyGetKey ; key not pressed, check Joy + .ELIF TARGET = 5200 + lda SkStatSimulator + and #%11111110 + bne checkJoyGetKey ; key not pressed, check Joy + .ENDIF + lda kbcode + cmp #@kbcode._none + bne getkeyend +checkJoyGetKey + ;------------JOY------------- + ;happy happy joy joy + ;check for joystick now + lda STICK0 + and #$0f + cmp #$0f + beq notpressedJoyGetKey + tay + lda joyToKeyTable,y + bne getkeyend + +notpressedJoyGetKey + ;fire + lda STRIG0 + beq JoyButton + .IF TARGET = 800 ; Second joy button , Select and Option key only on A800 + jsr Check2button + bcc SecondButton + bne checkSelectKey +checkSelectKey + lda CONSOL + and #%00000010 ; Select + beq SelectPressed + lda CONSOL + and #%00000100 ; Option + beq OptionPressed + lda CONSOL + and #%00000001 ; Start + beq StartPressed + .ENDIF + lda #@kbcode._none + bne getkeyend +OptionPressed + lda #@kbcode._right ; Option key = right key + bne getkeyend +SecondButton + lda #@kbcode._ret ; 2nd joy button = Return key + bne getkeyend +SelectPressed + lda #@kbcode._left ; Select key = left key + bne getkeyend +StartPressed + lda #@kbcode._space ; Start key = space key + bne getkeyend +JoyButton + lda #@kbcode._tab ; 1st joy button = TAB key +getkeyend + rts +; ---- + .IF TARGET = 800 ; Second joy button only on A800 +Check2button + lda PADDL0 + and #$c0 + eor #$C0 + cmp PaddleState + sta PaddleState + rts + .ENDIF +.endp + +;-------------------------------------------------- +.proc getkeynowait +;-------------------------------------------------- + jsr WaitForKeyRelease + lda kbcode + and #$3f ; CTRL and SHIFT elimination + rts +.endp + + +;-------------------------------------------------- +.proc WaitForKeyRelease +;-------------------------------------------------- +StillWait + lda STICK0 + and #$0f + cmp #$0f + bne StillWait + lda STRIG0 + beq StillWait + .IF TARGET = 800 + lda SKSTAT + and #%00000100 ; any key + beq StillWait + lda CONSOL + and #%00000111 ; Start, Select and Option + cmp #%00000111 + bne StillWait + .ELIF TARGET = 5200 + lda SkStatSimulator + and #%11111110 + beq StillWait + .ENDIF +KeyReleased + rts +.endp +;-------------------------------------------------- +.proc InitBranches +;-------------------------------------------------- + ldy #5 +@ lda initial_branches_list,y + sta branches_list,y + dey + bpl @- + rts +.endp +;-------------------------------------------------- +.proc WaitForSync +;-------------------------------------------------- + lda SyncByte +@ cmp SyncByte + beq @- + rts +.endp +;-------------------------------------------------- +.proc RmtSongSelect +; starting song line 0-255 to A reg +;-------------------------------------------------- + mvx #$ff RMT_blocked + ldx #MODUL ; hi byte of RMT module to Y reg + jsr RASTERMUSICTRACKER ; Init + mva #0 RMT_blocked + rts +.endp +;-------------------------------------------------- +.proc PAL_NTSC +;-------------------------------------------------- + lda PAL + and #%00001110 + beq is_PAL +is_NTSC + ldx #63 +@ lda NTSC_colors,x + sta GameColors,x + dex + bpl @- + rts +is_PAL + ldx #63 +@ lda PAL_colors,x + sta GameColors,x + dex + bpl @- + rts +.endp +;-------------------------------------------------- +; colors tables +PAL_colors + ; black + .by $00 + ; white (numbers and letters) + .by $0c + ; sky + .by $88 + ; dark brown + .by $f4 + ; light brown + .by $f6 + ; red (bower bar) + .by $34 + ; Lumberjack shirt A + .by $22 + ; Lumberjack shirt B + .by $24 + ; Lumberjack hand/face + .by $2a + ; birds + .by $04 + ; clouds and logo + .by $0e + ; light red (power bar up) + .by $3f + ; thin horizon line A + .by $b4 + ; thin horizon line B + .by $da + ; green grass + .by $c8 + ; hat + .by $82 + ; button and buckle + .by $ea + ; blue pants + .by $94 + ; grey RIP + .by $06 + ; title fonts colors + .by $fc + .by $ee + .by $de + .by $12 + .by $2a + ; second set + .by $18 + .by $1a + .by $16 + ; rest of logo colors + .by $04 + .by $12 + .by $14 + .by $ec + .by $e8 + ; clouds on title screen + .by $7e + ; timber shirt color on title screen + .by $26 + ; game over colors + .by $10 + ; shadow + .by $c6 + ; inverted fonts + .by $fa + ; chain + .by $08 + .by $0a +NTSC_colors + ; black + .by $00 + ; white (numbers and letters) + .by $0c + ; sky + .by $98 + ; dark brown + .by $24 + ; light brown + .by $26 + ; red (bower bar) + .by $44 + ; Lumberjack shirt A + .by $32 + ; Lumberjack shirt B + .by $34 + ; Lumberjack hand/face + .by $3a + ; birds + .by $04 + ; clouds + .by $0e + ; light red (power bar up) + .by $4f + ; thin horizon line A + .by $c4 + ; thin horizon line B + .by $ea + ; green grass + .by $d8 + ; hat + .by $92 + ; button and buckle + .by $fa + ; blue pants + .by $a4 + ; grey RIP + .by $06 + ; title fonts colors + .by $2c + .by $fe + .by $ee + .by $22 + .by $3a + ; second set + .by $28 + .by $2a + .by $26 + ; rest of logo colors + .by $04 + .by $22 + .by $24 + .by $fc + .by $f8 + ; clouds on title screen + .by $8e + ; timber shirt color on title screen + .by $36 + ; game over colors + .by $20 + ; shadow + .by $d6 + ; inverted fonts + .by $2a + ; chain + .by $08 + .by $0a +;-------------------------------------------------- +title_anime_tableL + .by eyes_0 ; first eyes animation + .by >eyes_1 + .by >eyes_2 + .by >eyes_1 + .by >eyes_0 + .by >eyes_3 ; second eyes animation + .by >eyes_4 + .by >eyes_2 + .by >eyes_4 + .by >eyes_3 +title_animf_tableL + .by foot_0 ; foot animation + .by >foot_1 + .by >foot_0 +;-------------------------------------------------- +initial_branches_list + .by 1,0,2,0,0,0 ; + +branch_addr_tableL + .by branch0 + .by >branch1 + .by >branch2 +; power speed table - every 50pts. +PowerSpeedTableA + ; in original game double speed after 400pts. + ; 000,050,100,150,200,250,300,350,400,450,500,550,600,650,700,750,800,850,900,950 + .by 011,010,010,009,008,007,007,006,005,005,004,004,004,003,003,003,002,002,001,001 +PowerSpeedTableB + ; level for old men + .by 022,020,018,017,015,013,012,011,010,010,009,009,008,007,006,005,004,003,002,001,001,001,001 + +;-------------------------------- +PowerChar0 = $07 ; power bar first (0) character +PowerCharFull = $0b +PowerCharEmpty = PowerChar0 +;-------------------------------- +; characters tables for GAme Over screen + ;ascii codes +char_ascii + .by " slABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789<^" +char_count = 39 ; without DEL and END +char_byte1 + .by $00 ; space + .by $54 ; S` + .by $36 ; L/ + .by $20 ; A + .by $22 ; B + .by $24 ; C + .by $26 ; D + .by $26 ; E + .by $26 ; F + .by $24 ; G + .by $26 ; H + .by $30 ; I + .by $32 ; J + .by $26 ; K + .by $36 ; L + .by $38 ; M + .by $3a ; N + .by $24 ; O + .by $26 ; P + .by $24 ; Q + .by $26 ; R + .by $44 ; S + .by $46 ; T + .by $48 ; U + .by $4a ; V + .by $4c ; W + .by $4e ; X + .by $50 ; Y + .by $52 ; Z + .by $0c ; 0 + .by $0e ; 1 + .by $10 ; 2 + .by $12 ; 3 + .by $14 ; 4 + .by $16 ; 5 + .by $0c ; 6 + .by $1a ; 7 + .by $1c ; 8 + .by $1e ; 9 + .by $18 ; DEL (arrow) + .by $5a ; END (arrow) +char_byte2 + .by $00 ; space + .by $55 ; S` + .by $57 ; L/ + .by $21 ; A + .by $13 ; B + .by $25 ; C + .by $27 ; D + .by $29 ; E + .by $2b ; F + .by $2d ; G + .by $2f ; H + .by $31 ; I + .by $33 ; J + .by $35 ; K + .by $37 ; L + .by $39 ; M + .by $3b ; N + .by $3d ; O + .by $3f ; P + .by $41 ; Q + .by $43 ; R + .by $45 ; S + .by $47 ; T + .by $49 ; U + .by $4b ; V + .by $4d ; W + .by $4f ; X + .by $51 ; Y + .by $53 ; Z + .by $0d ; 0 + .by $0f ; 1 + .by $11 ; 2 + .by $13 ; 3 + .by $15 ; 4 + .by $17 ; 5 + .by $17 ; 6 + .by $1b ; 7 + .by $13 ; 8 + .by $1f ; 9 + .by $19 ; DEL (arrow) + .by $5b ; END (arrow) +char_byte3 + .by $00 ; space + .by $31 ; S` + .by $58 ; L/ + .by $31 ; A + .by $31 ; B + .by $31 ; C + .by $31 ; D + .by $31 ; E + .by $31 ; F + .by $31 ; G + .by $31 ; H + .by $ff ; I + .by $31 ; J + .by $31 ; K + .by $58 ; L + .by $31 ; M + .by $31 ; N + .by $31 ; O + .by $31 ; P + .by $31 ; Q + .by $31 ; R + .by $31 ; S + .by $31 ; T + .by $31 ; U + .by $31 ; V + .by $31 ; W + .by $31 ; X + .by $31 ; Y + .by $31 ; Z + .by $31 ; 0 + .by $58 ; 1 + .by $31 ; 2 + .by $31 ; 3 + .by $31 ; 4 + .by $31 ; 5 + .by $31 ; 6 + .by $31 ; 7 + .by $31 ; 8 + .by $31 ; 9 + .by $00 ; DEL (arrow) + .by $00 ; END (arrow) +;-------------------------------- +joyToKeyTable + .by $ff ;00 + .by $ff ;01 + .by $ff ;02 + .by $ff ;03 + .by $ff ;04 + .by $ff ;05 + .by $ff ;06 + .by @kbcode._right ;07 + .by $ff ;08 + .by $ff ;09 + .by $ff ;0a + .by @kbcode._left ;0b + .by $ff ;0c + .by @kbcode._down ;0d + .by @kbcode._up ;0e + .by $ff ;0f + +;------------------------------------------------- +high_scores + ; "0123456789012345" - 16bytes +hs_pos1 + .by "0000000210 PECUs" +hs_pos2 + .by "0000000170 PIRX " +hs_pos3 + .by "0000000130 ADAM " +hs_pos4 + .by "0000000100 ALEX " +hs_pos5 + .by "0000000080 TDC " +hs_posX + .by "0000000000 NEW " ; buffer for last score +hs_def_name + .by "A " +;------------------------------------------------- +;RMT PLAYER variables +.IF RMT = 2 +track_variables +trackn_db .ds TRACKS +trackn_hb .ds TRACKS +trackn_idx .ds TRACKS +trackn_pause .ds TRACKS +trackn_note .ds TRACKS +trackn_volume .ds TRACKS +trackn_distor .ds TRACKS +trackn_shiftfrq .ds TRACKS +trackn_instrx2 .ds TRACKS +trackn_instrdb .ds TRACKS +trackn_instrhb .ds TRACKS +trackn_instridx .ds TRACKS +trackn_instrlen .ds TRACKS +trackn_instrlop .ds TRACKS +trackn_instrreachend .ds TRACKS +trackn_volumeslidedepth .ds TRACKS +trackn_volumeslidevalue .ds TRACKS +trackn_effdelay .ds TRACKS +trackn_effvibratoa .ds TRACKS +trackn_effshift .ds TRACKS +trackn_tabletypespeed .ds TRACKS +trackn_tablenote .ds TRACKS +trackn_tablea .ds TRACKS +trackn_tableend .ds TRACKS +trackn_tablelop .ds TRACKS +trackn_tablespeeda .ds TRACKS +trackn_command .ds TRACKS +trackn_filter .ds TRACKS +trackn_audf .ds TRACKS +trackn_audc .ds TRACKS +trackn_audctl .ds TRACKS +v_aspeed .ds 1 +track_endvariables +.ENDIF +;------------------------------------------------- +;RMT PLAYER loading shenaningans + .align $100 + .ds $400 +PLAYER +.IF RMT =2 + icl 'msx/rmtplayr_modified.asm' +.ELSE + icl 'msx/rmtplayr.asm' +.ENDIF +;------------------------------------------------- +;------------------------------------------------- +; music and sfx + org $b000 ; address of RMT module +MODUL + ; RMT module is standard Atari binary file already + ; include music RMT module: + ins "msx/tbm5_str.rmt",+6 +MODULEND + +;----------------------------------- +; names of RMT instruments (sfx) +;-------------------------------- +sfx_ciach = $03 +sfx_go1 = $0c +sfx_go2 = $0d +;-------------------------------- +; RMT songs (lines) +;-------------------------------- +song_main_menu = $00 +song_ingame = $17 +song_game_over = $0d +song_go = $10 +song_scores = $12 + + + RUN main diff --git a/lumber.xex b/lumber.xex new file mode 100644 index 0000000..e1e60f1 Binary files /dev/null and b/lumber.xex differ diff --git a/msx/desktop.ini b/msx/desktop.ini new file mode 100644 index 0000000..d957fd1 --- /dev/null +++ b/msx/desktop.ini @@ -0,0 +1,4 @@ +[ViewState] +Mode= +Vid= +FolderType=Generic diff --git a/msx/feat.txt b/msx/feat.txt new file mode 100644 index 0000000..c39b62e --- /dev/null +++ b/msx/feat.txt @@ -0,0 +1,43 @@ +SFX_PRIOR equ 0 +STEREOMODE equ 0 +PSEUDOSTEREO equ 1 +;* --------BEGIN-------- +;* Z:\GitHub\Young-lumberjack\msx\tbm5_str.rmt +FEAT_SFX equ 1 +FEAT_GLOBALVOLUMEFADE equ 0 ;RMTGLOBALVOLUMEFADE variable +FEAT_NOSTARTINGSONGLINE equ 0 +FEAT_INSTRSPEED equ 1 +FEAT_CONSTANTSPEED equ 0 ;(10 times) +FEAT_COMMAND1 equ 0 ;(0 times) +FEAT_COMMAND2 equ 0 ;(0 times) +FEAT_COMMAND3 equ 0 ;(0 times) +FEAT_COMMAND4 equ 0 ;(0 times) +FEAT_COMMAND5 equ 0 ;(0 times) +FEAT_COMMAND6 equ 0 ;(0 times) +FEAT_COMMAND7SETNOTE equ 0 ;(0 times) +FEAT_COMMAND7VOLUMEONLY equ 0 ;(0 times) +FEAT_PORTAMENTO equ 0 ;(0 times) +FEAT_FILTER equ 1 ;(12 times) +FEAT_FILTERG0L equ 1 ;(12 times) +FEAT_FILTERG1L equ 0 ;(0 times) +FEAT_FILTERG0R equ 0 ;(0 times) +FEAT_FILTERG1R equ 0 ;(0 times) +FEAT_BASS16 equ 1 ;(11 times) +FEAT_BASS16G1L equ 1 ;(10 times) +FEAT_BASS16G3L equ 0 ;(0 times) +FEAT_BASS16G1R equ 0 ;(0 times) +FEAT_BASS16G3R equ 0 ;(0 times) +FEAT_VOLUMEONLYG0L equ 0 ;(0 times) +FEAT_VOLUMEONLYG2L equ 0 ;(0 times) +FEAT_VOLUMEONLYG3L equ 0 ;(0 times) +FEAT_VOLUMEONLYG0R equ 0 ;(0 times) +FEAT_VOLUMEONLYG2R equ 0 ;(0 times) +FEAT_VOLUMEONLYG3R equ 0 ;(0 times) +FEAT_TABLETYPE equ 0 ;(0 times) +FEAT_TABLEMODE equ 0 ;(0 times) +FEAT_TABLEGO equ 0 ;(0 times) +FEAT_AUDCTLMANUALSET equ 1 ;(2 times) +FEAT_VOLUMEMIN equ 0 ;(0 times) +FEAT_EFFECTVIBRATO equ 0 ;(0 times) +FEAT_EFFECTFSHIFT equ 1 ;(1 times) +;* --------END-------- diff --git a/msx/rmtplayr.asm b/msx/rmtplayr.asm new file mode 100644 index 0000000..e7425d5 --- /dev/null +++ b/msx/rmtplayr.asm @@ -0,0 +1,1431 @@ +;* +;* Raster Music Tracker, RMT Atari routine version 1.20090108 +;* (c) Radek Sterba, Raster/C.P.U., 2002 - 2009 +;* http://raster.atari.org +;* +; de-self-modification and pseudo stereo option - Pecus 2025 +; +;* Warnings: +;* +;* 1. RMT player routine needs 19 itself reserved bytes in zero page (no accessed +;* from any other routines) as well as cca 1KB of memory before the "PLAYER" +;* address for frequency tables and functionary variables. It's: +;* a) from PLAYER-$03c0 to PLAYER for stereo RMTplayer +;* b) from PLAYER-$0320 to PLAYER for mono RMTplayer +;* +;* 2. RMT player routine MUST (!!!) be compiled from the begin of the memory page. +;* i.e. "PLAYER" address can be $..00 only! +;* +;* 3. Because of RMTplayer provides a lot of effects, it spent a lot of CPU time. +;* +;* STEREOMODE equ 0..3 ;0 => compile RMTplayer for 4 tracks mono +;* ;1 => compile RMTplayer for 8 tracks stereo +;* ;2 => compile RMTplayer for 4 tracks stereo L1 R2 R3 L4 +;* ;3 => compile RMTplayer for 4 tracks stereo L1 L2 R3 R4 +;* +; Message from Pecus: +; This is a new minor feature. +; It only works if STEREOMODE is set to 0 (mono) +; If on then plays on the second POKEY all sounds delayed by one frame. +; +; PSEUDOSTEREO equ 0/1 +; +; And second new feature :) +; It only works if FEAT_SFX is set to 1 (SFX enabled) +; If this option is enabled, SFX take priority over music. +; Music instruments on the SFX channel starts playing after the effect sounds +; (never interrupts SFX) +; +; SFX_PRIOR equ 0/1 +; +;* +;* RMT FEATures definitions file +;* For optimizations of RMT player routine to concrete RMT modul only! + icl "feat.txt" + +; set default values for STEREOMODE and PSEUDOSTEREO if not defined +.IFNDEF STEREOMODE + STEREOMODE equ 0 ; 4 track mono +.ENDIF +.IFNDEF PSEUDOSTEREO + PSEUDOSTEREO equ 0 ; no pseudo stereo +.ENDIF +.IFNDEF SFX_PRIOR + SFX_PRIOR equ 0 ; no SFX priority +.ENDIF + + +.IF STEREOMODE==1 + TRACKS equ 8 +.ELSE + TRACKS equ 4 +.ENDIF + + +;* +;*PLAYER equ $3400 +;* +;* +;* RMT ZeroPage addresses +; Remember to use the ".zpvar" directive in your program for declaring the starting address +; .zpvar first_zp_variable .byte = $80 (where $80 is the first used address on the zero page) + .zpvar p_instrstable .word + .zpvar p_trackslbstable .word + .zpvar p_trackshbstable .word + .zpvar p_song .word +p_tis = p_instrstable + .zpvar ns .word + .zpvar nr .word + .zpvar nt .word + .zpvar reg1 .byte + .zpvar reg2 .byte + .zpvar reg3 .byte + .zpvar tmp .byte + .IF FEAT_COMMAND2 + .zpvar frqaddcmd2 .byte + .ENDIF + ; de-self-modification vars + .zpvar v_audctl .byte + .IF TRACKS>4 + .zpvar v_audctl2 .byte + .ENDIF + .IF FEAT_INSTRSPEED==0||FEAT_INSTRSPEED>1 + .zpvar v_ainstrspeed .byte + .ENDIF + .zpvar v_maxtracklen .byte + .zpvar v_abeat .byte + .IF FEAT_CONSTANTSPEED==0 + .zpvar v_bspeed .byte + .ENDIF + .IF FEAT_CONSTANTSPEED==0 + .zpvar v_speed .byte + .ENDIF + .IF FEAT_SFX + .zpvar RMTSFXVOLUME .byte + .ENDIF + .IF FEAT_SFX&&SFX_PRIOR + .zpvar sfx_flag .byte + .ENDIF + ; end of de-self-modification vars + .IF TRACKS>4 + org PLAYER-$400+$40 + .ELSE + org PLAYER-$400+$e0 + .ENDIF +; Non zero page variables block +; You can move this block to the place where you plan to store variables +track_variables +trackn_db .ds TRACKS +trackn_hb .ds TRACKS +trackn_idx .ds TRACKS +trackn_pause .ds TRACKS +trackn_note .ds TRACKS +trackn_volume .ds TRACKS +trackn_distor .ds TRACKS +trackn_shiftfrq .ds TRACKS + .IF FEAT_PORTAMENTO +trackn_portafrqc .ds TRACKS +trackn_portafrqa .ds TRACKS +trackn_portaspeed .ds TRACKS +trackn_portaspeeda .ds TRACKS +trackn_portadepth .ds TRACKS + .ENDIF +trackn_instrx2 .ds TRACKS +trackn_instrdb .ds TRACKS +trackn_instrhb .ds TRACKS +trackn_instridx .ds TRACKS +trackn_instrlen .ds TRACKS +trackn_instrlop .ds TRACKS +trackn_instrreachend .ds TRACKS +trackn_volumeslidedepth .ds TRACKS +trackn_volumeslidevalue .ds TRACKS + .IF FEAT_VOLUMEMIN +trackn_volumemin .ds TRACKS + .ENDIF +FEAT_EFFECTS equ FEAT_EFFECTVIBRATO||FEAT_EFFECTFSHIFT + .IF FEAT_EFFECTS +trackn_effdelay .ds TRACKS + .ENDIF + .IF FEAT_EFFECTVIBRATO +trackn_effvibratoa .ds TRACKS + .ENDIF + .IF FEAT_EFFECTFSHIFT +trackn_effshift .ds TRACKS + .ENDIF +trackn_tabletypespeed .ds TRACKS + .IF FEAT_TABLEMODE +trackn_tablemode .ds TRACKS + .ENDIF +trackn_tablenote .ds TRACKS +trackn_tablea .ds TRACKS +trackn_tableend .ds TRACKS + .IF FEAT_TABLEGO +trackn_tablelop .ds TRACKS + .ENDIF +trackn_tablespeeda .ds TRACKS + .IF FEAT_FILTER||FEAT_BASS16 +trackn_command .ds TRACKS + .ENDIF + .IF FEAT_BASS16 +trackn_outnote .ds TRACKS + .ENDIF + .IF FEAT_FILTER +trackn_filter .ds TRACKS + .ENDIF +trackn_audf .ds TRACKS +trackn_audc .ds TRACKS + .IF FEAT_AUDCTLMANUALSET +trackn_audctl .ds TRACKS + .ENDIF +v_aspeed .ds 1 +track_endvariables +; End of non zero page variables block + + org PLAYER-$100-$140-$40+2 +INSTRPAR equ 12 +tabbeganddistor + dta frqtabpure-frqtab,$00 + dta frqtabpure-frqtab,$20 + dta frqtabpure-frqtab,$40 + dta frqtabbass1-frqtab,$c0 + dta frqtabpure-frqtab,$80 + dta frqtabpure-frqtab,$a0 + dta frqtabbass1-frqtab,$c0 + dta frqtabbass2-frqtab,$c0 + .IF FEAT_EFFECTVIBRATO +vibtabbeg dta 0,vib1-vib0,vib2-vib0,vib3-vib0 +vib0 dta 0 +vib1 dta 1,-1,-1,1 +vib2 dta 1,0,-1,-1,0,1 +vib3 dta 1,1,0,-1,-1,-1,-1,0,1,1 +vibtabnext + dta vib0-vib0+0 + dta vib1-vib0+1,vib1-vib0+2,vib1-vib0+3,vib1-vib0+0 + dta vib2-vib0+1,vib2-vib0+2,vib2-vib0+3,vib2-vib0+4,vib2-vib0+5,vib2-vib0+0 + dta vib3-vib0+1,vib3-vib0+2,vib3-vib0+3,vib3-vib0+4,vib3-vib0+5,vib3-vib0+6,vib3-vib0+7,vib3-vib0+8,vib3-vib0+9,vib3-vib0+0 + .ENDIF + org PLAYER-$100-$140 + .IF FEAT_BASS16 +frqtabbasslo + dta $F2,$33,$96,$E2,$38,$8C,$00,$6A,$E8,$6A,$EF,$80,$08,$AE,$46,$E6 + dta $95,$41,$F6,$B0,$6E,$30,$F6,$BB,$84,$52,$22,$F4,$C8,$A0,$7A,$55 + dta $34,$14,$F5,$D8,$BD,$A4,$8D,$77,$60,$4E,$38,$27,$15,$06,$F7,$E8 + dta $DB,$CF,$C3,$B8,$AC,$A2,$9A,$90,$88,$7F,$78,$70,$6A,$64,$5E,$00 + .ENDIF + org PLAYER-$100-$100 +frqtab + ERT [255 + ldy #0 + tya +ri0 sta track_variables,y + sta track_endvariables-$100,y + iny + bne ri0 + .ELSE + ldy #track_endvariables-track_variables + lda #0 +ri0 sta track_variables-1,y + dey + bne ri0 + .ENDIF + ldy #4 + lda (ns),y + sta v_maxtracklen + iny + .IF FEAT_CONSTANTSPEED==0 + lda (ns),y + sta v_speed + .ENDIF + .IF FEAT_INSTRSPEED==0 + iny + lda (ns),y + sta v_instrspeed + sta v_ainstrspeed + .ELSEIF FEAT_INSTRSPEED>1 + lda #FEAT_INSTRSPEED + sta v_ainstrspeed + .ENDIF + ldy #8 +ri1 lda (ns),y + sta p_tis-8,y + iny + cpy #8+8 + bne ri1 + .IF FEAT_NOSTARTINGSONGLINE==0 + pla + pha + .IF TRACKS>4 + asl @ + asl @ + asl @ + clc + adc p_song + sta p_song + pla + php + and #$e0 + asl @ + rol @ + rol @ + rol @ + .ELSE + asl @ + asl @ + clc + adc p_song + sta p_song + pla + php + and #$c0 + asl @ + rol @ + rol @ + .ENDIF + plp + adc p_song+1 + sta p_song+1 + .ENDIF + jsr GetSongLineTrackLineInitOfNewSetInstrumentsOnlyRmtp3 +rmt_silence + .IF STEREOMODE>0 + lda #0 + sta $d208 + sta $d218 + ldy #3 + sty $d20f + sty $d21f + ldy #8 +si1 sta $d200,y + sta $d210,y + dey + bpl si1 + .ELSE + lda #0 + sta $d208 + ldy #3 + sty $d20f + ldy #8 +si1 sta $d200,y + dey + bpl si1 + .ENDIF + .IF FEAT_INSTRSPEED==0 + lda v_instrspeed + .ELSE + lda #FEAT_INSTRSPEED + .ENDIF + ; sfx priority (Pecus) + .IF FEAT_SFX&&SFX_PRIOR + lda #$80 + sta sfx_flag + .ENDIF + ; -------- + rts +GetSongLineTrackLineInitOfNewSetInstrumentsOnlyRmtp3 +GetSongLine + ldx #0 + stx v_abeat +nn0 +nn1 txa + tay + lda (p_song),y + cmp #$fe + bcs nn2 + tay + lda (p_trackslbstable),y + sta trackn_db,x + lda (p_trackshbstable),y +nn1a sta trackn_hb,x + lda #0 + sta trackn_idx,x + lda #1 +nn1a2 sta trackn_pause,x + lda #$80 + sta trackn_instrx2,x + inx +xtracks01 cpx #TRACKS + bne nn1 + lda p_song + clc +xtracks02 adc #TRACKS + sta p_song + bcc GetTrackLine + inc p_song+1 +nn1b + jmp GetTrackLine +nn2 + beq nn3 +nn2a + lda #0 + beq nn1a2 +nn3 + ldy #2 + lda (p_song),y + tax + iny + lda (p_song),y + sta p_song+1 + stx p_song + ldx #0 + beq nn0 +GetTrackLine +oo0 +oo0a + .IF FEAT_CONSTANTSPEED==0 + lda v_speed + sta v_bspeed + .ENDIF + ldx #-1 +oo1 + inx + dec trackn_pause,x + bne oo1x +oo1b + lda trackn_db,x + sta ns + lda trackn_hb,x + sta ns+1 +oo1i + ldy trackn_idx,x + inc trackn_idx,x + lda (ns),y + sta reg1 + and #$3f + cmp #61 + beq oo1a + bcs oo2 + sta trackn_note,x + .IF FEAT_BASS16 + sta trackn_outnote,x + .ENDIF + iny + lda (ns),y + lsr @ + and #$3f*2 + sta trackn_instrx2,x +oo1a + lda #1 + sta trackn_pause,x + ldy trackn_idx,x + inc trackn_idx,x + lda (ns),y + lsr @ + ror reg1 + lsr @ + ror reg1 + lda reg1 + .IF FEAT_GLOBALVOLUMEFADE + sec + sbc #$00 +RMTGLOBALVOLUMEFADE equ *-1 + bcs voig + lda #0 +voig + .ENDIF + and #$f0 + sta trackn_volume,x +oo1x +xtracks03sub1 cpx #TRACKS-1 + bne oo1 + .IF FEAT_CONSTANTSPEED==0 + lda v_bspeed + sta v_speed + .ELSE + lda #FEAT_CONSTANTSPEED + .ENDIF + sta v_aspeed + jmp InitOfNewSetInstrumentsOnly +oo2 + cmp #63 + beq oo63 + lda reg1 + and #$c0 + beq oo62_b + asl @ + rol @ + rol @ + sta trackn_pause,x + jmp oo1x +oo62_b + iny + lda (ns),y + sta trackn_pause,x + inc trackn_idx,x + jmp oo1x +oo63 + lda reg1 + .IF FEAT_CONSTANTSPEED==0 + bmi oo63_1X + iny + lda (ns),y + sta v_bspeed + inc trackn_idx,x + jmp oo1i +oo63_1X + .ENDIF + cmp #255 + beq oo63_11 + iny + lda (ns),y + sta trackn_idx,x + jmp oo1i +oo63_11 + jmp GetSongLine +p2xrmtp3 jmp rmt_p3 +p2x0 dex + bmi p2xrmtp3 +InitOfNewSetInstrumentsOnly +p2x1 ldy trackn_instrx2,x + bmi p2x0 + .IF FEAT_SFX + .IF SFX_PRIOR + jsr SetUpInstrumentY2 + .ELSE + jsr SetUpInstrumentY2_continue + .ENDIF + jmp p2x0 +SetUpInstrumentY2 + ; sfx priority (Pecus) + .IF SFX_PRIOR + cpx sfx_flag + bne SetUpInstrumentY2_continue + rts + .ENDIF + ; ------- +rmt_sfx + .IF SFX_PRIOR + stx sfx_flag ; sfx priority (Pecus) + .ENDIF + sta trackn_note,x + .IF FEAT_BASS16 + sta trackn_outnote,x + .ENDIF + lda RMTSFXVOLUME ;* sfx note volume*16 + sta trackn_volume,x + .ENDIF +SetUpInstrumentY2_continue + lda (p_instrstable),y + sta trackn_instrdb,x + sta nt + iny + lda (p_instrstable),y + sta trackn_instrhb,x + sta nt+1 + .IF FEAT_FILTER + lda #1 + sta trackn_filter,x + .ENDIF + .IF FEAT_TABLEGO + .IF FEAT_FILTER + tay + .ELSE + ldy #1 + .ENDIF + lda (nt),y + sta trackn_tablelop,x + iny + .ELSE + ldy #2 + .ENDIF + lda (nt),y + sta trackn_instrlen,x + iny + lda (nt),y + sta trackn_instrlop,x + iny + lda (nt),y + sta trackn_tabletypespeed,x + .IF FEAT_TABLETYPE||FEAT_TABLEMODE + and #$3f + .ENDIF + sta trackn_tablespeeda,x + .IF FEAT_TABLEMODE + lda (nt),y + and #$40 + sta trackn_tablemode,x + .ENDIF + .IF FEAT_AUDCTLMANUALSET + iny + lda (nt),y + sta trackn_audctl,x + iny + .ELSE + ldy #6 + .ENDIF + lda (nt),y + sta trackn_volumeslidedepth,x + .IF FEAT_VOLUMEMIN + iny + lda (nt),y + sta trackn_volumemin,x + .IF FEAT_EFFECTS + iny + .ENDIF + .ELSE + .IF FEAT_EFFECTS + ldy #8 + .ENDIF + .ENDIF + .IF FEAT_EFFECTS + lda (nt),y + sta trackn_effdelay,x + .IF FEAT_EFFECTVIBRATO + iny + lda (nt),y + tay + lda vibtabbeg,y + sta trackn_effvibratoa,x + .ENDIF + .IF FEAT_EFFECTFSHIFT + ldy #10 + lda (nt),y + sta trackn_effshift,x + .ENDIF + .ENDIF + lda #128 + sta trackn_volumeslidevalue,x + sta trackn_instrx2,x + asl @ + sta trackn_instrreachend,x + sta trackn_shiftfrq,x + tay + lda (nt),y + sta trackn_tableend,x + adc #0 + sta trackn_instridx,x + lda #INSTRPAR + sta trackn_tablea,x + tay + lda (nt),y + sta trackn_tablenote,x +xata_rtshere + .IF FEAT_SFX + rts + .ELSE + jmp p2x0 + .ENDIF +rmt_play +rmt_p0 + jsr SetPokey +rmt_p1 + .IF FEAT_INSTRSPEED==0||FEAT_INSTRSPEED>1 + dec v_ainstrspeed + bne rmt_p3 + .ENDIF + .IF FEAT_INSTRSPEED==0 + lda #$ff +v_instrspeed equ *-1 + sta v_ainstrspeed + .ELSEIF FEAT_INSTRSPEED>1 + lda #FEAT_INSTRSPEED + sta v_ainstrspeed + .ENDIF +rmt_p2 + dec v_aspeed + bne rmt_p3 + inc v_abeat + lda v_abeat + cmp v_maxtracklen + beq p2o3 + jmp GetTrackLine +p2o3 + jmp GetSongLineTrackLineInitOfNewSetInstrumentsOnlyRmtp3 +go_ppnext + jmp ppnext +rmt_p3 + lda #>frqtab + sta nr+1 +xtracks05sub1 ldx #TRACKS-1 +pp1 + lda trackn_instrhb,x + beq go_ppnext + sta ns+1 + lda trackn_instrdb,x + sta ns + ldy trackn_instridx,x + lda (ns),y + sta reg1 + iny + lda (ns),y + sta reg2 + iny + lda (ns),y + sta reg3 + iny + tya + cmp trackn_instrlen,x + bcc pp2 + beq pp2 + lda #$80 + sta trackn_instrreachend,x + ; sfx priority (Pecus) + .IF FEAT_SFX&&SFX_PRIOR + cpx sfx_flag + bne no_this_channel + sta sfx_flag ; $80 +no_this_channel + .ENDIF + ; -------- +pp1b + lda trackn_instrlop,x +pp2 sta trackn_instridx,x + lda reg1 + .IF TRACKS>4 + cpx #4 + bcc pp2s + lsr @ + lsr @ + lsr @ + lsr @ +pp2s + .ENDIF + and #$0f + ora trackn_volume,x + tay + lda volumetab,y + sta tmp + lda reg2 + and #$0e + tay + lda tabbeganddistor,y + sta nr + lda tmp + ora tabbeganddistor+1,y + sta trackn_audc,x +InstrumentsEffects + .IF FEAT_EFFECTS + lda trackn_effdelay,x + beq ei2 + cmp #1 + bne ei1 + lda trackn_shiftfrq,x + .IF FEAT_EFFECTFSHIFT + clc + adc trackn_effshift,x + .ENDIF + .IF FEAT_EFFECTVIBRATO + clc + ldy trackn_effvibratoa,x + adc vib0,y + .ENDIF + sta trackn_shiftfrq,x + .IF FEAT_EFFECTVIBRATO + lda vibtabnext,y + sta trackn_effvibratoa,x + .ENDIF + jmp ei2 +ei1 + dec trackn_effdelay,x +ei2 + .ENDIF + ldy trackn_tableend,x + cpy #INSTRPAR+1 + bcc ei3 + lda trackn_tablespeeda,x + bpl ei2f +ei2c + tya + cmp trackn_tablea,x + bne ei2c2 + .IF FEAT_TABLEGO + lda trackn_tablelop,x + .ELSE + lda #INSTRPAR + .ENDIF + sta trackn_tablea,x + bne ei2a +ei2c2 + inc trackn_tablea,x +ei2a + lda trackn_instrdb,x + sta nt + lda trackn_instrhb,x + sta nt+1 + ldy trackn_tablea,x + lda (nt),y + .IF FEAT_TABLEMODE + ldy trackn_tablemode,x + beq ei2e + clc + adc trackn_tablenote,x +ei2e + .ENDIF + sta trackn_tablenote,x + lda trackn_tabletypespeed,x + .IF FEAT_TABLETYPE||FEAT_TABLEMODE + and #$3f + .ENDIF +ei2f + sec + sbc #1 + sta trackn_tablespeeda,x +ei3 + lda trackn_instrreachend,x + bpl ei4 + lda trackn_volume,x + beq ei4 + .IF FEAT_VOLUMEMIN + cmp trackn_volumemin,x + beq ei4 + bcc ei4 + .ENDIF + tay + lda trackn_volumeslidevalue,x + clc + adc trackn_volumeslidedepth,x + sta trackn_volumeslidevalue,x + bcc ei4 + tya + sbc #16 + sta trackn_volume,x +ei4 + .IF FEAT_COMMAND2 + lda #0 + sta frqaddcmd2 + .ENDIF + .IF FEAT_COMMAND1||FEAT_COMMAND2||FEAT_COMMAND3||FEAT_COMMAND4||FEAT_COMMAND5||FEAT_COMMAND6||FEAT_COMMAND7SETNOTE||FEAT_COMMAND7VOLUMEONLY + lda reg2 + .IF FEAT_FILTER||FEAT_BASS16 + sta trackn_command,x + .ENDIF + and #$70 + .IF 1==[FEAT_COMMAND1+FEAT_COMMAND2+FEAT_COMMAND3+FEAT_COMMAND4+FEAT_COMMAND5+FEAT_COMMAND6+[FEAT_COMMAND7SETNOTE||FEAT_COMMAND7VOLUMEONLY]] + beq cmd0 + .ELSE + ; de-self-modification routine by Pecus + lsr @ + lsr @ + lsr @ + tay + lda cmdroutines+1,y + pha + lda cmdroutines,y + pha + rts +cmdroutines + .word cmd0-1 + .word cmd1-1 + .word cmd2-1 + .word cmd3-1 + .word cmd4-1 + .word cmd5-1 + .word cmd6-1 + .word cmd7-1 + ; end of de-self-modification routine + .ENDIF + .ELSE + .IF FEAT_FILTER||FEAT_BASS16 + lda reg2 + sta trackn_command,x + .ENDIF + .ENDIF +cmd1 + .IF FEAT_COMMAND1 + lda reg3 + jmp cmd0c + .ENDIF +cmd2 + .IF FEAT_COMMAND2 + lda reg3 + sta frqaddcmd2 + lda trackn_note,x + jmp cmd0a + .ENDIF +cmd3 + .IF FEAT_COMMAND3 + lda trackn_note,x + clc + adc reg3 + sta trackn_note,x + jmp cmd0a + .ENDIF +cmd4 + .IF FEAT_COMMAND4 + lda trackn_shiftfrq,x + clc + adc reg3 + sta trackn_shiftfrq,x + lda trackn_note,x + jmp cmd0a + .ENDIF +cmd5 + .IF FEAT_COMMAND5&&FEAT_PORTAMENTO + .IF FEAT_TABLETYPE + lda trackn_tabletypespeed,x + bpl cmd5a1 + ldy trackn_note,x + lda (nr),y + clc + adc trackn_tablenote,x + jmp cmd5ax + .ENDIF +cmd5a1 + lda trackn_note,x + clc + adc trackn_tablenote,x + cmp #61 + bcc cmd5a2 + lda #63 +cmd5a2 + tay + lda (nr),y +cmd5ax + sta trackn_portafrqc,x + ldy reg3 + bne cmd5a + sta trackn_portafrqa,x +cmd5a + tya + lsr @ + lsr @ + lsr @ + lsr @ + sta trackn_portaspeed,x + sta trackn_portaspeeda,x + lda reg3 + and #$0f + sta trackn_portadepth,x + lda trackn_note,x + jmp cmd0a + .ELSEIF FEAT_COMMAND5 + lda trackn_note,x + jmp cmd0a + .ENDIF +cmd6 + .IF FEAT_COMMAND6&&FEAT_FILTER + lda reg3 + clc + adc trackn_filter,x + sta trackn_filter,x + lda trackn_note,x + jmp cmd0a + .ELSEIF FEAT_COMMAND6 + lda trackn_note,x + jmp cmd0a + .ENDIF +cmd7 + .IF FEAT_COMMAND7SETNOTE||FEAT_COMMAND7VOLUMEONLY + .IF FEAT_COMMAND7SETNOTE + lda reg3 + .IF FEAT_COMMAND7VOLUMEONLY + cmp #$80 + beq cmd7a + .ENDIF + sta trackn_note,x + jmp cmd0a + .ENDIF + .IF FEAT_COMMAND7VOLUMEONLY +cmd7a + lda trackn_audc,x + ora #$f0 + sta trackn_audc,x + lda trackn_note,x + jmp cmd0a + .ENDIF + .ENDIF +cmd0 + lda trackn_note,x + clc + adc reg3 +cmd0a + .IF FEAT_TABLETYPE + ldy trackn_tabletypespeed,x + bmi cmd0b + .ENDIF + clc + adc trackn_tablenote,x + cmp #61 + bcc cmd0a1 + lda #0 + sta trackn_audc,x + lda #63 +cmd0a1 + .IF FEAT_BASS16 + sta trackn_outnote,x + .ENDIF + tay + lda (nr),y + clc + adc trackn_shiftfrq,x + .IF FEAT_COMMAND2 + clc + adc frqaddcmd2 + .ENDIF + .IF FEAT_TABLETYPE + jmp cmd0c +cmd0b + cmp #61 + bcc cmd0b1 + lda #0 + sta trackn_audc,x + lda #63 +cmd0b1 + tay + lda trackn_shiftfrq,x + clc + adc trackn_tablenote,x + clc + adc (nr),y + .IF FEAT_COMMAND2 + clc + adc frqaddcmd2 + .ENDIF + .ENDIF +cmd0c + sta trackn_audf,x +pp9 + .IF FEAT_PORTAMENTO + lda trackn_portaspeeda,x + beq pp10 + dec trackn_portaspeeda,x + bne pp10 + lda trackn_portaspeed,x + sta trackn_portaspeeda,x + lda trackn_portafrqa,x + cmp trackn_portafrqc,x + beq pp10 + bcs pps1 + adc trackn_portadepth,x + bcs pps8 + cmp trackn_portafrqc,x + bcs pps8 + jmp pps9 +pps1 + sbc trackn_portadepth,x + bcc pps8 + cmp trackn_portafrqc,x + bcs pps9 +pps8 + lda trackn_portafrqc,x +pps9 + sta trackn_portafrqa,x +pp10 + lda reg2 + and #$01 + beq pp11 + lda trackn_portafrqa,x + clc + adc trackn_shiftfrq,x + sta trackn_audf,x +pp11 + .ENDIF +ppnext + dex + bmi rmt_p4 + jmp pp1 +rmt_p4 + .IF FEAT_AUDCTLMANUALSET + lda trackn_audctl+0 + ora trackn_audctl+1 + ora trackn_audctl+2 + ora trackn_audctl+3 + tax + .ELSE + ldx #0 + .ENDIF +qq1 + stx v_audctl + .IF FEAT_FILTER + .IF FEAT_FILTERG0L + lda trackn_command+0 + bpl qq2 + lda trackn_audc+0 + and #$0f + beq qq2 + lda trackn_audf+0 + clc + adc trackn_filter+0 + sta trackn_audf+2 + .IF FEAT_COMMAND7VOLUMEONLY&&FEAT_VOLUMEONLYG2L + lda trackn_audc+2 + and #$10 + bne qq1a + .ENDIF + lda #0 + sta trackn_audc+2 +qq1a + txa + ora #4 + tax + .ENDIF +qq2 + .IF FEAT_FILTERG1L + lda trackn_command+1 + bpl qq3 + lda trackn_audc+1 + and #$0f + beq qq3 + lda trackn_audf+1 + clc + adc trackn_filter+1 + sta trackn_audf+3 + .IF FEAT_COMMAND7VOLUMEONLY&&FEAT_VOLUMEONLYG3L + lda trackn_audc+3 + and #$10 + bne qq2a + .ENDIF + lda #0 + sta trackn_audc+3 +qq2a + txa + ora #2 + tax + .ENDIF +qq3 + .IF FEAT_FILTERG0L||FEAT_FILTERG1L + cpx v_audctl + bne qq5 + .ENDIF + .ENDIF + .IF FEAT_BASS16 + .IF FEAT_BASS16G1L + lda trackn_command+1 + and #$0e + cmp #6 + bne qq4 + lda trackn_audc+1 + and #$0f + beq qq4 + ldy trackn_outnote+1 + lda frqtabbasslo,y + sta trackn_audf+0 + lda frqtabbasshi,y + sta trackn_audf+1 + .IF FEAT_COMMAND7VOLUMEONLY&&FEAT_VOLUMEONLYG0L + lda trackn_audc+0 + and #$10 + bne qq3a + .ENDIF + lda #0 + sta trackn_audc+0 +qq3a + txa + ora #$50 + tax + .ENDIF +qq4 + .IF FEAT_BASS16G3L + lda trackn_command+3 + and #$0e + cmp #6 + bne qq5 + lda trackn_audc+3 + and #$0f + beq qq5 + ldy trackn_outnote+3 + lda frqtabbasslo,y + sta trackn_audf+2 + lda frqtabbasshi,y + sta trackn_audf+3 + .IF FEAT_COMMAND7VOLUMEONLY&&FEAT_VOLUMEONLYG2L + lda trackn_audc+2 + and #$10 + bne qq4a + .ENDIF + lda #0 + sta trackn_audc+2 +qq4a + txa + ora #$28 + tax + .ENDIF + .ENDIF +qq5 + stx v_audctl + .IF TRACKS>4 + .IF FEAT_AUDCTLMANUALSET + lda trackn_audctl+4 + ora trackn_audctl+5 + ora trackn_audctl+6 + ora trackn_audctl+7 + tax + .ELSE + ldx #0 + .ENDIF + stx v_audctl2 + .IF FEAT_FILTER + .IF FEAT_FILTERG0R + lda trackn_command+0+4 + bpl qs2 + lda trackn_audc+0+4 + and #$0f + beq qs2 + lda trackn_audf+0+4 + clc + adc trackn_filter+0+4 + sta trackn_audf+2+4 + .IF FEAT_COMMAND7VOLUMEONLY&&FEAT_VOLUMEONLYG2R + lda trackn_audc+2+4 + and #$10 + bne qs1a + .ENDIF + lda #0 + sta trackn_audc+2+4 +qs1a + txa + ora #4 + tax + .ENDIF +qs2 + .IF FEAT_FILTERG1R + lda trackn_command+1+4 + bpl qs3 + lda trackn_audc+1+4 + and #$0f + beq qs3 + lda trackn_audf+1+4 + clc + adc trackn_filter+1+4 + sta trackn_audf+3+4 + .IF FEAT_COMMAND7VOLUMEONLY&&FEAT_VOLUMEONLYG3R + lda trackn_audc+3+4 + and #$10 + bne qs2a + .ENDIF + lda #0 + sta trackn_audc+3+4 +qs2a + txa + ora #2 + tax + .ENDIF +qs3 + .IF FEAT_FILTERG0R||FEAT_FILTERG1R + cpx v_audctl2 + bne qs5 + .ENDIF + .ENDIF + .IF FEAT_BASS16 + .IF FEAT_BASS16G1R + lda trackn_command+1+4 + and #$0e + cmp #6 + bne qs4 + lda trackn_audc+1+4 + and #$0f + beq qs4 + ldy trackn_outnote+1+4 + lda frqtabbasslo,y + sta trackn_audf+0+4 + lda frqtabbasshi,y + sta trackn_audf+1+4 + .IF FEAT_COMMAND7VOLUMEONLY&&FEAT_VOLUMEONLYG0R + lda trackn_audc+0+4 + and #$10 + bne qs3a + .ENDIF + lda #0 + sta trackn_audc+0+4 +qs3a + txa + ora #$50 + tax + .ENDIF +qs4 + .IF FEAT_BASS16G3R + lda trackn_command+3+4 + and #$0e + cmp #6 + bne qs5 + lda trackn_audc+3+4 + and #$0f + beq qs5 + ldy trackn_outnote+3+4 + lda frqtabbasslo,y + sta trackn_audf+2+4 + lda frqtabbasshi,y + sta trackn_audf+3+4 + .IF FEAT_COMMAND7VOLUMEONLY&&FEAT_VOLUMEONLYG2R + lda trackn_audc+2+4 + and #$10 + bne qs4a + .ENDIF + lda #0 + sta trackn_audc+2+4 +qs4a + txa + ora #$28 + tax + .ENDIF + .ENDIF +qs5 + stx v_audctl2 + .ENDIF +rmt_p5 + .IF FEAT_INSTRSPEED==0||FEAT_INSTRSPEED>1 + lda v_ainstrspeed + .ELSE + lda #1 + .ENDIF + .IF PSEUDOSTEREO==1&&STEREOMODE==0 + ldy #$10 + bne SetPokey_OffsetY + .ENDIF + rts +SetPokey + .IF STEREOMODE==1 ;* L1 L2 L3 L4 R1 R2 R3 R4 + ldy v_audctl2 + lda trackn_audf+0+4 + ldx trackn_audf+0 +xstastx01 sta $d210 + stx $d200 + lda trackn_audc+0+4 + ldx trackn_audc+0 +xstastx02 sta $d211 + stx $d201 + lda trackn_audf+1+4 + ldx trackn_audf+1 +xstastx03 sta $d212 + stx $d202 + lda trackn_audc+1+4 + ldx trackn_audc+1 +xstastx04 sta $d213 + stx $d203 + lda trackn_audf+2+4 + ldx trackn_audf+2 +xstastx05 sta $d214 + stx $d204 + lda trackn_audc+2+4 + ldx trackn_audc+2 +xstastx06 sta $d215 + stx $d205 + lda trackn_audf+3+4 + ldx trackn_audf+3 +xstastx07 sta $d216 + stx $d206 + lda trackn_audc+3+4 + ldx trackn_audc+3 +xstastx08 sta $d217 + stx $d207 + lda v_audctl +xstysta01 sty $d218 + sta $d208 + .ELSEIF STEREOMODE==0 ;* L1 L2 L3 L4 + ldy #$00 +SetPokey_OffsetY + lda trackn_audf+0 + sta $d200,y + lda trackn_audc+0 + sta $d201,y + lda trackn_audf+1 + sta $d200+2,y + lda trackn_audc+1 + sta $d201+2,y + lda trackn_audf+2 + sta $d200+4,y + lda trackn_audc+2 + sta $d201+4,y + lda trackn_audf+3 + sta $d200+6,y + lda trackn_audc+3 + sta $d201+6,y + lda v_audctl + sta $d208,y + .ELSEIF STEREOMODE==2 ;* L1 R2 R3 L4 + ldy v_audctl + lda trackn_audf+0 + ldx trackn_audc+0 + sta $d200 + stx $d201 + sta $d210 + lda trackn_audf+1 + ldx trackn_audc+1 + sta $d210+2 + stx $d211+2 + lda trackn_audf+2 + ldx trackn_audc+2 + sta $d210+4 + stx $d211+4 + sta $d200+4 + lda trackn_audf+3 + ldx trackn_audc+3 + sta $d200+6 + stx $d201+6 + sta $d210+6 + sty $d218 + sty $d208 + .ELSEIF STEREOMODE==3 ;* L1 L2 R3 R4 + ldy v_audctl + lda trackn_audf+0 + ldx trackn_audc+0 + sta $d200 + stx $d201 + lda trackn_audf+1 + ldx trackn_audc+1 + sta $d200+2 + stx $d201+2 + lda trackn_audf+2 + ldx trackn_audc+2 + sta $d210+4 + stx $d211+4 + sta $d200+4 + lda trackn_audf+3 + ldx trackn_audc+3 + sta $d210+6 + stx $d211+6 + sta $d200+6 + sty $d218 + sty $d208 + .ENDIF + rts +RMTPLAYEREND diff --git a/msx/rmtplayr_modified.asm b/msx/rmtplayr_modified.asm new file mode 100644 index 0000000..0ffac7f --- /dev/null +++ b/msx/rmtplayr_modified.asm @@ -0,0 +1,642 @@ +; +; Raster Music Tracker, RMT Atari routine version 1.20090108 +; (c) Radek Sterba, Raster/C.P.U., 2002 - 2009 +; http://raster.atari.org +; +; Warnings: +; +; 1. RMT player routine needs 19 itself reserved bytes in zero page (no accessed +; from any other routines) as well as cca 1KB of memory before the "PLAYER" +; address for frequency tables and functionary variables. It's: +; a) from PLAYER-$03c0 to PLAYER for stereo RMTplayer +; b) from PLAYER-$0320 to PLAYER for mono RMTplayer +; +; 2. RMT player routine MUST (!!!) be compiled from the begin of the memory page. +; i.e. "PLAYER" address can be $..00 only! +; +; 3. Because of RMTplayer provides a lot of effects, it spent a lot of CPU time. +; +; STEREOMODE equ 0..3 ;0 => compile RMTplayer for 4 tracks mono +; ;1 => compile RMTplayer for 8 tracks stereo +; ;2 => compile RMTplayer for 4 tracks stereo L1 R2 R3 L4 +; ;3 => compile RMTplayer for 4 tracks stereo L1 L2 R3 R4 + +TRACKS equ 4 +; RMT FEATures definitions file +; For optimizations of RMT player routine to concrete RMT modul only! + icl "feat.txt" +;FEAT_EFFECTS equ FEAT_EFFECTVIBRATO||FEAT_EFFECTFSHIFT +; +; RMT ZeroPage addresses +.zpvar p_tis .word +p_instrstable = p_tis +.zpvar p_trackslbstable .word +.zpvar p_trackshbstable .word +.zpvar p_song .word +.zpvar ns .word +.zpvar nr .word +.zpvar nt .byte +.zpvar reg1 .byte +.zpvar reg2 .byte +.zpvar reg3 .byte +.zpvar tmp .byte +.zpvar v_audctl .byte ; de-self-modification vars +.zpvar v_ainstrspeed .byte +.zpvar v_maxtracklen .byte +.zpvar v_abeat .byte +.zpvar v_bspeed .byte +.zpvar v_speed .byte +.zpvar RMTSFXVOLUME .byte + +; MOVED TO lumber.asm +; org PLAYER-$400+$e0 +;track_variables +;trackn_db .ds TRACKS +;trackn_hb .ds TRACKS +;trackn_idx .ds TRACKS +;trackn_pause .ds TRACKS +;trackn_note .ds TRACKS +;trackn_volume .ds TRACKS +;trackn_distor .ds TRACKS +;trackn_shiftfrq .ds TRACKS +;trackn_instrx2 .ds TRACKS +;trackn_instrdb .ds TRACKS +;trackn_instrhb .ds TRACKS +;trackn_instridx .ds TRACKS +;trackn_instrlen .ds TRACKS +;trackn_instrlop .ds TRACKS +;trackn_instrreachend .ds TRACKS +;trackn_volumeslidedepth .ds TRACKS +;trackn_volumeslidevalue .ds TRACKS +;trackn_effdelay .ds TRACKS +;trackn_effvibratoa .ds TRACKS +;trackn_effshift .ds TRACKS +;trackn_tabletypespeed .ds TRACKS +;trackn_tablenote .ds TRACKS +;trackn_tablea .ds TRACKS +;trackn_tableend .ds TRACKS +;trackn_tablelop .ds TRACKS +;trackn_tablespeeda .ds TRACKS +;trackn_command .ds TRACKS +;trackn_filter .ds TRACKS +;trackn_audf .ds TRACKS +;trackn_audc .ds TRACKS +;trackn_audctl .ds TRACKS +;v_aspeed .ds 1 +;track_endvariables + +INSTRPAR equ 12 +tabbeganddistor + dta frqtabpure-frqtab,$00 + dta frqtabpure-frqtab,$20 + dta frqtabpure-frqtab,$40 + dta frqtabbass1-frqtab,$c0 + dta frqtabpure-frqtab,$80 + dta frqtabpure-frqtab,$a0 + dta frqtabbass1-frqtab,$c0 + dta frqtabbass2-frqtab,$c0 +vibtabbeg dta 0,vib1-vib0,vib2-vib0,vib3-vib0 +vib0 dta 0 +vib1 dta 1,-1,-1,1 +vib2 dta 1,0,-1,-1,0,1 +vib3 dta 1,1,0,-1,-1,-1,-1,0,1,1 +vibtabnext + dta vib0-vib0+0 + dta vib1-vib0+1,vib1-vib0+2,vib1-vib0+3,vib1-vib0+0 + dta vib2-vib0+1,vib2-vib0+2,vib2-vib0+3,vib2-vib0+4,vib2-vib0+5,vib2-vib0+0 + dta vib3-vib0+1,vib3-vib0+2,vib3-vib0+3,vib3-vib0+4,vib3-vib0+5,vib3-vib0+6,vib3-vib0+7,vib3-vib0+8,vib3-vib0+9,vib3-vib0+0 + .align $100 +frqtab + ERT [frqtab + sta nr+1 +xtracks05sub1 ldx #TRACKS-1 +pp1 + lda trackn_instrhb,x + beq go_ppnext + sta ns+1 + lda trackn_instrdb,x + sta ns + ldy trackn_instridx,x + lda (ns),y + sta reg1 + iny + lda (ns),y + sta reg2 + iny + lda (ns),y + sta reg3 + iny + tya + cmp trackn_instrlen,x + bcc pp2 + beq pp2 + lda #$80 + sta trackn_instrreachend,x +pp1b + lda trackn_instrlop,x +pp2 sta trackn_instridx,x + lda reg1 + and #$0f + ora trackn_volume,x + tay + lda volumetab,y + sta tmp + lda reg2 + and #$0e + tay + lda tabbeganddistor,y + sta nr + lda tmp + ora tabbeganddistor+1,y + sta trackn_audc,x +InstrumentsEffects + lda trackn_effdelay,x + beq ei2 + cmp #1 + bne ei1 + lda trackn_shiftfrq,x + clc + adc trackn_effshift,x + clc + ldy trackn_effvibratoa,x + adc vib0,y + sta trackn_shiftfrq,x + lda vibtabnext,y + sta trackn_effvibratoa,x + jmp ei2 +ei1 + dec trackn_effdelay,x +ei2 + ldy trackn_tableend,x + cpy #INSTRPAR+1 + bcc ei3 + lda trackn_tablespeeda,x + bpl ei2f +ei2c + tya + cmp trackn_tablea,x + bne ei2c2 + lda trackn_tablelop,x + sta trackn_tablea,x + bne ei2a +ei2c2 + inc trackn_tablea,x +ei2a + lda trackn_instrdb,x + sta nt + lda trackn_instrhb,x + sta nt+1 + ldy trackn_tablea,x + lda (nt),y + sta trackn_tablenote,x + lda trackn_tabletypespeed,x +ei2f + sec + sbc #1 + sta trackn_tablespeeda,x +ei3 + lda trackn_instrreachend,x + bpl ei4 + lda trackn_volume,x + beq ei4 + tay + lda trackn_volumeslidevalue,x + clc + adc trackn_volumeslidedepth,x + sta trackn_volumeslidevalue,x + bcc ei4 + tya + sbc #16 + sta trackn_volume,x +ei4 + lda reg2 + sta trackn_command,x + and #$70 + beq cmd0 +cmd1 + lda reg3 + jmp cmd0c +cmd2 +cmd3 +cmd4 +cmd5 +cmd6 +cmd7 +cmd0 + lda trackn_note,x + clc + adc reg3 +cmd0a + clc + adc trackn_tablenote,x + cmp #61 + bcc cmd0a1 + lda #0 + sta trackn_audc,x + lda #63 +cmd0a1 + tay + lda (nr),y + clc + adc trackn_shiftfrq,x +cmd0c + sta trackn_audf,x +pp9 +ppnext + dex + bmi rmt_p4 + jmp pp1 +rmt_p4 + lda trackn_audctl+0 + ora trackn_audctl+1 + ora trackn_audctl+2 + ora trackn_audctl+3 + tax +qq1 + stx v_audctl + lda trackn_command+0 + bpl qq2 + lda trackn_audc+0 + and #$0f + beq qq2 + lda trackn_audf+0 + clc + adc trackn_filter+0 + sta trackn_audf+2 + lda #0 + sta trackn_audc+2 +qq1a + txa + ora #4 + tax +qq2 + lda trackn_command+1 + bpl qq3 + lda trackn_audc+1 + and #$0f + beq qq3 + lda trackn_audf+1 + clc + adc trackn_filter+1 + sta trackn_audf+3 + lda #0 + sta trackn_audc+3 +qq2a + txa + ora #2 + tax +qq3 +; cpx v_audctl +; bne qq5 +;qq5 + stx v_audctl +rmt_p5 +; lda v_ainstrspeed +.IF TARGET = 800 + ldx #$10 ; pseudo stereo + bne SetPokey_OffsetX ; pseudo stereo +.ELIF TARGET = 5200 + rts +.ENDIF +SetPokey + ldx #0 ; POKEY registers offset (for stereo) +SetPokey_OffsetX + lda trackn_audf+0 + sta AUDF1,x + lda trackn_audc+0 + sta AUDC1,x + lda trackn_audf+1 + sta AUDF2,x + lda trackn_audc+1 + sta AUDC2,x + lda trackn_audf+2 + sta AUDF3,x + lda trackn_audc+2 + sta AUDC3,x + lda trackn_audf+3 + sta AUDF4,x + lda trackn_audc+3 + sta AUDC4,x + lda v_audctl + sta AUDCTL,x + rts +RMTPLAYEREND diff --git a/msx/tbm1.rmt b/msx/tbm1.rmt new file mode 100644 index 0000000..8b324ad Binary files /dev/null and b/msx/tbm1.rmt differ diff --git a/msx/tbm1_str.rmt b/msx/tbm1_str.rmt new file mode 100644 index 0000000..9db0e85 Binary files /dev/null and b/msx/tbm1_str.rmt differ diff --git a/msx/tbm2.rmt b/msx/tbm2.rmt new file mode 100644 index 0000000..ae65353 Binary files /dev/null and b/msx/tbm2.rmt differ diff --git a/msx/tbm2.txt b/msx/tbm2.txt new file mode 100644 index 0000000..61b5179 --- /dev/null +++ b/msx/tbm2.txt @@ -0,0 +1,8 @@ +00 - title +07 - death +0A - in game (old) +0F - count down +11 - count down (pim 1) +13 - count down (pim 2) +15 - high score +1A - in game (new) \ No newline at end of file diff --git a/msx/tbm2_str.rmt b/msx/tbm2_str.rmt new file mode 100644 index 0000000..ed66c76 Binary files /dev/null and b/msx/tbm2_str.rmt differ diff --git a/msx/tbm3.rmt b/msx/tbm3.rmt new file mode 100644 index 0000000..fa4349d Binary files /dev/null and b/msx/tbm3.rmt differ diff --git a/msx/tbm3.txt b/msx/tbm3.txt new file mode 100644 index 0000000..58a4020 --- /dev/null +++ b/msx/tbm3.txt @@ -0,0 +1,9 @@ +00 - title +0D - death +10 - in game (old) +15 - count down +17 - high score +1C - in game (new) + +0C - count down 1 +0D - count down 2 \ No newline at end of file diff --git a/msx/tbm3_str.rmt b/msx/tbm3_str.rmt new file mode 100644 index 0000000..8b1a02c Binary files /dev/null and b/msx/tbm3_str.rmt differ diff --git a/msx/tbm4.rmt b/msx/tbm4.rmt new file mode 100644 index 0000000..5407e0c Binary files /dev/null and b/msx/tbm4.rmt differ diff --git a/msx/tbm4_str.rmt b/msx/tbm4_str.rmt new file mode 100644 index 0000000..f6d86c1 Binary files /dev/null and b/msx/tbm4_str.rmt differ diff --git a/msx/tbm5.rmt b/msx/tbm5.rmt new file mode 100644 index 0000000..553b4af Binary files /dev/null and b/msx/tbm5.rmt differ diff --git a/msx/tbm5.txt b/msx/tbm5.txt new file mode 100644 index 0000000..ca500c2 --- /dev/null +++ b/msx/tbm5.txt @@ -0,0 +1,5 @@ +00 - title +0D - death +10 - count down +12 - high score +17 - in game \ No newline at end of file diff --git a/msx/tbm5_str.rmt b/msx/tbm5_str.rmt new file mode 100644 index 0000000..26603c0 Binary files /dev/null and b/msx/tbm5_str.rmt differ