started some final cleanup

This commit is contained in:
Dagen Brock 2012-12-11 21:31:52 -06:00
parent e09226657b
commit 1da09e7561
3 changed files with 604 additions and 515 deletions

536
festro.s
View File

@ -34,7 +34,6 @@ srcPtrD equz $06
jsr InitState
**************************************************
* Main Demo Controller
**************************************************
@ -48,8 +47,6 @@ DemoMain
bra :mainLoop
DemoSubroutineTable
* dw HandleKfestLogo
dw HandleProdrop
dw HandleScan01
dw HandleTextClear
@ -156,7 +153,7 @@ HandleFinalScreen
bra :store
:blink inc DSEG0
lda #" "
:store sta Lo19+23
:store sta Lo21+23
bra :chkKey
:chkKey lda KEY
cmp #$80
@ -239,94 +236,10 @@ HandleGreetScroll
ScrollRightUp
ldx #22 , x start
:loop lda Lo02,x
sta Lo01,x
lda Lo03,x
sta Lo02,x
lda Lo04,x
sta Lo03,x
lda Lo05,x
sta Lo04,x
lda Lo06,x
sta Lo05,x
lda Lo07,x
sta Lo06,x
lda Lo08,x
sta Lo07,x
lda Lo09,x
sta Lo08,x
lda Lo10,x
sta Lo09,x
lda Lo11,x
sta Lo10,x
lda Lo12,x
sta Lo11,x
lda Lo13,x
sta Lo12,x
lda Lo14,x
sta Lo13,x
lda Lo15,x
sta Lo14,x
lda Lo16,x
sta Lo15,x
lda Lo17,x
sta Lo16,x
lda Lo18,x
sta Lo17,x
lda Lo19,x
sta Lo18,x
lda Lo20,x
sta Lo19,x
lda Lo21,x
sta Lo20,x
lda Lo22,x
sta Lo21,x
lda Lo23,x
sta Lo22,x
lda Lo24,x
sta Lo23,x
lda #" "
sta Lo24,x
inx
cpx #40
beq :done
jmp :loop
:done rts
_creditScrollTick db #$00
_creditScrollCounter db #$00
_creditStringIdx db #$00
_cwoz asc "Woz",00
_c2 asc "Brutal Deluxe",00
_c3 asc "Belgo",00
_c4 asc "BLuRry",00
_c5 asc "krUe",00
_c6 asc "Ninjaforce",00
_c7 asc "FTA",00
_c8 asc "RedHot ;)",00
_c9 asc "ECC",00
_c10 asc "antoine",00
_c11 asc "MJM",00
_c12 asc "Gamebits/JuicedGS",00
_c13 asc "KFest Organizers",00
_c14 asc " Presenters",00
_c15 asc " Attendees",00
_c16 asc " AND YOU!",00
_c17 asc "THANKS",00
_c18 asc " FOR",00
_c19 asc " WATCHING",00
_cblank asc "",00
_creditStringsTable
da _c2,_c3,_c4,_c5,_c6,_c7,_c8,_c9,_c10
da _c11,_c12,_cblank,_c13,_c14,_c15,_cblank
da _c16,_cblank,_cblank,_c17,_c18,_c19
da _cblank,_cblank,_cblank,_cblank,_cblank
dw 0000
HandleMapScroll
ldx #WorldMapWidth-40
@ -451,6 +364,7 @@ _defaultStarSpeed equ #$10
lda #$1e
:speedUp ldx #5
pha
ldy #0 ; nosong
jsr StarScrollAuto
pla
dec
@ -459,6 +373,7 @@ _defaultStarSpeed equ #$10
* full speed
ldx #50
lda #_defaultStarSpeed
ldy #0 ; nosong
jsr StarScrollAuto
* --- diga
@ -466,6 +381,7 @@ _defaultStarSpeed equ #$10
:loop phx
lda #_defaultStarSpeed ; waitfirst
jsr SimplerWait
jsr VBlank
jsr ScrollLeft
jsr GenStarRight
plx
@ -480,6 +396,7 @@ _defaultStarSpeed equ #$10
lda #_defaultStarSpeed
:slowDown ldx #1
pha
ldy #0 ; nosong
jsr StarScrollAuto
pla
inc
@ -488,17 +405,15 @@ _defaultStarSpeed equ #$10
inc
cmp #8*4+#_defaultStarSpeed
bne :slowDown
jsr SErandStatic
jsr SErandStatic
jsr SErandStatic
jsr SErandStatic
lda #$30
jsr SimplerWait
* speed up again
lda #$1e
:speedUpAgain ldx #3
lda #_defaultStarSpeed+5
:speedUpAgain ldx #2
pha
jsr StarScrollAuto
pla
@ -506,20 +421,31 @@ _defaultStarSpeed equ #$10
cmp #_defaultStarSpeed
bne :speedUpAgain ;)
ldx #80
ldx #220
lda #_defaultStarSpeed
ldy #1 ;SONG
jsr StarScrollAuto
* second loop inserts planet
ldx #EarthTextWidth
:loop2 phx
jsr VBlank
jsr ScrollLeft
jsr GenStarRight
lda _earthOffset
jsr DrawEarthLine
inc _earthOffset
lda #_defaultStarSpeed
jsr SimplerWait
pha
phx
phy
ldx #$30
jsr PlaySong01Note
ply
plx
pla
;jsr SimplerWait
plx
dex
bne :loop2
@ -527,8 +453,10 @@ _defaultStarSpeed equ #$10
lda #_defaultStarSpeed
:slowDownAgain ldx #1
pha
ldy #1
jsr StarScrollAuto
pla
jsr SimplerWait ; extra wait uhg
inc
inc
cmp #$28
@ -540,148 +468,29 @@ _defaultStarSpeed equ #$10
jmp DemoMain
_earthOffset db #$00
* A = wait , X = reps
* A = wait , X = reps, y=snd
StarScrollAuto
sty _starScrollSound
sta _starScrollAutoWait
:loop phx
jsr VBlank
jsr ScrollLeft
jsr GenStarRight
ldy _starScrollSound
beq :noSong
ldx #$0F
jsr PlaySong01Note
bra :skipWait
:noSong
lda _starScrollAutoWait
jsr SimplerWait
plx
:skipWait plx
dex
bne :loop
rts
_starScrollAutoWait db 0
_starScrollSound db 0
* Always draws a line on the right
_drawEarthLineXOffset equ #39
DrawEarthLine
tax
lda EarthTextWidth*0+EarthText,x
sta Lo07+_drawEarthLineXOffset
lda EarthTextWidth*1+EarthText,x
sta Lo08+_drawEarthLineXOffset
lda EarthTextWidth*2+EarthText,x
sta Lo09+_drawEarthLineXOffset
lda EarthTextWidth*3+EarthText,x
sta Lo10+_drawEarthLineXOffset
lda EarthTextWidth*4+EarthText,x
sta Lo11+_drawEarthLineXOffset
lda EarthTextWidth*5+EarthText,x
sta Lo12+_drawEarthLineXOffset
lda EarthTextWidth*6+EarthText,x
sta Lo13+_drawEarthLineXOffset
lda EarthTextWidth*7+EarthText,x
sta Lo14+_drawEarthLineXOffset
lda EarthTextWidth*8+EarthText,x
sta Lo15+_drawEarthLineXOffset
lda EarthTextWidth*9+EarthText,x
sta Lo16+_drawEarthLineXOffset
rts
GenStarRight
_maxStarHeight equ #24
:loop jsr GetRand
cmp #_maxStarHeight
bge :loop
:gotMinSize rol ; *2 for table lookup
tax
lda LoLineTable,x
sta dstPtr
lda LoLineTable+1,x
sta dstPtr+1
ldy #39
lda #"."
sta (dstPtr),y
rts
ScrollLeft
pha
phx
ldx #0
:loop lda Lo01+1,x
sta Lo01,x
lda Lo02+1,x
sta Lo02,x
lda Lo03+1,x
sta Lo03,x
lda Lo04+1,x
sta Lo04,x
lda Lo05+1,x
sta Lo05,x
lda Lo06+1,x
sta Lo06,x
lda Lo07+1,x
sta Lo07,x
lda Lo08+1,x
sta Lo08,x
lda Lo09+1,x
sta Lo09,x
lda Lo10+1,x
sta Lo10,x
lda Lo11+1,x
sta Lo11,x
lda Lo12+1,x
sta Lo12,x
lda Lo13+1,x
sta Lo13,x
lda Lo14+1,x
sta Lo14,x
lda Lo15+1,x
sta Lo15,x
lda Lo16+1,x
sta Lo16,x
lda Lo17+1,x
sta Lo17,x
lda Lo18+1,x
sta Lo18,x
lda Lo19+1,x
sta Lo19,x
lda Lo20+1,x
sta Lo20,x
lda Lo21+1,x
sta Lo21,x
lda Lo22+1,x
sta Lo22,x
lda Lo23+1,x
sta Lo23,x
lda Lo24+1,x
sta Lo24,x
inx
cpx #39
beq :done
jmp :loop
:done lda #" "
sta Lo01,x
sta Lo02,x
sta Lo03,x
sta Lo04,x
sta Lo05,x
sta Lo06,x
sta Lo07,x
sta Lo08,x
sta Lo09,x
sta Lo10,x
sta Lo11,x
sta Lo12,x
sta Lo13,x
sta Lo14,x
sta Lo15,x
sta Lo16,x
sta Lo17,x
sta Lo18,x
sta Lo19,x
sta Lo20,x
sta Lo21,x
sta Lo22,x
sta Lo23,x
sta Lo24,x
plx
pla
rts
HandleLoResInit
@ -1090,6 +899,7 @@ DrawStringXYWait
lda _drawWait
jsr SimplerWait
jsr VBlank
bra :loop
:done ply
plx
@ -1324,31 +1134,20 @@ _boxY equ #14
beq :doneBox
lda #$10
jsr SimplerWait
lda _boxNote ; sound code
ldx #10
jsr SENoteAX
lda #$10
sec
sbc _boxNote
sta _boxNote
jsr VBlank
bra :boxExpandLoop
:doneBox
:doneBox stz _boxNote ;reset
rts
_boxNote db 0
_gapCounter db 0
_boxStrTop asc " _______________________ ",00
_boxStrMid asc "| |",00
_boxStrBot asc "|_______________________|",00
_scanStr01 asc "STATUS:",00
_scanStr08 asc "SCANNING",00
_scanStr08b asc " ",00
_scanStr09 asc "KCMO",00
_scanStr09b asc " .-",00 ;lol
_scanStr02 asc "LOCATED",00
_scanStr03 asc "Virgo Supergroup,",00
_scanStr04 asc "Local Group,",00
_scanStr05 asc "Milky Way,",00
_scanStr06 asc "Earth",00
_scanStr07 asc "Scan Surface",00
_scanStr19 asc "Apple // Event Located",00
_scanStr20 asc "BEGIN THERMAL SCAN!",00
_scanStr20b asc " ",00
_scanningString asc "Status: Scanning surface.",00
_digawriteString asc " an intro by DiGAROK ",00
HandleShortWait
lda #$30
@ -1366,16 +1165,6 @@ HandleMedWait
inc GDemoState
jmp DemoMain
SetProdropGr
lda #$00
bra SetProdropChar
SetProdropText
lda #" "
SetProdropChar
sta ]dropCharCompare
sta ]dropCharWrite
inc GDemoState
jmp DemoMain
** Dropper routine - not specific to ProDrop per se
@ -1483,6 +1272,7 @@ HandleProdrop
tax
tay
jsr SimpleWait
jsr VBlank
lda _prodropAnimDone
@ -1796,6 +1586,9 @@ HandleAppleDraw
:donePass lda #$5
jsr SimplerWait
ldy #$4
jsr SErandStaticBit
jsr VBlank
lda _appleDone
beq :mainLoop
lda #$33
@ -2219,7 +2012,7 @@ ClearLoRes ldx #40
rts
**************************************************
* Draw entire buffer on screen
* Draw entire buffer to lores screen using color map
**************************************************
DrawBufFullScreen
ldx #$0
@ -2415,6 +2208,217 @@ DrawBufFullScreen
bne :loop23
rts
**************************************************
* Draws a line of earth sprite on the right
**************************************************
_drawEarthLineXOffset equ #39
DrawEarthLine tax
lda EarthTextWidth*0+EarthText,x
sta Lo07+_drawEarthLineXOffset
lda EarthTextWidth*1+EarthText,x
sta Lo08+_drawEarthLineXOffset
lda EarthTextWidth*2+EarthText,x
sta Lo09+_drawEarthLineXOffset
lda EarthTextWidth*3+EarthText,x
sta Lo10+_drawEarthLineXOffset
lda EarthTextWidth*4+EarthText,x
sta Lo11+_drawEarthLineXOffset
lda EarthTextWidth*5+EarthText,x
sta Lo12+_drawEarthLineXOffset
lda EarthTextWidth*6+EarthText,x
sta Lo13+_drawEarthLineXOffset
lda EarthTextWidth*7+EarthText,x
sta Lo14+_drawEarthLineXOffset
lda EarthTextWidth*8+EarthText,x
sta Lo15+_drawEarthLineXOffset
lda EarthTextWidth*9+EarthText,x
sta Lo16+_drawEarthLineXOffset
rts
**************************************************
* Plot single dot on right column of screen
**************************************************
_maxStarHeight equ #24
GenStarRight
:loop jsr GetRand
cmp #_maxStarHeight
bge :loop
tay
ldx #39 ; right column
lda #"."
jsr PlotXY
rts
:gotMinSize rol ; *2 for table lookup
tax
lda LoLineTable,x
sta dstPtr
lda LoLineTable+1,x
sta dstPtr+1
ldy #39
lda #"."
sta (dstPtr),y
rts
**************************************************
* Plot single char (in accumulator) to X,Y
**************************************************
PlotXY pha
phx
tya
asl
tax
lda LoLineTable,x
sta dstPtr
lda LoLineTable+1,x
sta dstPtr+1
ply
pla
sta (dstPtr),y
rts
ScrollLeft
pha
phx
ldx #0
:loop lda Lo01+1,x
sta Lo01,x
lda Lo02+1,x
sta Lo02,x
lda Lo03+1,x
sta Lo03,x
lda Lo04+1,x
sta Lo04,x
lda Lo05+1,x
sta Lo05,x
lda Lo06+1,x
sta Lo06,x
lda Lo07+1,x
sta Lo07,x
lda Lo08+1,x
sta Lo08,x
lda Lo09+1,x
sta Lo09,x
lda Lo10+1,x
sta Lo10,x
lda Lo11+1,x
sta Lo11,x
lda Lo12+1,x
sta Lo12,x
lda Lo13+1,x
sta Lo13,x
lda Lo14+1,x
sta Lo14,x
lda Lo15+1,x
sta Lo15,x
lda Lo16+1,x
sta Lo16,x
lda Lo17+1,x
sta Lo17,x
lda Lo18+1,x
sta Lo18,x
lda Lo19+1,x
sta Lo19,x
lda Lo20+1,x
sta Lo20,x
lda Lo21+1,x
sta Lo21,x
lda Lo22+1,x
sta Lo22,x
lda Lo23+1,x
sta Lo23,x
lda Lo24+1,x
sta Lo24,x
inx
cpx #39
beq :done
jmp :loop
:done lda #" "
sta Lo01,x
sta Lo02,x
sta Lo03,x
sta Lo04,x
sta Lo05,x
sta Lo06,x
sta Lo07,x
sta Lo08,x
sta Lo09,x
sta Lo10,x
sta Lo11,x
sta Lo12,x
sta Lo13,x
sta Lo14,x
sta Lo15,x
sta Lo16,x
sta Lo17,x
sta Lo18,x
sta Lo19,x
sta Lo20,x
sta Lo21,x
sta Lo22,x
sta Lo23,x
sta Lo24,x
plx
pla
rts
ScrollRightUp
ldx #22 , x start
:loop lda Lo02,x
sta Lo01,x
lda Lo03,x
sta Lo02,x
lda Lo04,x
sta Lo03,x
lda Lo05,x
sta Lo04,x
lda Lo06,x
sta Lo05,x
lda Lo07,x
sta Lo06,x
lda Lo08,x
sta Lo07,x
lda Lo09,x
sta Lo08,x
lda Lo10,x
sta Lo09,x
lda Lo11,x
sta Lo10,x
lda Lo12,x
sta Lo11,x
lda Lo13,x
sta Lo12,x
lda Lo14,x
sta Lo13,x
lda Lo15,x
sta Lo14,x
lda Lo16,x
sta Lo15,x
lda Lo17,x
sta Lo16,x
lda Lo18,x
sta Lo17,x
lda Lo19,x
sta Lo18,x
lda Lo20,x
sta Lo19,x
lda Lo21,x
sta Lo20,x
lda Lo22,x
sta Lo21,x
lda Lo23,x
sta Lo22,x
lda Lo24,x
sta Lo23,x
lda #" "
sta Lo24,x
inx
cpx #40
beq :done
jmp :loop
:done rts
**************************************************
* SafeWait
@ -2428,6 +2432,7 @@ SimplerWait phx
ply
plx
rts
SimpleWait
sta _waitA
stx _waitX
@ -2455,6 +2460,21 @@ _waitX db 0
_waitY db 0
**************************************************
* SetProdropGr / SetProdropText
* - set the operating mode of the prodrop effect
**************************************************
SetProdropGr
lda #$00
bra SetProdropChar
SetProdropText
lda #" "
SetProdropChar
sta ]dropCharCompare
sta ]dropCharWrite
inc GDemoState
jmp DemoMain
**************************************************
* Multiply8x8

View File

@ -1,55 +1,104 @@
_boxStrTop asc " _______________________ ",00
_boxStrMid asc "| |",00
_boxStrBot asc "|_______________________|",00
_scanStr01 asc "STATUS:",00
_scanStr08 asc "SCANNING",00
_scanStr08b asc " ",00
_scanStr09 asc "KCMO",00
_scanStr09b asc " .-",00 ;lol
_scanStr02 asc "LOCATED",00
_scanStr03 asc "Virgo Supergroup,",00
_scanStr04 asc "Local Group,",00
_scanStr05 asc "Milky Way,",00
_scanStr06 asc "Earth",00
_scanStr07 asc "Scan Surface",00
_scanStr19 asc "Apple // Event Located",00
_scanStr20 asc "BEGIN THERMAL SCAN!",00
_scanStr20b asc " ",00
_scanningString asc "Status: Scanning surface.",00
_digawriteString asc " an intro by DiGAROK ",00
_cwoz asc "Woz",00
_c2 asc "Brutal Deluxe",00
_c3 asc "Belgo",00
_c4 asc "BLuRry",00
_c5 asc "krUe",00
_c6 asc "Ninjaforce",00
_c7 asc "FTA",00
_c8 asc "RedHot ;)",00
_c9 asc "ECC",00
_c10 asc "antoine",00
_c11 asc "MJM",00
_c12 asc "Gamebits/JuicedGS",00
_c13 asc "R&D Automation",00
_c14 asc "KFest Organizers",00
_c15 asc " Presenters",00
_c16 asc " Attendees",00
_c17 asc " AND YOU!",00
_c18 asc "THANKS",00
_c19 asc " FOR",00
_c20 asc " WATCHING",00
_cblank asc "",00
_creditStringsTable
da _c2,_c3,_c4,_c5,_c6,_c7,_c8,_c9,_c10
da _c11,_c12,_cblank,_c13,_c14,_c15,_c16,_cblank
da _c17,_cblank,_cblank,_c18,_c19,_c20
da _cblank,_cblank,_cblank,_cblank,_cblank
dw 0000
FinalText
asc "",00
asc " KFest is the world's only annual",00
asc " convention dedicated to the Apple II",00
asc " and it's the largest gathering of ",00
asc " active Apple II users you'll ever see!",00
asc "",00
asc " The next KFest is July 23-28, 2013.",00
asc "",00
asc " You can get more info on their site *",00
asc " www.kansasfest.org",00
asc "",00
asc "",00
asc "* I'm not affiliated with KansasFest.",00
asc " I was just looking for an excuse to",00
asc " write some code.",00
asc "",00
asc "",00
asc "",00
asc " The End?",00
asc "",00
asc "",00
asc " Press A Key",00
hex ff,ff
asc "",00
asc " KFest is the world's only annual",00
asc " convention dedicated to the Apple II",00
asc " and it's the largest gathering of ",00
asc " active Apple II users you'll ever see!",00
asc "",00
asc " The next KFest is July 23-28, 2013.",00
asc "",00
asc " You can get more info on their site *",00
asc " www.kansasfest.org",00
asc "",00
asc "",00
asc " * I'm not affiliated with KansasFest.",00
asc " I was just looking for an excuse to",00
asc " write and release some code.",00
asc "",00
asc " Download the demo source online!",00
asc " -> github.com/festro",00
asc "",00
asc "",00
asc " The End?",00
asc "",00
asc "",00
asc " Press A Key",00
hex ff,ff
FireTextHeight equ #20 ; buffer height
FireTextWidth equ #23 ; buffer width (INCLUDE 00 BYTE!!)
ds \
FireText
asc " -/+. ",00
asc " /+++ ",00
asc " :+++. ",00
asc " ++:` ",00
asc " .=++++/--.:/+++=- ",00
asc " -++++++++++++++++++`",00
asc " .::::::::::::::::::` ",00
asc " ::::::::::::::::::` ",00
asc "`/////////////////: ",00
asc "`+++++++++++++++++: ",00
asc "`++++++++++++++++++` ",00
asc " osssssssssssssssss+` ",00
asc " -sssssssssssssssssso/",00
asc " ossssssssssssssssss/",00
asc " `ssssssssssssssssso ",00
asc " .ossssssssssssss+` ",00
asc " `+ssss+//+ssss/ ",00
asc " `-.` `.-` ",00
asc " ",00
asc " GREETZ & THANKS ->",00
asc " -/+. ",00
asc " /+++ ",00
asc " :+++. ",00
asc " ++:` ",00
asc " .=++++/--.:/+++=- ",00
asc " -++++++++++++++++++`",00
asc " .::::::::::::::::::` ",00
asc " ::::::::::::::::::` ",00
asc "`/////////////////: ",00
asc "`+++++++++++++++++: ",00
asc "`++++++++++++++++++` ",00
asc " osssssssssssssssss+` ",00
asc " -sssssssssssssssssso/",00
asc " ossssssssssssssssss/",00
asc " `ssssssssssssssssso ",00
asc " .ossssssssssssss+` ",00
asc " `+ssss+//+ssss/ ",00
asc " `-.` `.-` ",00
asc " ",00
asc " GREETZ & THANKS ->",00
EarthTextWidth equ #19
@ -65,190 +114,162 @@ EarthText
asc " \ ':::: / "
asc " '. ::: .' "
asc " '._'_.' "
EarthText2
asc " _____ "
asc " .'. ':'. "
asc " .''::: .: '. "
asc " / :::::' \ "
asc " ;. ':' ` ; "
asc " | '.. | "
asc " ; ' ::::. ; "
asc " \ ':::: / "
asc " '. ::: .' "
asc " '.___'_.' "
EarthTextOrig
asc " _____ "
asc " .-'. ':'-. "
asc " .''::: .: '. "
asc " / :::::' \ "
asc " ;. ':' ` ; "
asc " | '.. | "
asc " ; ' ::::. ; "
asc " \ ':::: / "
asc " '. ::: .' "
asc " '-.___'_.-' "
WorldMapWidth equ #72
WorldMapHeight equ #24
WorldMap asc " +90N-+-----+-----+-----+-----+----+-----+-----+-----+-----+-----+-----+"
asc " | . _..::__: ,-^-^._ |7 , _,.__ |"
asc " | _.___ _ _<_>`!(._`.`-. / _._ `_ ,_/ ' '-._.---.-.__|"
asc " |.{ ^ ` `-==,',._\{ \ / {) / _ ^>_,-' ` mt-2_|"
asc " + \_.:--. `._ )`^-. ^' , [_/( __,/-' +"
asc " |'^' \ ^ _L oD_,--' ) /. (| |"
asc " | | ,' _)_.\\._<> 6 _,' / ' |"
asc " | `. / [_/_'` `^( <'} ) |"
asc " +30N \\ .-. ) / `-'^..' `:._ _) ' +"
asc " | ` \ ( `( / `:\ > \ ,-^. /' ' |"
asc " | `._, ^` | \`' \| ?_) {\ |"
asc " | `=.---. `._._ ,' ^` |' ,- '. |"
asc " +000 | `-._ | / `:`<_|h--._ +"
asc " | ( > . | , `=.__.`-'\ |"
asc " | `. / | |{| ,-.,\ .|"
asc " | | ,' \ / `' ,' \ |"
asc " +30S | / |_' | __ / +"
asc " | | | '-' `-' \.|"
asc " | |/ ' / |"
asc " | \. ' |"
asc " +60S +"
asc " | ,/ ______._.--._ _..---.---------._ |"
asc " | ,-----^-..?----_/ ) _,-'^ ^ ( |"
asc " +90S-+-----+-----+-----+-----+----+-----+-----+-----+-----+-----+-----+"
HandleWorldScroll
_sprWidth_K equ #18
_sprHeight_K equ #16
_sprData_K db $01,$01,$01,$01,$01,$01,$01,$00,$00,$00,$00,$01,$01,$01,$01,$01,$01,$01
db $01,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$0F,$01
db $01,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$0F,$01
db $01,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$0F,$0F,$01
db $01,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$01,$0F,$0F,$0F,$0F,$0F,$01,$01,$00
db $01,$0F,$0F,$0F,$0F,$0F,$01,$00,$01,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$01,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$01,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00
db $01,$0F,$0F,$0F,$0F,$0F,$01,$00,$01,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00
db $01,$01,$0F,$0F,$0F,$0F,$01,$00,$00,$01,$0F,$0F,$0F,$0F,$0F,$01,$01,$00
db $01,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$0F,$0F,$01
db $01,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$0F,$01
db $01,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$0F,$01
db $01,$01,$01,$01,$01,$01,$01,$00,$00,$00,$00,$01,$01,$01,$01,$01,$01,$01
* mapOffset = WorldMapWidth - 40
* for (i = mapOffset; i >= 0; i--) {
* draw map from buffer+i,y to screen
* delay
* }
_sprWidth_F equ #18
_sprHeight_F equ #16
_sprData_F db $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01
db $01,$0F,$0F,$0F,$0F,$01,$01,$01,$01,$01,$01,$01,$01,$01,$0F,$0F,$0F,$01
db $01,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$00,$00,$01,$01,$01,$01,$01
db $01,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $01,$0F,$0F,$0F,$0F,$0F,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$00,$00
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01,$00,$00
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01,$00,$00
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$01,$01,$01,$01,$01,$01,$01,$01,$01,$00,$00
db $01,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $01,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $01,$01,$01,$01,$01,$01,$01,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
WorldMapWidth equ #72
WorldMapHeight equ #24
WorldMap
asc " +90N-+-----+-----+-----+-----+----+-----+-----+-----+-----+-----+-----+"
asc " | . _..::__: ,-^-^._ |7 , _,.__ |"
asc " | _.___ _ _<_>`!(._`.`-. / _._ `_ ,_/ ' '-._.---.-.__|"
asc " |.{ ^ ` `-==,',._\{ \ / {) / _ ^>_,-' ` mt-2_|"
asc " + \_.:--. `._ )`^-. ^' , [_/( __,/-' +"
asc " |'^' \ ^ _L oD_,--' ) /. (| |"
asc " | | ,' _)_.\\._<> 6 _,' / ' |"
asc " | `. / [_/_'` `^( <'} ) |"
asc " +30N \\ .-. ) / `-'^..' `:._ _) ' +"
asc " | ` \ ( `( / `:\ > \ ,-^. /' ' |"
asc " | `._, ^` | \`' \| ?_) {\ |"
asc " | `=.---. `._._ ,' ^` |' ,- '. |"
asc " +000 | `-._ | / `:`<_|h--._ +"
asc " | ( > . | , `=.__.`-'\ |"
asc " | `. / | |{| ,-.,\ .|"
asc " | | ,' \ / `' ,' \ |"
asc " +30S | / |_' | __ / +"
asc " | | | '-' `-' \.|"
asc " | |/ ' / |"
asc " | \. ' |"
asc " +60S +"
asc " | ,/ ______._.--._ _..---.---------._ |"
asc " | ,-----^-..?----_/ ) _,-'^ ^ ( |"
asc " +90S-+-----+-----+-----+-----+----+-----+-----+-----+-----+-----+-----+"
_sprWidth_E equ #18
_sprHeight_E equ #16
_sprData_E db $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01
db $01,$0F,$0F,$0F,$0F,$01,$01,$01,$01,$01,$01,$01,$01,$01,$0F,$0F,$0F,$01
db $01,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$00,$00,$01,$01,$01,$01,$01
db $01,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $01,$0F,$0F,$0F,$0F,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$00,$00,$00
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00
db $01,$0F,$0F,$0F,$0F,$0F,$01,$01,$01,$01,$01,$01,$01,$01,$01,$00,$00,$00
db $01,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $01,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $01,$0F,$0F,$0F,$0F,$0F,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01
db $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01
_sprWidth_K equ #18
_sprHeight_K equ #16
_sprData_K db $01,$01,$01,$01,$01,$01,$01,$00,$00,$00,$00,$01,$01,$01,$01,$01,$01,$01
db $01,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$0F,$01
db $01,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$0F,$01
db $01,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$0F,$0F,$01
db $01,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$01,$0F,$0F,$0F,$0F,$0F,$01,$01,$00
db $01,$0F,$0F,$0F,$0F,$0F,$01,$00,$01,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$01,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$01,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00
db $01,$0F,$0F,$0F,$0F,$0F,$01,$00,$01,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00
db $01,$01,$0F,$0F,$0F,$0F,$01,$00,$00,$01,$0F,$0F,$0F,$0F,$0F,$01,$01,$00
db $01,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$0F,$0F,$01
db $01,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$0F,$01
db $01,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$0F,$01
db $01,$01,$01,$01,$01,$01,$01,$00,$00,$00,$00,$01,$01,$01,$01,$01,$01,$01
_sprWidth_F equ #18
_sprHeight_F equ #16
_sprData_F db $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01
db $01,$0F,$0F,$0F,$0F,$01,$01,$01,$01,$01,$01,$01,$01,$01,$0F,$0F,$0F,$01
db $01,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$00,$00,$01,$01,$01,$01,$01
db $01,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $01,$0F,$0F,$0F,$0F,$0F,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$00,$00
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01,$00,$00
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01,$00,$00
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$01,$01,$01,$01,$01,$01,$01,$01,$01,$00,$00
db $01,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $01,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $01,$01,$01,$01,$01,$01,$01,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
_sprWidth_E equ #18
_sprHeight_E equ #16
_sprData_E db $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01
db $01,$0F,$0F,$0F,$0F,$01,$01,$01,$01,$01,$01,$01,$01,$01,$0F,$0F,$0F,$01
db $01,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$00,$00,$01,$01,$01,$01,$01
db $01,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $01,$0F,$0F,$0F,$0F,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$00,$00,$00
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00
db $01,$0F,$0F,$0F,$0F,$0F,$01,$01,$01,$01,$01,$01,$01,$01,$01,$00,$00,$00
db $01,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $01,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $01,$0F,$0F,$0F,$0F,$0F,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01
db $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01
_sprWidth_S equ #18
_sprHeight_S equ #16
_sprData_S db $00,$00,$00,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$00
db $00,$01,$01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01
db $01,$0F,$0F,$0F,$0F,$0F,$01,$01,$00,$00,$01,$01,$01,$01,$01,$01,$01,$01
db $01,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $01,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $00,$00,$0F,$0F,$0F,$0F,$01,$01,$01,$01,$00,$00,$00,$00,$00,$00,$00,$00
db $00,$00,$01,$01,$0F,$0F,$0F,$0F,$0F,$0F,$01,$01,$01,$01,$00,$00,$00,$00
db $00,$00,$00,$00,$01,$01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01,$01,$00,$00
db $00,$00,$00,$00,$00,$00,$01,$01,$01,$01,$01,$01,$0F,$0F,$0F,$0F,$00,$00
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$0F,$01
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$0F,$01
db $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$0F,$0F,$0F,$0F,$0F,$0F,$01
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01,$01,$00
db $00,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$00,$00
_sprWidth_S equ #18
_sprHeight_S equ #16
_sprData_S db $00,$00,$00,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$00
db $00,$01,$01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01
db $01,$0F,$0F,$0F,$0F,$0F,$01,$01,$00,$00,$01,$01,$01,$01,$01,$01,$01,$01
db $01,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $01,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
db $00,$00,$0F,$0F,$0F,$0F,$01,$01,$01,$01,$00,$00,$00,$00,$00,$00,$00,$00
db $00,$00,$01,$01,$0F,$0F,$0F,$0F,$0F,$0F,$01,$01,$01,$01,$00,$00,$00,$00
db $00,$00,$00,$00,$01,$01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01,$01,$00,$00
db $00,$00,$00,$00,$00,$00,$01,$01,$01,$01,$01,$01,$0F,$0F,$0F,$0F,$00,$00
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$0F,$01
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$0F,$01
db $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$0F,$0F,$0F,$0F,$0F,$0F,$01
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01,$01,$00
db $00,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$00,$00
_sprWidth_T equ #18
_sprHeight_T equ #16
_sprData_T db $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01
db $01,$0F,$0F,$0F,$01,$01,$0F,$0F,$0F,$0F,$0F,$0F,$01,$01,$0F,$0F,$0F,$01
db $01,$01,$01,$01,$00,$00,$01,$0F,$0F,$0F,$0F,$01,$00,$00,$01,$01,$01,$01
db $00,$00,$00,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$00,$01,$01,$0F,$0F,$0F,$0F,$0F,$0F,$01,$01,$00,$00,$00,$00
db $00,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00
db $00,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00
db $00,$00,$00,$00,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$00,$00,$00,$00
_sprWidth_T equ #18
_sprHeight_T equ #16
_sprData_T db $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01
db $01,$0F,$0F,$0F,$01,$01,$0F,$0F,$0F,$0F,$0F,$0F,$01,$01,$0F,$0F,$0F,$01
db $01,$01,$01,$01,$00,$00,$01,$0F,$0F,$0F,$0F,$01,$00,$00,$01,$01,$01,$01
db $00,$00,$00,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$00,$01,$01,$0F,$0F,$0F,$0F,$0F,$0F,$01,$01,$00,$00,$00,$00
db $00,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00
db $00,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00
db $00,$00,$00,$00,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$00,$00,$00,$00
_sprWidth_YEAR equ #39
_sprHeight_YEAR equ #12
_sprData_YEAR db $00,$00,$01,$01,$01,$01,$00,$00,$00,$00,$00,$00,$00,$01,$01,$01,$01,$00,$00,$00,$00,$00
db $00,$01,$01,$01,$01,$00,$00,$00,$00,$00,$01,$01,$01,$01,$00,$00,$00
db $00,$01,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00
db $01,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$01,$00,$00
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$01
db $0F,$0F,$0F,$0F,$0F,$01,$00,$00,$01,$0F,$0F,$0F,$0F,$0F,$0F,$01,$00
db $00,$00,$00,$00,$00,$01,$0F,$0F,$01,$00,$00,$01,$0F,$0F,$00,$00,$0F,$0F,$01,$00,$00,$01
db $0F,$01,$01,$0F,$0F,$01,$00,$00,$00,$00,$00,$00,$00,$01,$0F,$0F,$01
db $00,$00,$00,$00,$00,$01,$0F,$0F,$01,$00,$01,$0F,$0F,$00,$00,$00,$00,$0F,$0F,$01,$00,$00
db $00,$00,$01,$0F,$0F,$01,$00,$00,$00,$00,$00,$00,$00,$01,$0F,$0F,$01
db $00,$00,$00,$00,$00,$01,$0F,$0F,$01,$00,$01,$0F,$0F,$00,$00,$00,$00,$0F,$0F,$01,$00,$00
db $00,$00,$01,$0F,$0F,$01,$00,$00,$00,$00,$00,$01,$01,$0F,$0F,$01,$00
db $00,$00,$00,$00,$01,$0F,$0F,$00,$00,$00,$01,$0F,$0F,$00,$00,$00,$00,$0F,$0F,$01,$00,$00
db $00,$00,$01,$0F,$0F,$01,$00,$00,$00,$00,$01,$0F,$0F,$0F,$01,$01,$00
db $00,$00,$00,$01,$0F,$0F,$00,$00,$00,$00,$01,$0F,$0F,$01,$00,$00,$01,$0F,$0F,$01,$00,$00
db $00,$00,$01,$0F,$0F,$01,$00,$00,$00,$00,$00,$00,$01,$0F,$0F,$0F,$01
db $00,$00,$01,$0F,$0F,$00,$00,$00,$00,$00,$00,$01,$0F,$0F,$00,$00,$0F,$0F,$01,$00,$00,$00
db $00,$00,$01,$0F,$0F,$01,$00,$00,$00,$00,$00,$00,$00,$01,$0F,$0F,$01
db $00,$01,$0F,$0F,$01,$01,$01,$01,$00,$00,$00,$01,$0F,$0F,$01,$01,$0F,$0F,$01,$00,$00,$00
db $00,$00,$01,$0F,$0F,$01,$00,$00,$00,$01,$01,$01,$01,$01,$0F,$0F,$01
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00
db $00,$01,$0F,$0F,$0F,$0F,$01,$00,$01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$01,$0F,$0F,$01,$00,$00,$00,$00,$00
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$01,$00,$01,$0F,$0F,$0F,$0F,$0F,$01,$00
_sprData_YEAR db $00,$00,$01,$01,$01,$01,$00,$00,$00,$00,$00,$00,$00,$01,$01,$01,$01,$00
db $00,$00,$00,$00,$00,$01,$01,$01,$01,$00,$00,$00,$00,$00,$01,$01,$01,$01
db $00,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$01,$0F,$0F
db $0F,$0F,$01,$00,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$01,$0F
db $0F,$0F,$0F,$01,$00,$00,$01,$0F,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$01
db $0F,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$01,$0F,$0F,$0F,$0F,$0F,$01,$00,$00
db $01,$0F,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$00,$01,$0F,$0F,$01
db $00,$00,$01,$0F,$0F,$00,$00,$0F,$0F,$01,$00,$00,$01,$0F,$01,$01,$0F,$0F
db $01,$00,$00,$00,$00,$00,$00,$00,$01,$0F,$0F,$01,$00,$00,$00,$00,$00,$01
db $0F,$0F,$01,$00,$01,$0F,$0F,$00,$00,$00,$00,$0F,$0F,$01,$00,$00,$00,$00
db $01,$0F,$0F,$01,$00,$00,$00,$00,$00,$00,$00,$01,$0F,$0F,$01,$00,$00,$00
db $00,$00,$01,$0F,$0F,$01,$00,$01,$0F,$0F,$00,$00,$00,$00,$0F,$0F,$01,$00
db $00,$00,$00,$01,$0F,$0F,$01,$00,$00,$00,$00,$00,$01,$01,$0F,$0F,$01,$00
db $00,$00,$00,$00,$01,$0F,$0F,$00,$00,$00,$01,$0F,$0F,$00,$00,$00,$00,$0F
db $0F,$01,$00,$00,$00,$00,$01,$0F,$0F,$01,$00,$00,$00,$00,$01,$0F,$0F,$0F
db $01,$01,$00,$00,$00,$00,$01,$0F,$0F,$00,$00,$00,$00,$01,$0F,$0F,$01,$00
db $00,$01,$0F,$0F,$01,$00,$00,$00,$00,$01,$0F,$0F,$01,$00,$00,$00,$00,$00
db $00,$01,$0F,$0F,$0F,$01,$00,$00,$01,$0F,$0F,$00,$00,$00,$00,$00,$00,$01
db $0F,$0F,$00,$00,$0F,$0F,$01,$00,$00,$00,$00,$00,$01,$0F,$0F,$01,$00,$00
db $00,$00,$00,$00,$00,$01,$0F,$0F,$01,$00,$01,$0F,$0F,$01,$01,$01,$01,$00
db $00,$00,$01,$0F,$0F,$01,$01,$0F,$0F,$01,$00,$00,$00,$00,$00,$01,$0F,$0F
db $01,$00,$00,$00,$01,$01,$01,$01,$01,$0F,$0F,$01,$01,$0F,$0F,$0F,$0F,$0F
db $0F,$0F,$01,$00,$00,$00,$01,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$00,$00,$01
db $0F,$0F,$0F,$0F,$01,$00,$01,$0F,$0F,$0F,$0F,$0F,$0F,$0F,$01,$01,$0F,$0F
db $0F,$0F,$0F,$0F,$0F,$0F,$01,$00,$00,$00,$01,$0F,$0F,$01,$00,$00,$00,$00
db $00,$01,$0F,$0F,$0F,$0F,$0F,$0F,$01,$00,$01,$0F,$0F,$0F,$0F,$0F,$01,$00
KfestLogoWidth equ #40
KfestLogoHeight equ #24
KfestLogo
db $5a,$aa,$5a,$aa,$5a,$aa,$5a,$aa,$5a,$aa,$5a,$aa,$5a,$aa,$5a,$aa,$5a,$aa,$5a,$aa
KfestLogo db $5a,$aa,$5a,$aa,$5a,$aa,$5a,$aa,$5a,$aa,$5a,$aa,$5a,$aa,$5a,$aa,$5a,$aa,$5a,$aa
db $5a,$aa,$5a,$aa,$5a,$aa,$5a,$aa,$5a,$aa,$5a,$aa,$5a,$aa,$5a,$aa,$5a,$aa,$5a,$aa
db $5a,$55,$5a,$55,$5a,$55,$5a,$55,$5a,$55,$5a,$55,$5a,$55,$5a,$55,$5a,$55,$5a,$55
db $5a,$55,$5a,$55,$5a,$55,$5a,$55,$5a,$55,$5a,$55,$5a,$55,$5a,$55,$5a,$55,$5a,$55
@ -299,8 +320,7 @@ KfestLogo
AppleLogoWidth equ #19
AppleLogoHeight equ #13
AppleLogo
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$40,$c0,$00,$00,$00,$00,$00
AppleLogo db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$40,$c0,$00,$00,$00,$00,$00
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$c0,$cc,$cc,$cc,$00,$00,$00,$00,$00
db $00,$00,$00,$00,$00,$00,$00,$00,$00,$c4,$cc,$cc,$0c,$00,$00,$00,$00,$00,$00
db $00,$00,$00,$c0,$c4,$c4,$c4,$c0,$c0,$0c,$0c,$c0,$c0,$c4,$c4,$c0,$c0,$00,$00

View File

@ -1,17 +1,89 @@
**************************************************
* play random short note
**************************************************
SErandBlip
jsr GetRand
sta _SECURRNOTE
lda #5
sta _SECURRNOTE+1
jsr SEplayNote
rts
**************************************************
* wrapper for SEplayNote
* a = freq ... x = dur
**************************************************
SENoteAX
sta _SECURRNOTE
stx _SECURRNOTE+1
jsr SEplayNote
rts
**************************************************
*
**************************************************
SEplayNote
:loop lda SPEAKER
:whyWut dey
bne :thar
dec _SECURRNOTE+1
beq :doneThat
:thar dex
bne :whyWut
ldx _SECURRNOTE
jmp :loop
:doneThat rts
_SECURRNOTE db 0,0 ; current note being played (frequency/duration)
* COSMOS THEME
Song01
PlaySong01Note
:start lda Song01
]song01Ptr equ *-2
cmp #$02
bne :noLoop
lda #Song01
sta ]song01Ptr
lda #>Song01
sta ]song01Ptr+1
bra :start
:noLoop
;ldx #$20 ; x passed as wait value.. omg the hacks
jsr SENoteAX
_SE_tonesBAD db 255,241,227,214,202,191,180,170,161,152,143,135
db 128,121,114,108,102,096,091,085,081,076,072,068
db 064,060,057,054,051,048,045,043,040,038,036,034
lda ]frameCount
cmp #_frameRepeat
beq :nextNote
inc ]frameCount
rts
:nextNote stz ]frameCount
inc ]song01Ptr
beq :inc
rts
:inc inc ]song01Ptr+1
rts
]frameCount db 0
_frameRepeat equ 2
Song01 hex 66,99,a3,66,99,a3,66,99,66,99,a3,66,99,a3,66,99
hex 72,99,a3,72,99,a3,72,99,72,99,a3,72,99,a3,72,99
hex 79,a3,b5,79,a3,b5,79,a3,79,a3,b5,79,a3,b5,79,a3
hex 6c,99,a3,6c,99,a3,6c,99,6c,99,a3,6c,99,a3,6c,5b
hex 66,99,a3,66,99,a3,66,99,66,99,a3,66,99,a3,66,99
hex 02 ;end
_SE_tones db NoteG0,NoteGsharp0,NoteA0,NoteBflat0,NoteB0
db NoteC1,NoteCsharp1,NoteD1,NoteDsharp1,NoteE1
db NoteF1,NoteFsharp1,NoteG1,NoteGsharp1,NoteA1
db NoteBflat1,NoteB1,NoteC2,NoteCsharp2,NoteD2
db NoteDsharp2,NoteE2,NoteF2
NoteRest equ $01 ;\_ these are inaudible anyway
NoteEnd equ $02 ;/
NoteG0 equ $00 ; because it loops
NoteGsharp0 equ $f0
NoteA0 equ $e6
@ -50,42 +122,19 @@ SErandStatic
bne :loop
rts
SErandBlip
jsr GetRand
sta _SECURRNOTE
lda #5
sta _SECURRNOTE+1
jsr SEplayNote
rts
* a = freq ... x = dur
SENoteAX
sta _SECURRNOTE
stx _SECURRNOTE+1
jsr SEplayNote
;lda _SECURRNOTE+1
;ldy _SECURRNOTE
;ldx #$0
;jsr tone
rts
SEplayNote
* y = length
SErandStaticBit
:loop lda SPEAKER
:whyWut dey
bne :thar
dec _SECURRNOTE+1
beq :doneThat
:thar dex
bne :whyWut
ldx _SECURRNOTE
jmp :loop
:doneThat rts
jsr GetRand
lsr
beq :next
:wait dec
bne :wait
:next dey
bne :loop
rts
_SECURRNOTE db 0,0 ; current note being played (frequency/duration)
*-------------------------------