diff --git a/demosplash/Makefile b/demosplash/Makefile index 5f7ee62e..425e9024 100644 --- a/demosplash/Makefile +++ b/demosplash/Makefile @@ -9,12 +9,12 @@ B2D = ../bmp2dhr/b2d all: demosplash.dsk -demosplash.dsk: HELLO LOADER BOOK_HGR2C.BIN MUSICTEST # DEMOSPLASH +demosplash.dsk: HELLO LOADER DEMOSPLASH cp empty.dsk demosplash.dsk $(DOS33) -y demosplash.dsk SAVE A HELLO $(DOS33) -y demosplash.dsk BSAVE -a 0x1400 LOADER -# $(DOS33) -y demosplash.dsk BSAVE -a 0x1700 DEMOSPLASH - $(DOS33) -y demosplash.dsk BSAVE -a 0x1700 MUSICTEST + $(DOS33) -y demosplash.dsk BSAVE -a 0x1700 DEMOSPLASH +# $(DOS33) -y demosplash.dsk BSAVE -a 0x1700 MUSICTEST #### @@ -23,39 +23,46 @@ HELLO: hello.bas ../asoft_basic-utils/tokenize_asoft < hello.bas > HELLO +##### + +#DEMOSPLASH: demosplash.o +# ld65 -o DEMOSPLASH demosplash.o -C ../linker_scripts/apple2_1700.inc + +#demosplash.o: demosplash.s \ +# zp.inc hardware.inc \ +# appleII_intro.s vapor_lock.s delay_a.s \ +# pt3_lib_init.s pt3_lib_core.s pt3_lib_mockingboard.s \ +# interrupt_handler.s \ +# starbase.s starbase_action.s \ +# graphics/starbase/starbase.inc \ +# graphics/sprites/alien.inc graphics/sprites/astronaut.inc \ +# dya_space_demo.pt3 appleII_40_96.inc \ +# book.s book_40_48d.inc \ +# missing.s \ +# escape.s +# ca65 -o demosplash.o demosplash.s -l demosplash.lst + ##### DEMOSPLASH: demosplash.o ld65 -o DEMOSPLASH demosplash.o -C ../linker_scripts/apple2_1700.inc demosplash.o: demosplash.s \ - zp.inc hardware.inc \ - appleII_intro.s vapor_lock.s delay_a.s \ - pt3_lib_init.s pt3_lib_core.s pt3_lib_mockingboard.s \ - interrupt_handler.s \ - starbase.s starbase_action.s \ - graphics/starbase/starbase.inc \ - graphics/sprites/alien.inc graphics/sprites/astronaut.inc \ - dya_space_demo.pt3 appleII_40_96.inc \ - book.s book_40_48d.inc \ - missing.s \ - escape.s - ca65 -o demosplash.o demosplash.s -l demosplash.lst - -##### - -MUSICTEST: musictest.o - ld65 -o MUSICTEST musictest.o -C ../linker_scripts/apple2_1700.inc - -musictest.o: musictest.s \ zp.inc hardware.inc \ appleII_intro.s font.s \ pt3_lib_init.s pt3_lib_core.s pt3_lib_mockingboard.s \ pt3_lib_play_frame.s pt3_lib_write_frame.s \ interrupt_handler.s \ - missing.s missing_screen_update.s \ + starbase.s \ + starbase_action.s \ + missing.s k_40_48d.inc create_update_type1.s \ + graphics/starbase/starbase.inc \ + graphics/sprites/alien.inc graphics/sprites/astronaut.inc \ + escape.s create_update_type2.s offsets_table2.s \ + book.s book_40_48d.inc \ + credits.s credits_bg.inc offsets_table.s \ dya_space_demo2.pt3 - ca65 -o musictest.o musictest.s -l musictest.lst + ca65 -o demosplash.o demosplash.s -l demosplash.lst ##### @@ -86,9 +93,15 @@ BOOK_HGR2C.BIN: book_hgr2.bmp ##### +credits_bg.inc: credits_bg.png + $(PNG_TO_40x48D) asm credits_bg.png credits > credits_bg.inc + book_40_48d.inc: book_40_48d.png $(PNG_TO_40x48D) asm book_40_48d.png book > book_40_48d.inc +k_40_48d.inc: k_40_48d.png + $(PNG_TO_40x48D) asm k_40_48d.png k > k_40_48d.inc + ##### clean: diff --git a/demosplash/NOTES b/demosplash/NOTES new file mode 100644 index 00000000..c6ec0f67 --- /dev/null +++ b/demosplash/NOTES @@ -0,0 +1,113 @@ +TODO: + CYCLE: Apple II intro + + Remove keyboard pause + CYCLE: MISSING notice + + Add missing text + + Autogen the active background code + PLAIN: Hollowed out book + + Meanwhile on a distant starbase, a prisoner + receives a mysterious package... + + Draw this sequence + PLAIN: STARBASE OOTW sequence + + Update graphics + + Update backgrounds + + Time things + + Ship flame (from last year's demo) + CYCLES: ESCAPE ship sequence + + Read keypress from file + + Add music playing + PLAIN? BOOK READING + CYCLES: CREDITS + + + +14 * 256 = 3.5k, 4.2s + * 5 =17.5k, 21s + +compact=11 + +11*256=2.75k + * 6 = 16.5k, 25s + + + +30 unique tracks + 64*4=256 + + + +0=A_low +1=A_high (half) +2=B_low +3=B_high (half) +4=C_low +5=C_high (half) +6=Noise (5bits) +7=enable +8=A_amp (4+envelope) +9=B_amp (4+envelope) +10=C_amp (4+envelope) +11=EnvelopeL +12=EnvelopeH +13=Envelope_Shape (half) + + + 0 1 0 1 2 3 2 4 + 5 6 7 8 9 10 9 11 +12 13 14 15 19 16 17 18 +20 21 22 23 24 25 30 26 +27 28 29 + +35 segments = 64*3= 192 bytes each, 3.2s*35 = 112 1:52s + +; Possible solution +; Text message transition +; if 15%, can decode 6 frames for each one played? +; + + +2:07 + :30 to start of actual music + :43 start upbeat + 1:30 end of second blank spot + loop + +cyc APPLE II logo (pixel transition) +cyc AGT FROGYSUE + BOOK w GUN + STARBASE +cyc ESCAPE + message about book? +cyc BOOK +cyc CREDITS + + +4*11*256=11k + + + +Memory Map +~~~~~~~~~~ +0000-00ff zero page +0100-01ff stack +0200-02ff ????? +0300-03ff nibble table, irq vectors +0400-07FF lores page1 +0800-0bff lores page2 +0c00-0fff (used as page3) + +1400-16ff Loader +1700-???? executable + +9000-bfff audio buffer + +c000-cfff I/O +d000-ffff ROM + + + +Size: + base+music+a2intro = 10k (compress to 6k) + + missing = additional 10k + + missing = 20k, comment out displaycode 12k, so 8k of display code diff --git a/demosplash/NOTES.old b/demosplash/NOTES.old index 5ec6f7d7..c6ec0f67 100644 --- a/demosplash/NOTES.old +++ b/demosplash/NOTES.old @@ -1,3 +1,26 @@ +TODO: + CYCLE: Apple II intro + + Remove keyboard pause + CYCLE: MISSING notice + + Add missing text + + Autogen the active background code + PLAIN: Hollowed out book + + Meanwhile on a distant starbase, a prisoner + receives a mysterious package... + + Draw this sequence + PLAIN: STARBASE OOTW sequence + + Update graphics + + Update backgrounds + + Time things + + Ship flame (from last year's demo) + CYCLES: ESCAPE ship sequence + + Read keypress from file + + Add music playing + PLAIN? BOOK READING + CYCLES: CREDITS + + + 14 * 256 = 3.5k, 4.2s * 5 =17.5k, 21s diff --git a/demosplash/TODO b/demosplash/TODO new file mode 100644 index 00000000..433a5d56 --- /dev/null +++ b/demosplash/TODO @@ -0,0 +1,61 @@ +General: ++ get music working + + +OPENER: + + Done? + +MISSING: + + Add colored bars for accent? + +PACKAGE: + + Implement + +STARBASE: + + Fix sprites + + Keyboard emulation + + + change colors of shield? laser? blast? + + + room0 + - open with wall blasting open + - run down steps + - blast open door + - run through + + room1 + - columns + - run in + - duck, start shield + - blash shield, alien + - run through doors + + + room2 (planet) + - shoot another alien? + - foreground animation (robot?) + + + room3 (ship) + - blast control / free ship/ + - run to ship + - engines start + - some sort of fade-to-white transition + +ESCAPE: + + Get working + + Keyboard emulation + +READING: + + Add message of some sort? + +CREDITS: + + implement text + + implement rasterbars + + 012345678901 + CODE: DEATER + MUSIC: DYA + MISC MAGIC: QKUMBA + THANKS: + FROGYSUE + S. SUSIE + 0101TALBOT +18*4= diff --git a/demosplash/ansi/Makefile b/demosplash/ansi/Makefile index b20fa3d8..e3960c8a 100644 --- a/demosplash/ansi/Makefile +++ b/demosplash/ansi/Makefile @@ -1,9 +1,9 @@ ANSI2PNG = ~/research/ansi2gif/ansi2gif.git/ansi2png -all: kfest.png +all: kfest2020.png -kfest.png: kfest.ans - $(ANSI2PNG) --ysize auto kfest.ans > kfest.png +kfest2020.png: kfest2020.ans + $(ANSI2PNG) --ysize auto kfest2020.ans > kfest2020.png clean: - rm -f kfest.png *~ + rm -f kfest2020.png *~ diff --git a/demosplash/book.s b/demosplash/book.s index c9102b82..bfc5059b 100644 --- a/demosplash/book.s +++ b/demosplash/book.s @@ -4,20 +4,8 @@ ; by deater (Vince Weaver) -; Zero Page -;FRAME = $60 -;BLARGH = $69 -;DRAW_PAGE = $EE -;LASTKEY = $F1 -;PADDLE_STATUS = $F2 -;TEMP = $FA -WHICH = $E3 - - -book: - lda #0 - sta WHICH +end_book: ;=================== ; init screen @@ -31,17 +19,17 @@ book: lda #0 sta DRAW_PAGE + ;=================== + ; setup grahics + + jsr create_update_type1 + ;============================= ; Load graphic page0 - lda WHICH - asl - asl ; which*4 - tay - - lda pictures,Y + lda #book_low sta GBASH lda #$c ; load image to $c00 @@ -61,20 +49,12 @@ book: bit SET_GR ; 4 bit FULLGR ; 4 - jsr wait_until_keypressed - - ;============================= ; Load graphic page1 - lda WHICH - asl - asl ; which*4 - tay - - lda pictures+2,Y + lda #book_high sta GBASH lda #$c ; load image to $c00 jsr load_rle_gr @@ -87,9 +67,6 @@ book: ; GR part bit PAGE0 - jsr wait_until_keypressed - - ;============================== ; setup graphics for vapor lock ;============================== @@ -128,72 +105,34 @@ loopR: dex ; 2 ;================================================ ; Display Loop ;================================================ - ; each scan line 65 cycles - ; 1 cycle each byte (40cycles) + 25 for horizontal - ; Total of 12480 cycles to draw screen - ; Vertical blank = 4550 cycles (70 scan lines) - ; Total of 17030 cycles to get back to where was - ; We want to alternate between page1 and page2 every 65 cycles ; vblank = 4550 cycles to do scrolling - - ; 2 + 48*( (4+2+25*(2+3)) + (4+2+23*(2+3)+4+5)) + 9) - ; 48*[(6+125)-1] + [(6+115+10)-1] - book_loop: - ldy #96 ; 2 - -book_outer_loop: - - bit PAGE0 ; 4 - ldx #12 ; 65 cycles with PAGE0 ; 2 -book_page0_loop: ; delay 61+bit - dex ; 2 - bne book_page0_loop ; 2/3 - - - ; bit(4) -1(fallthrough) + loop*5 -1(fallthrouh)+4 extra = 61 - ; 5L = 55 - - bit PAGE1 ; 4 - ldx #11 ; 65 cycles with PAGE1 ; 2 - ; -book_page1_loop: ; delay 115+(7 loop)+4 (bit)+4(extra) - dex ; 2 - bne book_page1_loop ; 2/3 - - dey ; 2 - bne book_outer_loop ; 2/3 - - + jsr $9000 ; cycle-counted page0/page1 flip code ;====================================================== ; We have 4550 cycles in the vblank, use them wisely ;====================================================== - ; do_nothing should be 4550+1 -2-9 -7= 4533 - - jsr book_do_nothing ; 6 - - lda KEYPRESS ; 4 - bpl book_no_keypress ; 3 - rts -book_no_keypress: - - jmp book_loop ; 3 - + ; do_nothing should be + ; 4550 + ; -12 -- enter/leave flip code + ; -10 -- keypress code + ; ======= + ; 4528 cycles ;================================= ; do nothing ;================================= - ; and take 4533-6 = 4527 cycles to do it + ; and take 4528 + book_do_nothing: - ; Try X=4 Y=174 cycles=4525 R2 + ; Try X=4 Y=174 cycles=4525 R3 - nop ; 2 + lda TEMP ; 3 ldy #174 ; 2 bloop1: @@ -206,13 +145,13 @@ bloop2: bne bloop1 ; 2nt/3 - rts ; 6 + + lda KEYPRESS ; 4 + bpl book_no_keypress ; 3 + rts ; 6 +book_no_keypress: + + jmp book_loop ; 3 -pictures: - .word book_low,book_high - - -.include "book_40_48d.inc" - diff --git a/demosplash/create_update_type1.s b/demosplash/create_update_type1.s new file mode 100644 index 00000000..84fbabc8 --- /dev/null +++ b/demosplash/create_update_type1.s @@ -0,0 +1,135 @@ + + ; Autogenerates code that does interleaved Page0/Page1 lores mode + ; but leaving room for 14 pixels/line of per-scanline color + +UPDATE_START = $9000 + +DEFAULT_COLOR = $0 + +create_update_type1: + ldx #192 + lda #UPDATE_START + sta OUTH + lda #one_scanline + sta INH +create_update_outer_loop: + ldy #0 +create_update_inner_loop: + lda (INL),Y + sta (OUTL),Y + iny + cpy #49 + bne create_update_inner_loop + + ; toggle PAGE0/PAGE1 + txa + and #$1 ; ror? + clc + adc #$54 + ldy #1 + sta (OUTL),Y + + clc + lda #49 + adc OUTL + sta OUTL + lda OUTH + adc #0 + sta OUTH + + dex + bne create_update_outer_loop + + ldy #0 + lda #$60 + sta (OUTL),Y + + rts + +BARS_START = 46 + + ;=========================== + ; from 40 to 168? +setup_rasterbars: + + lda #4 ; which page + sta RASTER_PAGE + + ldx #BARS_START + lda #<(UPDATE_START+(BARS_START*49)) + sta OUTL + lda #>(UPDATE_START+(BARS_START*49)) + sta OUTH +setup_rasterbars_outer_loop: + ldy #6 + lda #13 + sta RASTER_X +setup_rasterbars_inner_loop: + txa + pha + inx + txa ; start one earlier + lsr + lsr + and #$fe + tax + clc + lda gr_offsets,X + adc RASTER_X + inc RASTER_X + sta (OUTL),Y + iny + clc + lda gr_offsets+1,X + adc RASTER_PAGE + sta (OUTL),Y + iny + iny + pla + tax + + cpy #48 + bne setup_rasterbars_inner_loop + + clc + lda #49 + adc OUTL + sta OUTL + lda OUTH + adc #0 + sta OUTH + + + lda RASTER_PAGE + eor #$04 + sta RASTER_PAGE + + inx + cpx #184 + bne setup_rasterbars_outer_loop + + rts + +one_scanline: +.byte $2C,$54,$C0 ; bit PAGE0 ; 4 +.byte $A9,DEFAULT_COLOR ; lda #$0b ; 2 +.byte $8D,$00,$02 ; sta $200 ; 4 +.byte $8D,$00,$02 ; sta $200 ; 4 +.byte $8D,$00,$02 ; sta $200 ; 4 +.byte $8D,$00,$02 ; sta $200 ; 4 +.byte $8D,$00,$02 ; sta $200 ; 4 +.byte $8D,$00,$02 ; sta $200 ; 4 +.byte $8D,$00,$02 ; sta $200 ; 4 +.byte $8D,$00,$02 ; sta $200 ; 4 +.byte $8D,$00,$02 ; sta $200 ; 4 +.byte $8D,$00,$02 ; sta $200 ; 4 +.byte $8D,$00,$02 ; sta $200 ; 4 +.byte $8D,$00,$02 ; sta $200 ; 4 +.byte $8D,$00,$02 ; sta $200 ; 4 +.byte $8D,$00,$02 ; sta $200 ; 4 +.byte $A5,$FA ; lda TEMP ; 3 + diff --git a/demosplash/create_update_type2.s b/demosplash/create_update_type2.s new file mode 100644 index 00000000..ed5525fd --- /dev/null +++ b/demosplash/create_update_type2.s @@ -0,0 +1,143 @@ + + ; Autogenerates code for Type2 (escape) + + ; First 9 (?) lines = text mode + ; + +UPDATE2_START = $9000 + +;DEFAULT_COLOR = $0 + +create_update_type2: + ldx #192 + lda #UPDATE2_START + sta OUTH + lda #another_scanline + sta INH +create_update2_outer_loop: + ldy #0 +create_update2_inner_loop: + lda (INL),Y + sta (OUTL),Y + iny + cpy #47 + bne create_update2_inner_loop + + ; toggle PAGE0/PAGE1 + txa + and #$1 ; ror? + clc + adc #$54 + ldy #1 + sta (OUTL),Y + + clc + lda #47 + adc OUTL + sta OUTL + lda OUTH + adc #0 + sta OUTH + + dex + bne create_update2_outer_loop + + ldy #0 + lda #$60 ; rts + sta (OUTL),Y + + rts + +;BARS_START = 46 + +.if 0 + ;=========================== + ; from 40 to 168? +setup_rasterbars: + + lda #4 ; which page + sta RASTER_PAGE + + ldx #BARS_START + lda #<(UPDATE_START+(BARS_START*49)) + sta OUTL + lda #>(UPDATE_START+(BARS_START*49)) + sta OUTH +setup_rasterbars_outer_loop: + ldy #6 + lda #13 + sta RASTER_X +setup_rasterbars_inner_loop: + txa + pha + inx + txa ; start one earlier + lsr + lsr + and #$fe + tax + clc + lda gr_offsets,X + adc RASTER_X + inc RASTER_X + sta (OUTL),Y + iny + clc + lda gr_offsets+1,X + adc RASTER_PAGE + sta (OUTL),Y + iny + iny + pla + tax + + cpy #48 + bne setup_rasterbars_inner_loop + + clc + lda #49 + adc OUTL + sta OUTL + lda OUTH + adc #0 + sta OUTH + + + lda RASTER_PAGE + eor #$04 + sta RASTER_PAGE + + inx + cpx #184 + bne setup_rasterbars_outer_loop + + rts +.endif + +another_scanline: +.byte $2C,$54,$C0 ; bit PAGE0 ; 4 +.byte $A2,$01 ;smc018: ldx #$01 ; 2 +.byte $A9,$00 ; lda #$00 ; 2 +.byte $9D,$00,$02 ; sta $c00,X ; 5 +.byte $A9,$00 ; lda #$00 ; 2 +.byte $9D,$00,$02 ; sta $c00,X ; 5 +.byte $A9,$00 ; lda #$00 ; 2 +.byte $9D,$00,$02 ; sta $c00,X ; 5 +.byte $A9,$00 ; lda #$00 ; 2 +.byte $9D,$00,$02 ; sta $c00,X ; 5 +.byte $A9,$00 ; lda #$00 ; 2 +.byte $9D,$00,$02 ; sta $c00,X ; 5 +.byte $A9,$00 ; lda #$00 ; 2 +.byte $9D,$00,$02 ; sta $c00,X ; 5 +.byte $A9,$00 ; lda #$00 ; 2 +.byte $9D,$00,$02 ; sta $c00,X ; 5 +.byte $A2,$00 ; ldx #$00 ; 2 +.byte $A5,$85 ; lda ZERO ; 3 +.byte $9D,$00,$02 ; sta $c00,X ; 5 + ;========== ;=== + ; 47??? ; 65 + diff --git a/demosplash/credits.s b/demosplash/credits.s new file mode 100644 index 00000000..0ff34992 --- /dev/null +++ b/demosplash/credits.s @@ -0,0 +1,602 @@ +; Uses the 40x48d page1/page2 every-1-scanline pageflip mode + +; self modifying code to get some extra colors (pseudo 40x192 mode) + +; by deater (Vince Weaver) + +credits: + + ;=================== + ; init screen + jsr TEXT + jsr HOME + bit KEYRESET + + ;=================== + ; init vars + + lda #0 + sta DRAW_PAGE + sta FRAME + + lda #credits_text + sta CREDITS_POINTERH + + ;================== + ; setup graphics + + jsr create_update_type1 + jsr setup_rasterbars + + ; change to page0/page0/page1/page1 for first 32 lines + ; 0101010101010101010101010101010101010101 + ; 1100110011001100110011001100110011001100 + ; | *| *| *| *--------| *| *| *| * + ; 0 34 78 12 5 4 78 12 56 9 + ; 11 1 2 22 33 33 3 + lda #$54 + sta $9001+(49*3) + sta $9001+(49*7) + sta $9001+(49*11) + sta $9001+(49*15) + sta $9001+(49*27) + sta $9001+(49*31) + sta $9001+(49*35) + sta $9001+(49*39) + + lda #$55 + sta $9001+(49*0) + sta $9001+(49*4) + sta $9001+(49*8) + sta $9001+(49*12) + sta $9001+(49*24) + sta $9001+(49*28) + sta $9001+(49*32) + sta $9001+(49*36) + + + ;============================= + ; Load graphic page0 + + lda #credits_low + sta GBASH + + lda #$c ; load image to $c00 + + jsr load_rle_gr + + lda #4 + sta DRAW_PAGE + + jsr gr_copy_to_current ; copy to page1 + + ; GR part + bit PAGE1 + bit LORES ; 4 + bit SET_GR ; 4 + bit FULLGR ; 4 + +; jsr wait_until_keypressed + + + ;============================= + ; Load graphic page1 + + lda #credits_high + sta GBASH + lda #$c ; load to $c00 + jsr load_rle_gr + + lda #0 + sta DRAW_PAGE + + jsr gr_copy_to_current + + ; GR part + bit PAGE0 + +; jsr wait_until_keypressed + + + ;============================== + ; setup graphics for vapor lock + ;============================== + + jsr vapor_lock + + ; vapor lock returns with us at beginning of hsync in line + ; 114 (7410 cycles), so with 5070 lines to go + + ; GR part + bit LORES ; 4 + bit SET_GR ; 4 + bit FULLGR ; 4 + + jsr gr_copy_to_current ; 6+ 9292 + + ; 5070 + 4550 = 9620 + ; 9292 + ; 12 + ; 6 + ; ==== + ; 310 + + ; - 3 for jmp + ; 307 + + ; Try X=9 Y=6 cycles=307 + + ldy #6 ; 2 +tloopA: ldx #9 ; 2 +tloopB: dex ; 2 + bne tloopB ; 2nt/3 + dey ; 2 + bne tloopA ; 2nt/3 + + jmp credits_loop ; 3 + +.align $100 + + ;================================================ + ; Display Loop + ;================================================ + ; each scan line 65 cycles + ; 1 cycle each byte (40cycles) + 25 for horizontal + ; Total of 12480 cycles to draw screen + ; Vertical blank = 4550 cycles (70 scan lines) + ; Total of 17030 cycles to get back to where was + + ; We want to alternate between page1 and page2 every 65 cycles + ; vblank = 4550 cycles to do scrolling + + +credits_loop: + + jsr $9000 + + ;====================================================== + ; We have 4550 cycles in the vblank, use them wisely + ;====================================================== + + ; 4550 -- VBLANK + ; -582 -- erase 22+4*(8+6+126) = 582 + ; -696 -- move+draw 4*(16+26+6+126) = 696 + ; -10 -- keypress + ; -12 -- call/return of draw code + ; -446 -- do_words + ;======= + ; 2804 + +pad_time: + + ; we erase, then draw + ; doing a blanket erase of all 128 lines would cost 3459 cycles! + + ;========================= + ; do words + ;========================= + + jsr draw_credits ; 6+440 + + ;========================= + ; ERASE + ;========================= + + lda #$00 ; 2 + sta smc_raster_color1_1+1 ; 4 + sta smc_raster_color1_2+1 ; 4 + sta smc_raster_color2_1+1 ; 4 + sta smc_raster_color2_2+1 ; 4 + sta smc_raster_color3_1+1 ; 4 + ;============= + ; 22 + + ; erase red + + lda red_x ; 4 + and #$7f ; 2 + tax ; 2 + + jsr draw_rasterbar ; 6+126 + + ; erase yellow + + lda yellow_x ; 4 + and #$7f ; 2 + tax ; 2 + + jsr draw_rasterbar ; 6+126 + + ; erase green + + lda green_x ; 4 + and #$7f ; 2 + tax ; 2 + + jsr draw_rasterbar ; 6+126 + + ; erase red + + lda blue_x ; 4 + and #$7f ; 2 + tax ; 2 + + jsr draw_rasterbar ; 6+126 + + + ;========================= + ; MOVE and DRAW + ;========================= + + + ;============ + ; move red + + ldy red_x ; 4 + lda movement_table,Y ; 4 + sta red_x ; 4 + and #$7f ; 2 + tax ; 2 + ;========== + ; 16 + + ; draw red + + lda #$33 ; 2 + sta smc_raster_color1_1+1 ; 4 + sta smc_raster_color1_2+1 ; 4 + lda #$bb ; 2 + sta smc_raster_color2_1+1 ; 4 + sta smc_raster_color2_2+1 ; 4 + lda #$ff ; 2 + sta smc_raster_color3_1+1 ; 4 + ;============= + ; 26 + + + jsr draw_rasterbar ; 6+126 + + + ;============ + ; move yellow + + ldy yellow_x ; 4 + lda movement_table,Y ; 4 + sta yellow_x ; 4 + and #$7f ; 2 + tax ; 2 + ;========== + ; 16 + + ; draw yellow + + lda #$88 ; 2 + sta smc_raster_color1_1+1 ; 4 + sta smc_raster_color1_2+1 ; 4 + lda #$dd ; 2 + sta smc_raster_color2_1+1 ; 4 + sta smc_raster_color2_2+1 ; 4 + lda #$ff ; 2 + sta smc_raster_color3_1+1 ; 4 + ;============= + ; 26 + + + jsr draw_rasterbar ; 6+126 + + ;============ + ; move green + + ldy green_x ; 4 + lda movement_table,Y ; 4 + sta green_x ; 4 + and #$7f ; 2 + tax ; 2 + ;========== + ; 16 + + ; draw green + + lda #$44 ; 2 + sta smc_raster_color1_1+1 ; 4 + sta smc_raster_color1_2+1 ; 4 + lda #$cc ; 2 + sta smc_raster_color2_1+1 ; 4 + sta smc_raster_color2_2+1 ; 4 + lda #$ff ; 2 + sta smc_raster_color3_1+1 ; 4 + ;============= + ; 26 + + + jsr draw_rasterbar ; 6+126 + + ;============ + ; move blue + + ldy blue_x ; 4 + lda movement_table,Y ; 4 + sta blue_x ; 4 + and #$7f ; 2 + tax ; 2 + ;========== + ; 16 + + ; draw blue + + lda #$22 ; 2 + sta smc_raster_color1_1+1 ; 4 + sta smc_raster_color1_2+1 ; 4 + lda #$66 ; 2 + sta smc_raster_color2_1+1 ; 4 + sta smc_raster_color2_2+1 ; 4 + lda #$ff ; 2 + sta smc_raster_color3_1+1 ; 4 + ;============= + ; 26 + + + jsr draw_rasterbar ; 6+126 + + + + + ;============================ + ; WAIT for VBLANK to finish + ;============================ + + ; Try X=61 Y=9 cycles=2800 R4 + nop + nop + + ldy #9 ; 2 +tloop1: ldx #61 ; 2 +tloop2: dex ; 2 + bne tloop2 ; 2nt/3 + dey ; 2 + bne tloop1 ; 2nt/3 + + + lda KEYPRESS ; 4 + bpl cno_keypress ; 3 + rts + +cno_keypress: + + jmp credits_loop ; 3 + + + ;======================== + ; Draw a rasterbar + ; unroll as memory is free! haha + ;======================== + ; X is location + + ; 2+22+24+24+24+24+6 = 126 + +draw_rasterbar: + + ldy #0 ; 2 + ;==== + + lda y_lookup_l,X ; 4 + sta OUTL ; 3 + lda y_lookup_h,X ; 4 + sta OUTH ; 3 + +smc_raster_color1_1: + lda #$33 ; 2 + sta (OUTL),Y ; 6 + ;============ + ; 22 + + inx ; 2 + lda y_lookup_l,X ; 4 + sta OUTL ; 3 + lda y_lookup_h,X ; 4 + sta OUTH ; 3 + +smc_raster_color2_1: + lda #$bb ; 2 + sta (OUTL),Y ; 6 + + inx ; 2 + lda y_lookup_l,X ; 4 + sta OUTL ; 3 + lda y_lookup_h,X ; 4 + sta OUTH ; 3 + +smc_raster_color3_1: + lda #$ff ; 2 + sta (OUTL),Y ; 6 + + inx + lda y_lookup_l,X ; 4 + sta OUTL ; 3 + lda y_lookup_h,X ; 4 + sta OUTH ; 3 + +smc_raster_color2_2: + lda #$bb ; 2 + sta (OUTL),Y ; 6 + + inx + lda y_lookup_l,X ; 4 + sta OUTL ; 3 + lda y_lookup_h,X ; 4 + sta OUTH ; 3 + +smc_raster_color1_2: + lda #$33 ; 2 + sta (OUTL),Y ; 6 + + rts ; 6 + + +red_x: .byte $10 +yellow_x: .byte $20 +green_x: .byte $30 +blue_x: .byte $40 + + + ;================================= + ; draw credits + ;================================= + ; credits pointer + ; + ; noframe: 13 = 13 (need 427) +12 + ; end: 13+12= 25 (need 415) +83 + ; newchar: 13+12+4+79 = 108 (need 333) +332 + ; putchar: 13+12+4+377+28+6 = 440 + +draw_credits: + inc FRAME ; 5 + lda FRAME ; 3 + and #$f ; 2 + beq credits_handle_next ; 3 + ;==== + ; 13 +credits_long_delay: + ; -1 + ; 12+1 = 13 cycles + + lda TEMP ; 3 + lda TEMP ; 3 + lda TEMP ; 3 + nop ; 2 + nop ; 2 + +credits_skip: + ; 83 cycles + lda #56 ; 2 + jsr delay_a ; delay 25+a (81) + +credits_short_delay: + ; 332 cycles-6 = 326 + + ; 83 cycles + lda #56 ; 2 + jsr delay_a ; delay 25+a (81) + + ; 243 cycles + lda #216 ; 2 + jsr delay_a ; delay 25+a (241) + + rts ; 6 + + +credits_handle_next: + ldy #0 ; 2 + lda (CREDITS_POINTERL),Y ; 5 + cmp #$ff ; 2 + beq credits_skip ; 3 + ;=== + ; 12 + + ; -1 + cmp #'@' ; 2 + bcs credits_put_char ; bge ; 3 + ;==== + ; 4 + +credits_check_xy: + ; -1 + sta CREDITS_Y ; 3 + iny ; 2 + lda (CREDITS_POINTERL),Y ; 5 + sta CREDITS_X ; 3 + iny ; 2 + ;==== + ; 14 + + lda (CREDITS_POINTERL),Y ; 5 + sta colors_hi ; 4 + iny ; 2 + lda (CREDITS_POINTERL),Y ; 5 + sta colors_hi+1 ; 4 + iny ; 2 + lda (CREDITS_POINTERL),Y ; 5 + sta colors_lo ; 4 + iny ; 2 + lda (CREDITS_POINTERL),Y ; 5 + sta colors_lo+1 ; 4 + iny ; 2 + ;=== + ; 44 + + clc ; 2 + tya ; 2 + adc CREDITS_POINTERL ; 3 + sta CREDITS_POINTERL ; 3 + lda #0 ; 2 + adc CREDITS_POINTERH ; 3 + sta CREDITS_POINTERH ; 3 + + jmp credits_short_delay ; 3 + ;==== + ; 21 +credits_put_char: + ldx CREDITS_X ; 3 + ldy CREDITS_Y ; 3 + jsr put_char ; 6+365 + ;====== + ; 377 + + clc ; 2 + lda CREDITS_X ; 3 + adc #4 ; 2 + sta CREDITS_X ; 3 + + clc ; 2 + lda #1 ; 2 + adc CREDITS_POINTERL ; 3 + sta CREDITS_POINTERL ; 3 + lda #0 ; 2 + adc CREDITS_POINTERH ; 3 + sta CREDITS_POINTERH ; 3 + ;===== + ; 28 + +draw_credits_end: + rts ; 6 + +.align $100 +credits_text: +.byte 0,10, $B1,$3F,$F3,$1B, 'C','O','D','E','[' ; "CODE:" +.byte 6,8, $B1,$3F,$F3,$1B, 'D','E','A','T','E','R' ; "DEATER" +.byte '@','@' ; time pad +.byte 0,10, $00,$00,$00,$00, 'C','O','D','E','[' ; "CODE:" +.byte 6,8, $00,$00,$00,$00, 'D','E','A','T','E','R' ; "DEATER" + +.byte 0,8, $D8,$9F,$F9,$8D, 'M','U','S','I','C','[' ; "MUSIC:" +.byte 6,14, $D8,$9F,$F9,$8D, 'D','Y','A' ; "DYA" +.byte '@','@' ; time pad +.byte 0,8, $00,$00,$00,$00, 'M','U','S','I','C','[' ; "MUSIC:" +.byte 6,14, $00,$00,$00,$00, 'D','Y','A' ; "DYA" + +.byte 0,8, $72,$6F,$F6,$27, 'M','A','G','I','C','[' ; "MAGIC:" +.byte 6,8, $72,$6F,$F6,$27, 'Q','K','U','M','B','A' ; "QKUMBA" +.byte '@','@' ; time pad +.byte 0,8, $00,$00,$00,$00, 'M','A','G','I','C','[' ; "MAGIC:" +.byte 6,8, $00,$00,$00,$00, 'Q','K','U','M','B','A' ; "QKUMBA" + +.byte 0,8, $C4,$CF,$FC,$4C, 'T','H','A','N','K','S' ; "THANKS" +.byte 6,4, $C4,$CF,$FC,$4C, 'F','R','O','G','Y','S','U','E' ; "FROGYSUE" +.byte '@' ; time pad +.byte 0,8, $00,$00,$00,$00, 'T','H','A','N','K','S' ; "THANKS" +.byte 6,4, $00,$00,$00,$00, 'F','R','O','G','Y','S','U','E' ; "FROGYSUE" + + +.byte 0,10, $75,$5F,$F5,$57, 'A','@','V','M','W' ; "A VMW" +.byte 6,0, $75,$5F,$F5,$57, 'P','R','O','D','U','C','T','I','O','N' + ; "PRODUCTION" +.byte 255 ; done +credits_text_end: + +.assert >credits_text = >(credits_text_end-1), error, "credits_text crosses page" diff --git a/demosplash/credits_bg.png b/demosplash/credits_bg.png new file mode 100644 index 00000000..fac63d21 Binary files /dev/null and b/demosplash/credits_bg.png differ diff --git a/demosplash/demosplash.s b/demosplash/demosplash.s index b2f18d49..613cf116 100644 --- a/demosplash/demosplash.s +++ b/demosplash/demosplash.s @@ -18,6 +18,51 @@ demosplash2019: jsr clear_ay_both jsr pt3_init_song + + ;==================================== + ; generate 4 patterns worth of music + ; at address $9000 + + lda #0 + sta FRAME_PAGE + + lda #0 + sta FRAME_OFFSET + +frame_decode_loop: + jsr pt3_make_frame + + jsr pt3_write_frame + + inc FRAME_OFFSET + bne frame_decode_loop + + inc r0_wrsmc+2 ; 6 + inc r1_wrsmc+2 ; 6 + inc r2_wrsmc+2 ; 6 + inc r4_wrsmc+2 ; 6 + inc r13_wrsmc+2 ; 6 + inc r6_wrsmc+2 ; 6 + inc r7_wrsmc+2 ; 6 + inc r8_wrsmc+2 ; 6 + inc r9_wrsmc+2 ; 6 + inc r11_wrsmc+2 ; 6 + inc r12_wrsmc+2 ; 6 + + + inc FRAME_PAGE + lda FRAME_PAGE + + + + cmp #3 + bne frame_decode_loop + + lda #0 + sta FRAME_OFFSET + + + ; lda #1 ; sta LOOP @@ -45,41 +90,68 @@ demosplash2019: ; apple II intro ;============================ + nop + nop + nop + + ; jsr appleII_intro - ;=========================== - ; show some pictures - ;============================ - - - ; start music - -; cli ; enable interrupts ;=========================== ; missing scene ;=========================== -; jsr missing_intro +; nop +; nop +; nop + + jsr missing_intro + + + ;======================== + ; start irq music + ;======================== + +; cli ; enable interrupts + + ;=========================== + ; book scene + ;============================ + + +; jsr open_book + ;=========================== ; starbase scene ;=========================== -; jsr starbase + jsr starbase ;=========================== ; escape scene ;=========================== - jsr escape + nop + nop + nop +; jsr escape ;=========================== ; book scene ;=========================== -; jsr book + nop + nop + nop +; jsr end_book + ;=========================== + ; credits + ;=========================== + + jsr credits ; wait wait wait @@ -101,18 +173,24 @@ wait_until_keypressed: ; Apple II intro .include "appleII_intro.s" -.include "appleII_40_96.inc" + +.align $100 .include "vapor_lock.s" .include "delay_a.s" .include "gr_unrle.s" -.include "gr_offsets.s" .include "gr_copy.s" +.include "gr_offsets.s" ;.include "text_print.s" .include "gr_pageflip.s" .align $100 .include "gr_fast_clear.s" ;.include "gr_overlay.s" +.align $100 +.include "movement_table.s" +.include "font.s" +.align $100 +.include "offsets_table.s" ; missing .include "missing.s" @@ -121,16 +199,30 @@ wait_until_keypressed: .include "starbase.s" ; escape -.include "escape.s" +;.include "escape.s" ; book .include "book.s" +; credits +.include "credits.s" + ; Music player .include "pt3_lib_core.s" .include "pt3_lib_init.s" .include "pt3_lib_mockingboard.s" .include "interrupt_handler.s" +.include "pt3_lib_play_frame.s" +.include "pt3_lib_write_frame.s" + +.include "create_update_type1.s" +.include "create_update_type2.s" + +; Pictures (no need to align) +.include "appleII_40_96.inc" +.include "earth.inc" +.include "book_40_48d.inc" +.include "credits_bg.inc" PT3_LOC = song @@ -138,4 +230,4 @@ PT3_LOC = song ; must be page aligned .align 256 song: -.incbin "dya_space_demo.pt3" +.incbin "dya_space_demo2.pt3" diff --git a/demosplash/musictest.s b/demosplash/demosplash.s.old similarity index 65% rename from demosplash/musictest.s rename to demosplash/demosplash.s.old index 253ff7b4..7304d267 100644 --- a/demosplash/musictest.s +++ b/demosplash/demosplash.s.old @@ -18,51 +18,6 @@ demosplash2019: jsr clear_ay_both jsr pt3_init_song - - ;==================================== - ; generate 4 patterns worth of music - ; at address $9000 - - lda #0 - sta FRAME_PAGE - - lda #0 - sta FRAME_OFFSET - -frame_decode_loop: - jsr pt3_make_frame - - jsr pt3_write_frame - - inc FRAME_OFFSET - bne frame_decode_loop - - inc r0_wrsmc+2 ; 6 - inc r1_wrsmc+2 ; 6 - inc r2_wrsmc+2 ; 6 - inc r4_wrsmc+2 ; 6 - inc r13_wrsmc+2 ; 6 - inc r6_wrsmc+2 ; 6 - inc r7_wrsmc+2 ; 6 - inc r8_wrsmc+2 ; 6 - inc r9_wrsmc+2 ; 6 - inc r11_wrsmc+2 ; 6 - inc r12_wrsmc+2 ; 6 - - - inc FRAME_PAGE - lda FRAME_PAGE - - - - cmp #3 - bne frame_decode_loop - - lda #0 - sta FRAME_OFFSET - - - ; lda #1 ; sta LOOP @@ -90,20 +45,8 @@ frame_decode_loop: ; apple II intro ;============================ - nop - nop - nop - - ; jsr appleII_intro - - ;=========================== - ; missing scene - ;=========================== - - jsr missing_intro - ;=========================== ; show some pictures ;============================ @@ -113,7 +56,11 @@ frame_decode_loop: ; cli ; enable interrupts + ;=========================== + ; missing scene + ;=========================== +; jsr missing_intro ;=========================== ; starbase scene @@ -125,7 +72,7 @@ frame_decode_loop: ; escape scene ;=========================== -; jsr escape + jsr escape ;=========================== ; book scene @@ -155,46 +102,43 @@ wait_until_keypressed: ; Apple II intro .include "appleII_intro.s" .include "appleII_40_96.inc" - -.align $100 .include "vapor_lock.s" .include "delay_a.s" .include "gr_unrle.s" -.include "gr_copy.s" .include "gr_offsets.s" +.include "gr_copy.s" ;.include "text_print.s" -;.include "gr_pageflip.s" +.include "gr_pageflip.s" .align $100 .include "gr_fast_clear.s" ;.include "gr_overlay.s" -.align $100 -.include "font.s" - ; missing .include "missing.s" ; Starbase -;.include "starbase.s" +.include "starbase.s" ; escape -;.include "escape.s" +.include "escape.s" ; book -;.include "book.s" +.include "book.s" ; Music player .include "pt3_lib_core.s" .include "pt3_lib_init.s" .include "pt3_lib_mockingboard.s" .include "interrupt_handler.s" -.include "pt3_lib_play_frame.s" -.include "pt3_lib_write_frame.s" + +; Images (no need to align) +.include "credits_bg.inc" + PT3_LOC = song ; must be page aligned .align 256 song: -.incbin "dya_space_demo2.pt3" +.incbin "dya_space_demo.pt3" diff --git a/demosplash/escape.s b/demosplash/escape.s index 1777e522..981108a7 100644 --- a/demosplash/escape.s +++ b/demosplash/escape.s @@ -5,11 +5,6 @@ ; by deater (Vince Weaver) -; TODO: -; end level after a certain number of points -; track score properly - - escape: ;=================== @@ -59,6 +54,13 @@ escape: sta ASTEROID_SPEED sta XPOS + ;================== + ; setup graphics + + jsr create_update_type2 +; jsr setup_rasterbars + + ;============================= ; Load graphic page0 @@ -107,8 +109,7 @@ escape: jsr move_and_print - -; ; GR part + ; GR part bit PAGE0 ;============================== @@ -165,13 +166,15 @@ loopRR: dex ; 2 sprites_display_loop: -.include "sprites_screen.s" + jsr $9000 +;.include "sprites_screen.s" ;====================================================== ; We have 4550 cycles in the vblank, use them wisely ;====================================================== ; 4550 -- VBLANK + ; -12 -- call to graphics code ;-1835 -- draw ship (131*14)+1 ; -829 -- erase ship (100*8)+(14*2)+1 ; -167 -- erase fire @@ -883,7 +886,7 @@ done_sparkle: -pad_time: +pad_time2: ;============================ @@ -1150,9 +1153,9 @@ keypress_done: sprite_line: sty TEMPY ; 3 - lda y_lookup_l,Y ; 4 + lda y_lookup2_l,Y ; 4 sta OUTL ; 3 - lda y_lookup_h,Y ; 4 + lda y_lookup2_h,Y ; 4 sta OUTH ; 3 ;======= ; 17 @@ -1224,9 +1227,9 @@ sprite_line: erase_line: sty TEMPY ; 3 - lda y_lookup_l,Y ; 4 + lda y_lookup2_l,Y ; 4 sta OUTL ; 3 - lda y_lookup_h,Y ; 4 + lda y_lookup2_h,Y ; 4 sta OUTH ; 3 ;======= ; 17 @@ -1274,9 +1277,9 @@ erase_line: fire_line: sty TEMPY ; 3 - lda y_lookup_l,Y ; 4 + lda y_lookup2_l,Y ; 4 sta OUTL ; 3 - lda y_lookup_h,Y ; 4 + lda y_lookup2_h,Y ; 4 sta OUTH ; 3 ;======= ; 17 @@ -1365,7 +1368,7 @@ erase_fire: .align $100 random_values: .incbin "random.data" -.include "sprites_table.s" +.include "offsets_table2.s" .include "text_print.s" .align $100 .include "gr_putsprite_fast.s" @@ -1373,8 +1376,6 @@ random_values: ;.assert >gr_offsets = >gr_offsets_done, error, "gr_offsets crosses page" .assert >escape_wait_loop = >(escape_wait_loop_end-1), error, "escape_wait_loop crosses page" -.include "earth.inc" - .align $100 ship_sprite: diff --git a/demosplash/font.s b/demosplash/font.s index 5ebc5a17..4824b7c2 100644 --- a/demosplash/font.s +++ b/demosplash/font.s @@ -165,27 +165,27 @@ font_high: ;H1L ** ** ** ** ** ** ** ** ** ** ;L1L ** ** ** ** ** ** ** ** ** ** ** ** ** -.byte $00,$00,$00,$00,$00,$00,$00,$00 ; G -.byte $00,$00,$00,$00,$00,$00,$00,$00 ; H -.byte $00,$00,$00,$00,$00,$00,$00,$00 ; I -.byte $00,$00,$00,$00,$00,$00,$00,$00 ; J -.byte $00,$00,$00,$00,$00,$00,$00,$00 ; K -.byte $00,$00,$00,$00,$00,$00,$00,$00 ; L +.byte $f0,$0f,$0f,$ff,$00,$ff,$00,$00 ; G +.byte $ff,$00,$ff,$ff,$0f,$ff,$00,$00 ; H +.byte $0f,$ff,$0f,$00,$ff,$00,$00,$00 ; I +.byte $00,$00,$ff,$f0,$00,$ff,$00,$00 ; J +.byte $ff,$00,$ff,$ff,$0f,$f0,$00,$00 ; K +.byte $ff,$00,$00,$ff,$00,$00,$00,$00 ; L -;H0H ** ** ** ** ** ** ** ** ** ** -;L0H ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** +;H0H ** ** ** ** ** ** ** ** ** +;L0H ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ;H0L ** ** ** ** ** ** ** ** ** ** ** ** ** ;L0L ** ** ** ** ** ** ** ** ** ** ** ** ** ** ;H1H ** ** ** ** ** ** ** ** ** ** ** ** ** ;L1H ** ** ** ** ** ** ** ** ** ** ** -;H1L ** ** ** ** ** ** ** ** ** ** ** ** ** -;L1L ** ** ** ** ** ** ** ** ** ** +;H1L ** ** ** ** ** ** ** ** ** ** ** +;L1L ** ** ** ** ** ** ** ** ** -.byte $00,$00,$00,$00,$00,$00,$00,$00 ; M -.byte $00,$00,$00,$00,$00,$00,$00,$00 ; N +.byte $ff,$f0,$f0,$ff,$0f,$ff,$00,$00 ; M +.byte $ff,$0f,$f0,$ff,$00,$ff,$00,$00 ; N .byte $f0,$0f,$f0,$ff,$f0,$ff,$00,$00 ; O -.byte $00,$00,$00,$00,$00,$00,$00,$00 ; P -.byte $00,$00,$00,$00,$00,$00,$00,$00 ; Q +.byte $ff,$0f,$f0,$ff,$0f,$00,$00,$00 ; P +.byte $f0,$0f,$f0,$0f,$f0,$0f,$00,$00 ; Q .byte $ff,$0f,$f0,$ff,$0f,$f0,$00,$00 ; R ;H0H ** ** ** ** ** ** ** ** ** ** ** ** ** @@ -197,24 +197,26 @@ font_high: ;H1L ** ** ** ** ** ** ** ** ** ** ** ;L1L ** ** ** ** ** ** ** ** ** -.byte $00,$00,$00,$00,$00,$00,$00,$00 ; S +.byte $f0,$0f,$0f,$00,$0f,$ff,$00,$00 ; S .byte $0f,$ff,$0f,$00,$ff,$00,$00,$00 ; T -.byte $00,$00,$00,$00,$00,$00,$00,$00 ; U +.byte $ff,$00,$ff,$ff,$f0,$ff,$00,$00 ; U .byte $ff,$00,$ff,$0f,$f0,$0f,$00,$00 ; V -.byte $00,$00,$00,$00,$00,$00,$00,$00 ; W -.byte $00,$00,$00,$00,$00,$00,$00,$00 ; X +.byte $ff,$00,$ff,$ff,$f0,$ff,$00,$00 ; W +.byte $ff,$00,$ff,$f0,$0f,$f0,$00,$00 ; X + ;H0H ** ** ** ** ** -;L0H ** ** ** -;H0L ** ** ** +;L0H ** ** ** ** +;H0L ** ** ** ** ;L0L ** ** ** ** ;H1H ** ** -;L1H ** ** -;H1L ** ** +;L1H ** ** ** +;H1L ** ** ** ;L1L ** ** ** ** -.byte $00,$00,$00,$00,$00,$00,$00,$00 ; Y -.byte $00,$00,$00,$00,$00,$00,$00,$00 ; Z +.byte $ff,$00,$ff,$00,$ff,$00,$00,$00 ; Y +.byte $0f,$0f,$ff,$f0,$00,$00,$00,$00 ; Z +.byte $00,$f0,$00,$00,$f0,$00,$00,$00 ; : ([) @@ -229,26 +231,27 @@ font_low: ; 2 pages later .byte $ff,$ff,$0f,$ff,$f0,$f0,$00,$00 ; E .byte $ff,$ff,$0f,$ff,$00,$00,$00,$00 ; F -.byte $00,$00,$00,$00,$00,$00,$00,$00 ; G -.byte $00,$00,$00,$00,$00,$00,$00,$00 ; H -.byte $00,$00,$00,$00,$00,$00,$00,$00 ; I -.byte $00,$00,$00,$00,$00,$00,$00,$00 ; J -.byte $00,$00,$00,$00,$00,$00,$00,$00 ; K -.byte $00,$00,$00,$00,$00,$00,$00,$00 ; L +.byte $ff,$00,$f0,$0f,$f0,$ff,$00,$00 ; G +.byte $ff,$f0,$ff,$ff,$00,$ff,$00,$00 ; H +.byte $00,$ff,$00,$f0,$ff,$f0,$00,$00 ; I +.byte $00,$00,$ff,$00,$f0,$0f,$00,$00 ; J +.byte $ff,$f0,$0f,$ff,$00,$ff,$00,$00 ; K +.byte $ff,$00,$00,$ff,$f0,$f0,$00,$00 ; L -.byte $00,$00,$00,$00,$00,$00,$00,$00 ; M -.byte $00,$00,$00,$00,$00,$00,$00,$00 ; N +.byte $ff,$ff,$f0,$ff,$00,$ff,$00,$00 ; M +.byte $ff,$0f,$ff,$ff,$00,$ff,$00,$00 ; N .byte $ff,$0f,$ff,$0f,$f0,$0f,$00,$00 ; O -.byte $00,$00,$00,$00,$00,$00,$00,$00 ; P -.byte $00,$00,$00,$00,$00,$00,$00,$00 ; Q +.byte $ff,$f0,$ff,$ff,$00,$00,$00,$00 ; P +.byte $ff,$0f,$ff,$0f,$00,$ff,$00,$00 ; Q .byte $ff,$ff,$0f,$ff,$00,$ff,$00,$00 ; R -.byte $00,$00,$00,$00,$00,$00,$00,$00 ; S +.byte $ff,$f0,$00,$f0,$f0,$0f,$00,$00 ; S .byte $00,$ff,$00,$00,$ff,$00,$00,$00 ; T -.byte $00,$00,$00,$00,$00,$00,$00,$00 ; U +.byte $ff,$00,$ff,$0f,$f0,$0f,$00,$00 ; U .byte $ff,$00,$ff,$0f,$ff,$0f,$00,$00 ; V -.byte $00,$00,$00,$00,$00,$00,$00,$00 ; W -.byte $00,$00,$00,$00,$00,$00,$00,$00 ; X +.byte $ff,$00,$ff,$ff,$0f,$ff,$00,$00 ; W +.byte $0f,$f0,$0f,$ff,$00,$ff,$00,$00 ; X -.byte $00,$00,$00,$00,$00,$00,$00,$00 ; Y -.byte $00,$00,$00,$00,$00,$00,$00,$00 ; Z +.byte $ff,$f0,$ff,$00,$ff,$00,$00,$00 ; Y +.byte $00,$f0,$0f,$ff,$f0,$f0,$00,$00 ; Z +.byte $00,$0f,$00,$00,$0f,$00,$00,$00 ; : ([) diff --git a/demosplash/generator/Makefile b/demosplash/generator/Makefile new file mode 100644 index 00000000..2daff0c4 --- /dev/null +++ b/demosplash/generator/Makefile @@ -0,0 +1,26 @@ +CC = gcc +CFLAGS = -Wall -O2 +LFLAGS = + +all: creator offsets offsets2 + +creator: creator.o + $(CC) -o creator creator.o $(LFLAGS) + +creator.o: creator.c + $(CC) $(CFLAGS) -c creator.c + +offsets: offsets.o + $(CC) -o offsets offsets.o $(LFLAGS) + +offsets.o: offsets.c + $(CC) $(CFLAGS) -c offsets.c + +offsets2: offsets2.o + $(CC) -o offsets2 offsets2.o $(LFLAGS) + +offsets2.o: offsets2.c + $(CC) $(CFLAGS) -c offsets2.c + +clean: + rm -f *.o creator offsets offsets2 diff --git a/demosplash/generator/creator.c b/demosplash/generator/creator.c new file mode 100644 index 00000000..e5c9a2a5 --- /dev/null +++ b/demosplash/generator/creator.c @@ -0,0 +1,18 @@ +#include + +int main(int argc, char **argv) { + + int i,j,page=0; + + for(i=0;i<192;i++) { + printf("\n; Line %d\n",i); + printf("\tbit\tPAGE%d\t;4\n",page); + printf("\tlda\t#$0b\t; 2\n"); + for(j=0;j<14;j++) { + printf("\tsta\t$200\t; 4\n"); + } + printf("\tlda\tTEMP\t; 3\n"); + page=!page; + } + return 0; +} diff --git a/demosplash/generator/offsets.c b/demosplash/generator/offsets.c new file mode 100644 index 00000000..5bbc97fe --- /dev/null +++ b/demosplash/generator/offsets.c @@ -0,0 +1,32 @@ +#include + +#define NUMBER 128 + +//#define START 32 +//#define START 40 +#define START 48 + +int main(int argc, char **argv) { + + int i; + + printf("y_lookup_h:\n"); + + for(i=0;i(smc%3d+1)",i+START); + printf(">($%4X)",0x9000+(i+START)*49+4); + if (i%8!=7) printf(","); + else printf("\n"); + } + printf("y_lookup_l:\n"); + for(i=0;i + +#define NUMBER 128 + +#define START 32 +//#define START 40 +//#define START 48 + +int main(int argc, char **argv) { + + int i; + + printf("y_lookup2_h:\n"); + + for(i=0;i(smc%3d+1)",i+START); + printf(">($%4X)",0x9000+(i+START)*47+4); + if (i%8!=7) printf(","); + else printf("\n"); + } + printf("y_lookup2_l:\n"); + for(i=0;i> starbase.inc + $(PNG2RLE) asm jail.png jail_rle > starbase.inc $(PNG2RLE) asm hallway.png hallway_rle >> starbase.inc $(PNG2RLE) asm window.png window_rle >> starbase.inc $(PNG2RLE) asm ship.png ship_rle >> starbase.inc diff --git a/demosplash/graphics/starbase/jail.png b/demosplash/graphics/starbase/jail.png index 4c66796a..6a4d8688 100644 Binary files a/demosplash/graphics/starbase/jail.png and b/demosplash/graphics/starbase/jail.png differ diff --git a/demosplash/graphics/starbase/ootw_running-20190309-163912.piskel b/demosplash/graphics/starbase/ootw_running-20190309-163912.piskel new file mode 100644 index 00000000..ecd5f2f4 --- /dev/null +++ b/demosplash/graphics/starbase/ootw_running-20190309-163912.piskel @@ -0,0 +1 @@ +{"modelVersion":2,"piskel":{"name":"ootw_running","description":"","fps":5,"height":48,"width":80,"layers":["{\"name\":\"Layer 1\",\"opacity\":1,\"frameCount\":9,\"chunks\":[{\"layout\":[[0],[1],[2],[3],[4],[5],[6],[7],[8]],\"base64PNG\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAtAAAAAwCAYAAAA4jE03AAAGOUlEQVR4nO3dsZHbOABAUc64BceuZGu4GhQ7dD0KPOM6LtoCTj24Boc3vGSp2QMFASBBEqCeZ37gXVICnyAtqKXl4fLX3+Pnxu9v4/j9bfz6z79Vu72P4+19rH67R98vP378+B19HPz48ePHb9/7HbYGnA4gbG/IreLHj1+/8ePHr9/48Tuy4fLjy3j58WXzM5Cp6c9RB1z7AeTHjx8/fvz48eP3Wn6zBfS9j6/XHmBrZyJrx8GPHz9+/Pjx48fvtfzul3BMZx5LAXMHMm139JlIrfjx49dv/Pjx6zd+/I5sCMGWXhNTupJv5Qxk7fj48ePXXvz48ePHj9+WftUW0KV33Dpgbvz48es3fvz49Rs/fkc2+xSOtYC5cL0BxsbLjx+/9uPHjx8/fvxq+u2+gO7l2pdhGMZhGJKg/Pjxay9+/Pjx48dvS7/kAjp8a3/twMKVfGtnIr+/Xcbf3y53wBQkP378+PHjx4/f0fHb1y95DfTazwlMvWW/1ZnO0kK4FCQ/fvz48ePHjx+/1/LbfAGdKryf8Pb3PkNpbQLy48ePHz9+/Pjxa8tvfgnHBBYcULjdVoBTse1TvwKoBV48Afnx48ePHz9+/Pi9hF/8GujggFoBXFopdBQs+Do/fvz48ePHjx+/1/JL/yPC8AB3Blx6RnG9Xsfr9VoMPJs4qfjx48ePHz9+/Pi9lF/8Eo7Y32sDRgYWfn8pYOk1O7EHNHsC8uPHjx8/fvz48Tu1nwW0CciPHz9+/Pjx48dv1QI6VgCZe01J6gBqA07bT4Clb+XPIGvFjx8/fvz48ePH7xR+ixfQn3s0gAk0PIAQOoQLwUsBQ7jFgOGDWuDBjx8/fvz48ePH77x+yxbQwY3nHNBsgOHtBgONAeae+YRv4ZdejD4bVwi5ZgLy48ePHz9+/Pjx69Yv/R+pZLYXYO6Bp85AYqDRcaUmID9+/Pjx48ePH7+X8DvdAnrtW/ivPgH58ePHjx8/fvz4PfdLfwpHrMgN5h5IbcDoAT/pIVzmcUad+PHjx48fP378+J3aL/0/Eaa+H7mDGGBY7P7u3//4+nQty9TsdoLxhNs/Anx4/7FyJyA/fvz48ePHjx+/U/utX0AnYGNgiwF/3sbx5y0N+LFddcC1Pvz48ePHjx8/fvy69lu+gM4sesaRgJ+BbACYBVcKy48fP378+PHjx+/UfrstoJPbpgAjcDHAcL/eJyA/fvz48ePHjx+/NvzyPwd6bWsHOgzjMAy77bd6AvLjx48fP378+PE7pV/xAjp2BlCjaVCPvpf71n3YszOQKmPmx48fP378+PHj16TfI8caY04uoGMHdx9I6ZnIwu4AsW0WTMBH+5c+QPz48avnF77gPX0HgZ/5x4/fCf2eLfz45ftNPz8eOlbwuy+gU2cBsx9kO8Ht9gReCnlSv+IFDL+HL3z8zL8j/bz+mX/mX39+oSO/ZX7ZC+iFfuUL6J3h1j6Bi18AI5DVJmDjfuFE41fnCcyPHz9+/Pgt8cteAPLb1W8IoWIr76MBh1+Xcfh1KQec9it9AocTK3Oi8ePHjx8/fvz48Tu3X3QBHe4Qnomk4Kdu7+N4ex/jD1DkfsL9JojUA10CuGbcyYnXud/XP2/j1z9v/Pjx69AvfP2bmv7w47elX+jm+ctvT7/Qcfp5Utuv+HOgo7+SWXp2kdo/XAgvPAOZAP8HXjKOSsfVi1/OAoYfv639ZvvzW+Q39XkByC/uF3Pkl+f37MTD8zffL/Y85pfn9/T1sILfEHvhiLX55xLG7vfZQqRgv9QZy+bH0anf0v1f1S9rAciP305+rdSLX6uOvfo9XEDzy96+lXnIL7ifswKu3W+z4+jMrzXH1v1iv1ryA6Rs/sROdI927MWvlR+4vfq16sjv3H7hn9YcW/dLbV/bMWsBPaF9bm/Q2MSqtf2mD36Hfi05nsHvCLce/VpcOPfod/Rv2nr1a9GR3+v5teTYk19su60cV78DPQPMveblRePHj1+/8ePHr9/48avqUXzR9AQW+bv48Ws3fvz49Rs/fvzaaXj09rwkSZKkaIcPQJIkSeqpwwcgSZIk9dThA5AkSZJ66vABSJIkST11+AAkSZKknjp8AJIkSVJPHT4ASZIkqZv+AyhEkcakR4mMAAAAAElFTkSuQmCC\"}]}"],"hiddenFrames":[]}} \ No newline at end of file diff --git a/demosplash/graphics/starbase/starbase.inc b/demosplash/graphics/starbase/starbase.inc index 295fc69d..7fc3c575 100644 --- a/demosplash/graphics/starbase/starbase.inc +++ b/demosplash/graphics/starbase/starbase.inc @@ -1,7 +1,36 @@ jail_rle: .byte $28 ; ysize=48 - .byte $A0,$78,$55, $A0,$FF,$00, $A0,$69,$00, $AB,$50, $A0,$1D,$00, $AC,$55, $50 - .byte $A0,$1B,$00, $AE,$55, $50, $A0,$19,$00, $A0,$10,$55, $50, $A0,$17,$00 - .byte $A0,$12,$55, $A0,$16,$50, $A0,$FF,$55, $A0,$19,$55 + .byte $A0,$12,$77, $57,$57, $A0,$14,$55, $AE,$77, $57,$57, $A0,$18,$55, $AA,$77 + .byte $57,$57, $A7,$55, $00, $A0,$01,$A0, $50, $A0,$01,$A0, $A3,$55 + .byte $00, $A0,$01,$A0, $50, $A0,$01,$A0, $A3,$55, $00, $A0,$01,$A0 + .byte $50, $A0,$01,$A0, $A0,$16,$55, $00, $A0,$01,$AA, $55, $A0,$01,$AA + .byte $55, $76, $55, $00, $A0,$01,$AA, $55, $A0,$01,$AA + .byte $55, $76, $55, $00, $A0,$01,$AA, $55, $A0,$01,$AA + .byte $55, $76, $A9,$55, $95, $99, $A9,$55, $00 + .byte $A0,$01,$AA, $55, $A0,$01,$AA, $55, $77, $55, $00 + .byte $A0,$01,$AA, $55, $A0,$01,$AA, $55, $77, $55, $00 + .byte $A0,$01,$AA, $55, $A0,$01,$AA, $55, $77, $AA,$55, $99 + .byte $95, $A8,$55, $00, $A0,$01,$AA, $55, $A0,$01,$AA, $55 + .byte $77, $55, $00, $A0,$01,$AA, $55, $A0,$01,$AA, $55 + .byte $77, $55, $00, $A0,$01,$AA, $55, $A0,$01,$AA, $55 + .byte $77, $AA,$55, $59, $A9,$55, $00, $A0,$01,$AA, $55 + .byte $A0,$01,$AA, $55, $77, $55, $00, $A0,$01,$AA, $55 + .byte $A0,$01,$AA, $55, $77, $55, $00, $A0,$01,$AA, $55 + .byte $A0,$01,$AA, $55, $77, $A0,$14,$55, $00, $A0,$01,$AA, $55 + .byte $A0,$01,$AA, $55, $77, $55, $00, $A0,$01,$AA, $55 + .byte $A0,$01,$AA, $55, $77, $55, $00, $A0,$01,$AA, $55 + .byte $A0,$01,$AA, $55, $77, $A0,$12,$55, $05,$05, $00, $0A + .byte $05, $0A, $05, $07, $05, $00, $0A + .byte $05, $0A, $05, $07, $05, $00, $0A + .byte $05, $0A, $05, $07, $05, $AF,$55, $45 + .byte $A0,$18,$44, $AD,$55, $45, $AE,$44, $94, $44, $94 + .byte $44,$44, $94, $A6,$44, $AB,$55, $45, $A0,$10,$44, $49 + .byte $94, $99, $44,$44, $99,$99, $A5,$44, $AA,$05, $04 + .byte $A0,$11,$44, $49, $44, $49, $44,$44, $49, $A6,$44 + .byte $71,$71, $A9,$77, $70, $04, $A0,$1B,$44, $AD,$77, $70 + .byte $04, $A0,$19,$44, $AF,$77, $70, $04, $A0,$17,$44, $A0,$11,$77 + .byte $70, $04, $A0,$15,$44, $A0,$13,$77, $70, $04, $A0,$13,$44 + .byte $A0,$15,$77, $70, $A0,$12,$04, $A0,$78,$77, $17,$17, $A0,$26,$77, $A3,$11 + .byte $17, $A0,$24,$77 .byte $A1 hallway_rle: .byte $28 ; ysize=48 .byte $A3,$55, $A0,$11,$AA, $AD,$55, $A7,$AA, $55,$55, $A0,$01,$A5, $A0,$11,$AA diff --git a/demosplash/hello.bas b/demosplash/hello.bas index 758b0f52..bb7f10ce 100644 --- a/demosplash/hello.bas +++ b/demosplash/hello.bas @@ -1,3 +1,4 @@ 5 HOME - 200 PRINT CHR$ (4)"CATALOG" +' 200 PRINT CHR$ (4)"CATALOG" + 200 PRINT CHR$ (4)"BRUN LOADER" diff --git a/demosplash/k_40_48d.inc b/demosplash/k_40_48d.inc index bd71525f..88ea1f6c 100644 --- a/demosplash/k_40_48d.inc +++ b/demosplash/k_40_48d.inc @@ -4,75 +4,109 @@ k_low: .byte $28 ; ysize=48 .byte $A0,$18,$00, $10, $00,$00, $50, $10, $A0,$22,$00, $11 .byte $10, $00, $55, $A5,$11, $10, $A0,$1D,$00, $10 .byte $31,$31, $10, $55, $A6,$11, $A0,$1D,$00, $11, $31 - .byte $33, $11, $15, $A6,$11, $A5,$00, $01, $A0,$16,$00 - .byte $11, $33, $11, $13, $11, $01,$01, $11,$11 - .byte $01, $10, $01, $11, $00,$00, $55, $A0,$18,$00 - .byte $11, $33, $11, $44, $04, $54,$54, $41 - .byte $54,$54, $14, $41, $11, $40, $04, $55 - .byte $A0,$17,$00, $11,$11, $13, $31, $44, $04, $5F - .byte $50, $44, $55, $5F, $10, $44, $14 - .byte $50, $55, $05, $A0,$17,$00, $11, $13, $03 + .byte $33, $11, $15, $A6,$11, $A5,$00, $01, $00 + .byte $62, $60, $62, $00, $62, $A3,$00, $62 + .byte $60, $00, $62, $00, $62, $00,$00, $62 + .byte $A4,$00, $11, $33, $11, $13, $11, $01,$01 + .byte $11,$11, $01, $10, $01, $11, $00,$00, $55 + .byte $A3,$00, $76, $00, $76, $00, $06, $70 + .byte $76, $00, $76, $70, $00, $76, $00 + .byte $76, $00,$00, $76, $A4,$00, $11, $33, $11 + .byte $44, $04, $54,$54, $41, $54,$54, $14, $41 + .byte $11, $40, $04, $55, $A0,$17,$00, $11,$11, $13 + .byte $31, $44, $04, $5F, $50, $44, $55 + .byte $5F, $10, $44, $14, $50, $55, $05 + .byte $A3,$00, $62, $60, $00,$00, $62, $60, $02 + .byte $00, $62, $00, $62, $00, $62, $A3,$00 + .byte $02, $60, $02, $00, $11, $13, $03 .byte $10, $14, $40, $45,$45, $14, $45,$45, $41 - .byte $14, $11, $15, $05, $00, $01, $A0,$16,$00 - .byte $10,$10, $00, $01, $11, $55,$55, $15, $11 - .byte $51, $55, $A4,$11, $A0,$19,$00, $01,$01, $A3,$00, $05 - .byte $55, $A3,$51, $55, $51, $A3,$11, $A0,$19,$00, $11,$11 - .byte $A4,$00, $55, $A4,$71, $55, $A3,$11, $A0,$19,$00, $11 - .byte $A5,$00, $05, $55, $17,$17, $A5,$11, $A0,$19,$00, $11,$11 - .byte $00,$00, $10, $00,$00, $55,$55, $A3,$11, $51,$51, $15 - .byte $A0,$19,$00, $01, $10, $00,$00, $11, $00,$00, $05 - .byte $55, $11, $51, $55, $15, $A3,$11, $A0,$18,$00 - .byte $11, $31, $33, $10, $A4,$00, $05, $A3,$55 - .byte $A3,$11, $01, $A0,$18,$00, $10, $01, $00, $01 - .byte $A4,$00, $80, $A5,$55, $A0,$1A,$00, $11, $01, $30,$30 - .byte $01, $A3,$00, $88, $A3,$55, $05, $A0,$1B,$00, $01 - .byte $11, $01,$01, $10, $00,$00, $55, $58, $85,$85 - .byte $A0,$1D,$00, $11,$11, $00,$00, $01, $00,$00, $55, $00 - .byte $50, $05, $A0,$1D,$00, $01,$01, $A4,$00, $50, $A3,$55 - .byte $A0,$1E,$00, $01,$01, $A4,$00, $55,$55, $05, $AB,$00 + .byte $14, $11, $15, $05, $00, $01, $00,$00 + .byte $76, $A3,$00, $76, $00, $76, $00, $06 + .byte $70, $06, $00, $06, $70, $76, $00,$00 + .byte $76, $00,$00, $10,$10, $00, $01, $11, $55,$55 + .byte $15, $11, $51, $55, $A4,$11, $A0,$1A,$00, $01 + .byte $A3,$00, $05, $55, $A3,$51, $55, $51, $A3,$11 + .byte $A6,$00, $62, $00,$00, $02, $60, $A0,$14,$00, $55 + .byte $A4,$71, $55, $A3,$11, $A5,$00, $70, $76, $70 + .byte $00, $70, $06, $A0,$14,$00, $05, $55, $17,$17 + .byte $A5,$11, $A0,$1D,$00, $10, $00,$00, $55,$55, $A3,$11, $51,$51 + .byte $15, $A5,$00, $62, $02, $62, $00, $62 + .byte $00, $02, $60, $00, $02, $60, $00 + .byte $62, $00, $62, $00, $62, $00, $62 + .byte $A5,$00, $11, $00,$00, $05, $55, $11, $51 + .byte $55, $15, $A3,$11, $A4,$00, $76, $00, $76 + .byte $00, $76, $00, $70, $06, $00, $70 + .byte $06, $00, $76, $00, $76, $00, $76 + .byte $00, $06, $70, $76, $00, $33, $10 + .byte $A4,$00, $05, $A3,$55, $A3,$11, $01, $A0,$1B,$00, $01 + .byte $A4,$00, $80, $A5,$55, $A0,$1C,$00, $30,$30, $01, $A3,$00 + .byte $88, $A3,$55, $05, $A0,$1C,$00, $11, $01,$01, $10 + .byte $00,$00, $55, $58, $85,$85, $A0,$1D,$00, $11,$11, $00,$00 + .byte $01, $00,$00, $55, $00, $50, $05, $A0,$1D,$00 + .byte $01,$01, $A4,$00, $50, $A3,$55, $A0,$1E,$00, $01,$01, $A4,$00 + .byte $55,$55, $05, $AB,$00 .byte $A1 k_high: .byte $28 ; ysize=48 .byte $A0,$1A,$00, $C0, $A7,$CC, $22,$22, $CC,$CC, $C2, $2C - .byte $A0,$19,$00, $20, $CC,$CC, $5C, $5A, $0A,$0A, $5A - .byte $5C, $A4,$CC, $C2, $2C, $A0,$19,$00, $C2, $0A - .byte $00, $5A, $0A, $A3,$00, $0A, $5A, $5C - .byte $A3,$CC, $22, $A0,$18,$00, $2C, $5C, $00, $90 - .byte $DA, $50,$50, $A5,$00, $5A, $CC, $C4, $CC - .byte $A0,$17,$00, $22, $2C, $5A, $99, $A5,$DD, $DA - .byte $A3,$00, $5A, $CC, $C4, $CC, $A0,$16,$00, $20 - .byte $B2,$B2, $2C, $99, $A6,$DD, $5A, $A3,$00, $A3,$CC - .byte $A0,$16,$00, $22, $B2, $BB, $22, $D9, $A6,$DD - .byte $5A, $A3,$00, $CC, $42, $44, $A0,$15,$00, $22 - .byte $BB, $22, $2B, $22, $8D,$8D, $DD,$DD, $8D - .byte $D8, $8D, $DD, $00,$00, $99, $A3,$44, $A0,$15,$00 - .byte $22, $BB, $22, $66, $C6, $96,$96, $6D - .byte $96,$96, $D6, $6D, $DD, $60, $06, $99 - .byte $44,$44, $4C, $A0,$14,$00, $22,$22, $7B, $B2, $66 - .byte $C6, $9F, $98, $66, $99, $9F, $D8 - .byte $66, $D6, $90, $99, $C9, $A3,$CC, $A0,$14,$00 - .byte $22, $2B, $CB, $2C, $26, $6C, $69,$69 - .byte $D6, $69,$69, $6D, $D6, $DD, $D9, $59 - .byte $5C, $C2, $CC,$CC, $A0,$14,$00, $2C,$2C, $CC, $C2 - .byte $22, $99,$99, $79, $DD, $9D, $99, $A4,$DD - .byte $00, $0A, $5C, $CC,$CC, $A0,$14,$00, $C2,$C2, $44 - .byte $C4, $CC, $C9, $99, $A3,$97, $99, $9D - .byte $A3,$DD, $00,$00, $50, $CC,$CC, $A0,$14,$00, $22,$22, $44 - .byte $A3,$CC, $99, $A4,$F7, $99, $A3,$DD, $00,$00, $0A - .byte $CC,$CC, $A0,$14,$00, $22, $C4,$C4, $CC, $CB, $CC - .byte $C9, $99, $7F,$7F, $D7, $A4,$DD, $A3,$00, $CC,$CC - .byte $A0,$14,$00, $22,$22, $CC, $B4, $2C, $4C, $CC - .byte $99,$99, $A3,$DD, $9D,$9D, $D9, $A3,$00, $CC,$CC, $A0,$14,$00 - .byte $C2, $2C, $CC,$CC, $22, $CC,$CC, $C9, $99 - .byte $DD, $9D, $99, $D9, $A3,$DD, $00,$00, $CC,$CC - .byte $A0,$14,$00, $22, $B2, $BB, $24, $CC,$CC, $0C - .byte $00, $09, $A3,$99, $A3,$DD, $0D, $00,$00, $CC,$CC - .byte $A0,$14,$00, $2C, $C2, $CC, $C2, $CC, $A3,$00 - .byte $50, $A5,$99, $A4,$00, $0C, $CC, $A0,$14,$00, $22 - .byte $C2, $BC,$BC, $C2, $A3,$00, $5A, $A3,$99, $09 - .byte $A6,$00, $0C, $A0,$14,$00, $C2, $22, $C2, $42 - .byte $2C, $00,$00, $99, $9A, $59,$59, $A0,$1D,$00, $22,$22 - .byte $CC, $C4, $02, $00,$00, $99, $22, $92 - .byte $09, $A0,$1D,$00, $C2,$C2, $CC,$CC, $00,$00, $90, $A3,$99 - .byte $A0,$1E,$00, $C2,$C2, $CC, $0C, $00,$00, $99,$99, $09 - .byte $AB,$00 + .byte $A0,$19,$00, $20, $CC,$CC, $A0,$01,$AC, $A0,$01,$AA, $0A,$0A, $A0,$01,$AA + .byte $A0,$01,$AC, $A4,$CC, $C2, $2C, $A0,$19,$00, $C2, $0A + .byte $00, $A0,$01,$AA, $0A, $A3,$00, $0A, $A0,$01,$AA, $A0,$01,$AC + .byte $A3,$CC, $22, $A0,$18,$00, $2C, $A0,$01,$AC, $00, $90 + .byte $DA, $A0,$02,$A0, $A5,$00, $A0,$01,$AA, $CC, $C4, $CC + .byte $A0,$17,$00, $22, $2C, $A0,$01,$AA, $99, $A5,$DD, $DA + .byte $A3,$00, $A0,$01,$AA, $CC, $C4, $CC, $A0,$16,$00, $20 + .byte $B2,$B2, $2C, $99, $A6,$DD, $A0,$01,$AA, $A3,$00, $A3,$CC + .byte $00, $20, $A3,$00, $20, $00,$00, $20,$20, $00 + .byte $A3,$20, $00, $A3,$20, $A4,$00, $22, $B2, $BB + .byte $22, $D9, $A6,$DD, $A0,$01,$AA, $A3,$00, $CC, $42 + .byte $44, $76, $70, $76, $00, $76, $A3,$00 + .byte $76, $70, $00, $76, $00, $76, $00,$00 + .byte $76, $A4,$00, $22, $BB, $22, $2B, $22 + .byte $8D,$8D, $DD,$DD, $8D, $D8, $8D, $DD, $00,$00 + .byte $99, $A3,$44, $FF, $00, $FF, $00, $0F + .byte $F0, $FF, $00, $FF, $F0, $00, $FF + .byte $00, $FF, $00,$00, $FF, $A4,$00, $22, $BB + .byte $22, $66, $C6, $96,$96, $6D, $96,$96, $D6 + .byte $6D, $DD, $60, $06, $99, $44,$44, $4C + .byte $A3,$20, $00, $20,$20, $A3,$00, $20, $A3,$00, $20 + .byte $00,$00, $20, $00, $20, $00, $22,$22, $7B + .byte $B2, $66, $C6, $9F, $98, $66, $99 + .byte $9F, $D8, $66, $D6, $90, $99, $C9 + .byte $A3,$CC, $76, $70, $00,$00, $76, $70, $06 + .byte $00, $76, $00, $76, $00, $76, $A3,$00 + .byte $06, $70, $06, $00, $22, $2B, $CB + .byte $2C, $26, $6C, $69,$69, $D6, $69,$69, $6D + .byte $D6, $DD, $D9, $A0,$01,$A9, $A0,$01,$AC, $C2, $CC,$CC + .byte $FF, $A3,$00, $FF, $00, $FF, $00, $0F + .byte $F0, $0F, $00, $0F, $F0, $FF, $00,$00 + .byte $FF, $00,$00, $2C,$2C, $CC, $C2, $22, $99,$99 + .byte $79, $DD, $9D, $99, $A4,$DD, $00, $0A + .byte $A0,$01,$AC, $CC,$CC, $A3,$20, $00,$00, $20, $AF,$00, $02 + .byte $44, $C4, $CC, $C9, $99, $A3,$97, $99 + .byte $9D, $A3,$DD, $00,$00, $A0,$01,$A0, $CC,$CC, $00, $76 + .byte $00,$00, $06, $70, $A0,$10,$00, $44, $A3,$CC, $99 + .byte $A4,$F7, $99, $A3,$DD, $00,$00, $0A, $CC,$CC, $F0 + .byte $FF, $F0, $00, $F0, $0F, $A0,$10,$00, $C4 + .byte $CC, $CB, $CC, $C9, $99, $7F,$7F, $D7 + .byte $A4,$DD, $A3,$00, $CC,$CC, $20, $00, $20, $00 + .byte $20, $00,$00, $20, $00,$00, $20, $00, $20 + .byte $00, $A3,$20, $00,$00, $20, $00,$00, $CC, $B4 + .byte $2C, $4C, $CC, $99,$99, $A3,$DD, $9D,$9D, $D9 + .byte $A3,$00, $CC,$CC, $76, $06, $76, $00, $76 + .byte $00, $06, $70, $00, $06, $70, $00 + .byte $76, $00, $76, $00, $76, $00, $76 + .byte $A3,$00, $CC,$CC, $22, $CC,$CC, $C9, $99, $DD + .byte $9D, $99, $D9, $A3,$DD, $00,$00, $CC,$CC, $FF + .byte $00, $FF, $00, $FF, $00, $F0, $0F + .byte $00, $F0, $0F, $00, $FF, $00, $FF + .byte $00, $FF, $00, $0F, $F0, $FF, $00 + .byte $BB, $24, $CC,$CC, $0C, $00, $09, $A3,$99 + .byte $A3,$DD, $0D, $00,$00, $CC,$CC, $A0,$16,$00, $CC, $C2 + .byte $CC, $A3,$00, $A0,$01,$A0, $A5,$99, $A4,$00, $0C, $CC + .byte $A0,$16,$00, $BC,$BC, $C2, $A3,$00, $A0,$01,$AA, $A3,$99, $09 + .byte $A6,$00, $0C, $A0,$15,$00, $22, $C2, $42, $2C + .byte $00,$00, $99, $9A, $A0,$02,$A9, $A0,$1D,$00, $22,$22, $CC + .byte $C4, $02, $00,$00, $99, $22, $92, $09 + .byte $A0,$1D,$00, $C2,$C2, $CC,$CC, $00,$00, $90, $A3,$99, $A0,$1E,$00 + .byte $C2,$C2, $CC, $0C, $00,$00, $99,$99, $09, $AB,$00 .byte $A1 diff --git a/demosplash/k_40_48d.png b/demosplash/k_40_48d.png new file mode 100644 index 00000000..0c4280a5 Binary files /dev/null and b/demosplash/k_40_48d.png differ diff --git a/demosplash/missing.s b/demosplash/missing.s index 937d52da..60fd5b35 100644 --- a/demosplash/missing.s +++ b/demosplash/missing.s @@ -18,6 +18,11 @@ missing_intro: lda #0 sta DRAW_PAGE + ;============================= + ; setup graphics code + + jsr create_update_type1 + ;============================= ; Load graphic page0 @@ -130,19 +135,38 @@ mloopB: dex ; 2 missing_display_loop: -.include "missing_screen_update.s" + jsr $9000 ; update_type1 +;.include "missing_screen_update.s" ;====================================================== ; We have 4550 cycles in the vblank, use them wisely ;====================================================== ; do_nothing should be ; 4550 - ; -6 - ; -10 + ; -12 jsr/ret to update_type1 + ; - 7 check keypress + ; - 3 jmp loop ;============= - ; 4534 + ; 4528 + + + ; blah, current code the tight loops are right at a page boundary + +do_nothing_missing: + + ; want 4528 + + ; Try X=4 Y=174 cycles=4525 R3 + + lda TEMP ; nop 3 + + ldy #174 ; 2 +gloop1: ldx #4 ; 2 +gloop2: dex ; 2 + bne gloop2 ; 2nt/3 + dey ; 2 + bne gloop1 ; 2nt/3 - jsr do_nothing_missing ; 6 lda KEYPRESS ; 4 bpl missing_no_keypress ; 3 @@ -155,45 +179,7 @@ missing_no_keypress: .align $100 - ;================================= - ; do nothing - ;================================= - ; and take 4534-6 = 4528 cycles to do it - - - ; blah, current code the tight loops are right at a page boundary - -do_nothing_missing: - - ; want 4528-12=4516 - - ; Try X=4 Y=174 cycles=4525 R3 -3 X loops - - ; Try X=3 Y=215 cycles=4516 - - nop ; 2 - nop ; 2 - - nop ; 2 - nop ; 2 - - nop ; 2 - nop ; 2 - - - - ldy #215 ; 2 -gloop1: ldx #3 ; 2 -gloop2: dex ; 2 - bne gloop2 ; 2nt/3 - dey ; 2 - bne gloop1 ; 2nt/3 - - rts ; 6 - - .include "k_40_48d.inc" -krg: - .byte $0 + diff --git a/demosplash/missing_screen_update.s b/demosplash/missing_screen_update.s deleted file mode 100644 index ce537489..00000000 --- a/demosplash/missing_screen_update.s +++ /dev/null @@ -1,3368 +0,0 @@ - - ; want colors 01234567 - ; line 0: $X0 to $800 - ; line 1: $X1 to $400 - ; line 2: $X2 - ; line 3: $X3 - ; line 4: $4X - ; line 5: $5X - ; line 6: $6X - ; line 7: $7X - - ; UNROLL 96 TIMES! ARE WE MAD? YES! - -;========= -; 0(0) = $400 - ; 65 cycles total - bit PAGE0 ; 4 - lda #$0b ; 2 - sta $800 ; 4 - sta $801 ; 4 - sta $802 ; 4 - sta $803 ; 4 - sta $804 ; 4 - sta $805 ; 4 - sta $806 ; 4 - sta $807 ; 4 - sta $808 ; 4 - sta $809 ; 4 - sta $80a ; 4 - sta $80b ; 4 - sta $80c ; 4 - sta $80d ; 4 - lda TEMP ; 3 - - ; 65 cycles - bit PAGE1 ; 4 - lda #$0f ; 2 - sta $400 ; 4 - sta $401 ; 4 - sta $402 ; 4 - sta $403 ; 4 - sta $404 ; 4 - sta $405 ; 4 - sta $406 ; 4 - sta $407 ; 4 - sta $408 ; 4 - sta $409 ; 4 - sta $40a ; 4 - sta $40b ; 4 - sta $40c ; 4 - sta $40d ; 4 - lda TEMP ; 3 - - -; 1 - ; 65 cycles - bit PAGE0 ; 4 - lda #$0b ; 2 - sta $800 ; 4 - sta $801 ; 4 - sta $802 ; 4 - sta $803 ; 4 - sta $804 ; 4 - sta $805 ; 4 - sta $806 ; 4 - sta $807 ; 4 - sta $808 ; 4 - sta $809 ; 4 - sta $80a ; 4 - sta $80b ; 4 - sta $80c ; 4 - sta $80d ; 4 - lda TEMP ; 3 - - ; 65 cycles - bit PAGE1 ; 4 - lda #$30 ; 2 - sta $400 ; 4 - sta $401 ; 4 - sta $402 ; 4 - sta $403 ; 4 - sta $404 ; 4 - sta $405 ; 4 - sta $406 ; 4 - sta $407 ; 4 - sta $408 ; 4 - sta $409 ; 4 - sta $40a ; 4 - sta $40b ; 4 - sta $40c ; 4 - sta $40d ; 4 - lda TEMP ; 3 - -; 2 - ; 65 cycles - bit PAGE0 ; 4 - lda #$00 ; 2 - sta $800 ; 4 - sta $801 ; 4 - sta $802 ; 4 - sta $803 ; 4 - sta $804 ; 4 - sta $805 ; 4 - sta $806 ; 4 - sta $807 ; 4 - sta $808 ; 4 - sta $809 ; 4 - sta $80a ; 4 - sta $80b ; 4 - sta $80c ; 4 - sta $80d ; 4 - lda TEMP ; 3 - - ; 65 cycles - bit PAGE1 ; 4 - lda #$00 ; 2 - sta $400 ; 4 - sta $401 ; 4 - sta $402 ; 4 - sta $403 ; 4 - sta $404 ; 4 - sta $405 ; 4 - sta $406 ; 4 - sta $407 ; 4 - sta $408 ; 4 - sta $409 ; 4 - sta $40a ; 4 - sta $40b ; 4 - sta $40c ; 4 - sta $40d ; 4 - lda TEMP ; 3 - -; 3 - ; 65 cycles - bit PAGE0 ; 4 - lda #$00 ; 2 - sta $800 ; 4 - sta $801 ; 4 - sta $802 ; 4 - sta $803 ; 4 - sta $804 ; 4 - sta $805 ; 4 - sta $806 ; 4 - sta $807 ; 4 - sta $808 ; 4 - sta $809 ; 4 - sta $80a ; 4 - sta $80b ; 4 - sta $80c ; 4 - sta $80d ; 4 - lda TEMP ; 3 - - ; 65 cycles - bit PAGE1 ; 4 - lda #$00 ; 2 - sta $400 ; 4 - sta $401 ; 4 - sta $402 ; 4 - sta $403 ; 4 - sta $404 ; 4 - sta $405 ; 4 - sta $406 ; 4 - sta $407 ; 4 - sta $408 ; 4 - sta $409 ; 4 - sta $40a ; 4 - sta $40b ; 4 - sta $40c ; 4 - sta $40d ; 4 - lda TEMP ; 3 - -;=================== -; 4 (L1)=$480 - ; 65 cycles - bit PAGE0 ; 4 - lda #$00 ; 2 - sta $880 ; 4 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - ; 65 cycles - bit PAGE1 ; 4 - lda #$00 ; 2 - sta $480 ; 4 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - -; 5 - ; 65 cycles - bit PAGE0 ; 4 - lda #$00 ; 2 - sta $880 ; 4 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - ; 65 cycles - bit PAGE1 ; 4 - lda #$00 ; 2 - sta $480 ; 4 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - ; 6 - ; 65 cycles - bit PAGE0 ; 4 - lda #$00 ; 2 - sta $880 ; 4 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - ; 65 cycles - bit PAGE1 ; 4 - lda #$00 ; 2 - sta $480 ; 4 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - ; 7 - ; 65 cycles - bit PAGE0 ; 4 - lda #$00 ; 2 - sta $880 ; 4 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - ; 65 cycles - bit PAGE1 ; 4 - lda #$00 ; 2 - sta $500 ; 4 - lda #$00 ; 2 - sta $501 ; 4 - lda #$00 ; 2 - sta $502 ; 4 - lda #$00 ; 2 - sta $503 ; 4 - lda #$00 ; 2 - sta $504 ; 4 - lda #$00 ; 2 - sta $505 ; 4 - lda #$00 ; 2 - sta $506 ; 4 - lda #$00 ; 2 - sta $507 ; 4 - lda #$00 ; 2 - sta $508 ; 4 - bit krg ; 4 - lda TEMP ; 3 - -;================================ -; 8 (L2) = $500 - - ; 65 cycles - bit PAGE0 ; 4 - lda #$00 ; 2 - sta $902 ; 4 - lda #$00 ; 2 - sta $903 ; 4 - lda #$00 ; 2 - sta $904 ; 4 - lda #$00 ; 2 - sta $905 ; 4 - lda #$00 ; 2 - sta $906 ; 4 - lda #$00 ; 2 - sta $907 ; 4 - lda #$00 ; 2 - sta $908 ; 4 - lda #$00 ; 2 - sta $909 ; 4 - lda #$00 ; 2 - sta $90a ; 4 - bit krg ; 4 - lda TEMP ; 3 - - ; 65 cycles - bit PAGE1 ; 4 - lda #$00 ; 2 - sta $502 ; 4 - lda #$00 ; 2 - sta $503 ; 4 - lda #$00 ; 2 - sta $504 ; 4 - lda #$00 ; 2 - sta $505 ; 4 - lda #$00 ; 2 - sta $506 ; 4 - lda #$00 ; 2 - sta $507 ; 4 - lda #$00 ; 2 - sta $508 ; 4 - lda #$00 ; 2 - sta $509 ; 4 - lda #$00 ; 2 - sta $50a ; 4 - bit krg ; 4 - lda TEMP ; 3 - -; 9 - ; 65 cycles - bit PAGE0 ; 4 - lda #$00 ; 2 - sta $902 ; 4 - lda #$00 ; 2 - sta $903 ; 4 - lda #$00 ; 2 - sta $904 ; 4 - lda #$00 ; 2 - sta $905 ; 4 - lda #$00 ; 2 - sta $906 ; 4 - lda #$00 ; 2 - sta $907 ; 4 - lda #$00 ; 2 - sta $908 ; 4 - lda #$00 ; 2 - sta $909 ; 4 - lda #$00 ; 2 - sta $90a ; 4 - bit krg ; 4 - lda TEMP ; 3 - - ; 65 cycles - bit PAGE1 ; 4 - lda #$00 ; 2 - sta $502 ; 4 - lda #$00 ; 2 - sta $503 ; 4 - lda #$00 ; 2 - sta $504 ; 4 - lda #$10 ; 2 - sta $505 ; 4 - lda #$10 ; 2 - sta $506 ; 4 - lda #$10 ; 2 - sta $507 ; 4 - lda #$00 ; 2 - sta $508 ; 4 - lda #$00 ; 2 - sta $509 ; 4 - lda #$00 ; 2 - sta $50a ; 4 - bit krg ; 4 - lda TEMP ; 3 - -; 10 - ; 65 cycles - bit PAGE0 ; 4 - lda #$00 ; 2 - sta $902 ; 4 - lda #$00 ; 2 - sta $903 ; 4 - lda #$00 ; 2 - sta $904 ; 4 - lda #$90 ; 2 - sta $905 ; 4 - lda #$90 ; 2 - sta $906 ; 4 - lda #$90 ; 2 - sta $907 ; 4 - lda #$00 ; 2 - sta $908 ; 4 - lda #$00 ; 2 - sta $909 ; 4 - lda #$00 ; 2 - sta $90a ; 4 - bit krg ; 4 - lda TEMP ; 3 - - ; 65 cycles - bit PAGE1 ; 4 - lda #$00 ; 2 - sta $502 ; 4 - lda #$00 ; 2 - sta $503 ; 4 - lda #$10 ; 2 - sta $504 ; 4 - lda #$d0 ; 2 - sta $505 ; 4 - lda #$d0 ; 2 - sta $506 ; 4 - lda #$d0 ; 2 - sta $507 ; 4 - lda #$10 ; 2 - sta $508 ; 4 - lda #$00 ; 2 - sta $509 ; 4 - lda #$00 ; 2 - sta $50a ; 4 - bit krg ; 4 - lda TEMP ; 3 - -; 11 - ; 65 cycles - bit PAGE0 ; 4 - lda #$00 ; 2 - sta $902 ; 4 - lda #$00 ; 2 - sta $903 ; 4 - lda #$90 ; 2 - sta $904 ; 4 - lda #$40 ; 2 - sta $905 ; 4 - lda #$40 ; 2 - sta $906 ; 4 - lda #$40 ; 2 - sta $907 ; 4 - lda #$90 ; 2 - sta $908 ; 4 - lda #$00 ; 2 - sta $909 ; 4 - lda #$00 ; 2 - sta $90a ; 4 - bit krg ; 4 - lda TEMP ; 3 - - ; 65 cycles - bit PAGE1 ; 4 - lda #$00 ; 2 - sta $582 ; 4 - lda #$01 ; 2 - sta $583 ; 4 - lda #$0d ; 2 - sta $584 ; 4 - lda #$06 ; 2 - sta $585 ; 4 - lda #$06 ; 2 - sta $586 ; 4 - lda #$06 ; 2 - sta $587 ; 4 - lda #$0d ; 2 - sta $588 ; 4 - lda #$01 ; 2 - sta $589 ; 4 - lda #$00 ; 2 - sta $58a ; 4 - bit krg ; 4 - lda TEMP ; 3 - -;================================ -; 12 (L3) = $580 - - bit PAGE0 ; 4 - lda #$00 ; 2 - sta $982 ; 4 - lda #$09 ; 2 - sta $983 ; 4 - lda #$04 ; 2 - sta $984 ; 4 - lda #$02 ; 2 - sta $985 ; 4 - lda #$02 ; 2 - sta $986 ; 4 - lda #$02 ; 2 - sta $987 ; 4 - lda #$04 ; 2 - sta $988 ; 4 - lda #$09 ; 2 - sta $989 ; 4 - lda #$00 ; 2 - sta $98a ; 4 - bit krg ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - lda #$01 ; 2 - sta $582 ; 4 - lda #$0d ; 2 - sta $583 ; 4 - lda #$06 ; 2 - sta $584 ; 4 - lda #$00 ; 2 - sta $585 ; 4 - lda #$00 ; 2 - sta $586 ; 4 - lda #$00 ; 2 - sta $587 ; 4 - lda #$06 ; 2 - sta $588 ; 4 - lda #$0d ; 2 - sta $589 ; 4 - lda #$01 ; 2 - sta $58a ; 4 - bit krg ; 4 - lda TEMP ; 3 - -; 13 - - bit PAGE0 ; 4 - lda #$09 ; 2 - sta $982 ; 4 - lda #$04 ; 2 - sta $983 ; 4 - lda #$02 ; 2 - sta $984 ; 4 - lda #$00 ; 2 - sta $985 ; 4 - lda #$00 ; 2 - sta $986 ; 4 - lda #$00 ; 2 - sta $987 ; 4 - lda #$02 ; 2 - sta $988 ; 4 - lda #$04 ; 2 - sta $989 ; 4 - lda #$09 ; 2 - sta $98a ; 4 - bit krg ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - lda #$d0 ; 2 - sta $582 ; 4 - lda #$60 ; 2 - sta $583 ; 4 - lda #$00 ; 2 - sta $584 ; 4 - lda #$00 ; 2 - sta $585 ; 4 - lda #$00 ; 2 - sta $586 ; 4 - lda #$00 ; 2 - sta $587 ; 4 - lda #$00 ; 2 - sta $588 ; 4 - lda #$60 ; 2 - sta $589 ; 4 - lda #$d0 ; 2 - sta $58a ; 4 - bit krg ; 4 - lda TEMP ; 3 - - -; 14 - bit PAGE0 ; 4 - lda #$40 ; 2 - sta $982 ; 4 - lda #$20 ; 2 - sta $983 ; 4 - lda #$00 ; 2 - sta $984 ; 4 - lda #$00 ; 2 - sta $985 ; 4 - lda #$00 ; 2 - sta $986 ; 4 - lda #$00 ; 2 - sta $987 ; 4 - lda #$00 ; 2 - sta $988 ; 4 - lda #$20 ; 2 - sta $989 ; 4 - lda #$40 ; 2 - sta $98a ; 4 - bit krg ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - lda #$60 ; 2 - sta $582 ; 4 - lda #$00 ; 2 - sta $583 ; 4 - lda #$00 ; 2 - sta $584 ; 4 - lda #$00 ; 2 - sta $585 ; 4 - lda #$00 ; 2 - sta $586 ; 4 - lda #$00 ; 2 - sta $587 ; 4 - lda #$00 ; 2 - sta $588 ; 4 - lda #$00 ; 2 - sta $589 ; 4 - lda #$60 ; 2 - sta $58a ; 4 - bit krg ; 4 - lda TEMP ; 3 - -; 15 - - bit PAGE0 ; 4 - lda #$20 ; 2 - sta $982 ; 4 - lda #$00 ; 2 - sta $983 ; 4 - lda #$00 ; 2 - sta $984 ; 4 - lda #$00 ; 2 - sta $985 ; 4 - lda #$00 ; 2 - sta $986 ; 4 - lda #$00 ; 2 - sta $987 ; 4 - lda #$00 ; 2 - sta $988 ; 4 - lda #$00 ; 2 - sta $989 ; 4 - lda #$20 ; 2 - sta $98a ; 4 - bit krg ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - lda #$00 ; 2 - sta $602 ; 4 - lda #$00 ; 2 - sta $603 ; 4 - lda #$00 ; 2 - sta $604 ; 4 - lda #$00 ; 2 - sta $605 ; 4 - lda #$00 ; 2 - sta $606 ; 4 - lda #$00 ; 2 - sta $607 ; 4 - lda #$00 ; 2 - sta $608 ; 4 - lda #$00 ; 2 - sta $609 ; 4 - lda #$00 ; 2 - sta $60a ; 4 - bit krg ; 4 - lda TEMP ; 3 - - -;================================ -; 16 (L4) = $600 - - - bit PAGE0 ; 4 - lda #$00 ; 2 - sta $a02 ; 4 - lda #$00 ; 2 - sta $a03 ; 4 - lda #$00 ; 2 - sta $a04 ; 4 - lda #$00 ; 2 - sta $a05 ; 4 - lda #$05 ; 2 - sta $a06 ; 4 - lda #$00 ; 2 - sta $a07 ; 4 - lda #$00 ; 2 - sta $a08 ; 4 - lda #$00 ; 2 - sta $a09 ; 4 - lda #$20 ; 2 - sta $a0a ; 4 - bit krg ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - lda #$00 ; 2 - sta $602 ; 4 - lda #$00 ; 2 - sta $603 ; 4 - lda #$00 ; 2 - sta $604 ; 4 - lda #$00 ; 2 - sta $605 ; 4 - lda #$07 ; 2 - sta $606 ; 4 - lda #$00 ; 2 - sta $607 ; 4 - lda #$00 ; 2 - sta $608 ; 4 - lda #$00 ; 2 - sta $609 ; 4 - lda #$00 ; 2 - sta $60a ; 4 - bit krg ; 4 - lda TEMP ; 3 - - -; 17 - bit PAGE0 ; 4 - lda #$00 ; 2 - sta $a02 ; 4 - lda #$00 ; 2 - sta $a03 ; 4 - lda #$00 ; 2 - sta $a04 ; 4 - lda #$00 ; 2 - sta $a05 ; 4 - lda #$0f ; 2 - sta $a06 ; 4 - lda #$00 ; 2 - sta $a07 ; 4 - lda #$00 ; 2 - sta $a08 ; 4 - lda #$00 ; 2 - sta $a09 ; 4 - lda #$00 ; 2 - sta $a0a ; 4 - bit krg ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - lda #$00 ; 2 - sta $602 ; 4 - lda #$00 ; 2 - sta $603 ; 4 - lda #$00 ; 2 - sta $604 ; 4 - lda #$80 ; 2 - sta $605 ; 4 - lda #$80 ; 2 - sta $606 ; 4 - lda #$80 ; 2 - sta $607 ; 4 - lda #$00 ; 2 - sta $608 ; 4 - lda #$00 ; 2 - sta $609 ; 4 - lda #$40 ; 2 - sta $60a ; 4 - bit krg ; 4 - lda TEMP ; 3 - -; 18 - - bit PAGE0 ; 4 - lda #$b0 ; 2 - sta $a02 ; 4 - lda #$e0 ; 2 - sta $a03 ; 4 - lda #$e0 ; 2 - sta $a04 ; 4 - lda #$e0 ; 2 - sta $a05 ; 4 - lda #$e0 ; 2 - sta $a06 ; 4 - lda #$e0 ; 2 - sta $a07 ; 4 - lda #$c0 ; 2 - sta $a08 ; 4 - lda #$c0 ; 2 - sta $a09 ; 4 - lda #$40 ; 2 - sta $a0a ; 4 - bit krg ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - lda #$30 ; 2 - sta $602 ; 4 - lda #$e0 ; 2 - sta $603 ; 4 - lda #$e0 ; 2 - sta $604 ; 4 - lda #$e0 ; 2 - sta $605 ; 4 - lda #$e0 ; 2 - sta $606 ; 4 - lda #$e0 ; 2 - sta $607 ; 4 - lda #$c0 ; 2 - sta $608 ; 4 - lda #$c0 ; 2 - sta $609 ; 4 - lda #$c0 ; 2 - sta $60a ; 4 - bit krg ; 4 - lda TEMP ; 3 - -; 19 - bit PAGE0 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - -;================================ -; 20 (L5) = $680 - - bit PAGE0 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - -; 21 - bit PAGE0 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - -; 22 - bit PAGE0 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - -; 23 - bit PAGE0 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - -;================================ -; 24 (L6) = $700 - - bit PAGE0 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - -; 25 - bit PAGE0 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - -; 26 - bit PAGE0 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - -; 27 - bit PAGE0 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - -;================================ -; 28 (L7) = $780 - - bit PAGE0 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - -; 29 - bit PAGE0 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - -; 30 - bit PAGE0 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - ; 31 - bit PAGE0 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - ; 32 - bit PAGE0 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - ; 33 - bit PAGE0 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - ; 34 - bit PAGE0 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - ; 35 - bit PAGE0 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - ; 36 - bit PAGE0 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - ; 37 - bit PAGE0 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - ; 38 - bit PAGE0 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - ; 39 - bit PAGE0 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - ; 40 - bit PAGE0 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - ; 41 - bit PAGE0 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - ; 42 - bit PAGE0 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - ; 43 - bit PAGE0 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - ; 44 - bit PAGE0 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - ; 45 - bit PAGE0 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - ; 46 - bit PAGE0 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - ; 47 - bit PAGE0 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - ; 48 - bit PAGE0 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - ; 49 - bit PAGE0 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - ; 50 - bit PAGE0 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - ; 51 - bit PAGE0 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - ; 52 - bit PAGE0 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - ; 53 - bit PAGE0 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - ; 54 - bit PAGE0 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - ; 55 - bit PAGE0 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - ; 56 - bit PAGE0 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - ; 57 - bit PAGE0 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - ; 58 - bit PAGE0 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - ; 59 - bit PAGE0 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - ; 60 - bit PAGE0 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - ; 61 - bit PAGE0 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - ; 62 - bit PAGE0 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - ; 63 - bit PAGE0 ; 4 - ; 65 cycles - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - inc krg ; 6 - bit krg ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - lda #$03 ; 2 - sta $450 ; 4 - sta $451 ; 4 - sta $452 ; 4 - sta $453 ; 4 - sta $454 ; 4 - sta $455 ; 4 - sta $456 ; 4 - sta $457 ; 4 - sta $458 ; 4 - sta $459 ; 4 - sta $45a ; 4 - sta $45b ; 4 - sta $45c ; 4 - sta $45d ; 4 - lda TEMP ; 3 - -;========= -; 64(L16) = $450 - - bit PAGE0 ; 4 - lda #$0b ; 2 - sta $850 ; 4 - sta $851 ; 4 - sta $852 ; 4 - sta $853 ; 4 - sta $854 ; 4 - sta $855 ; 4 - sta $856 ; 4 - sta $857 ; 4 - sta $858 ; 4 - sta $859 ; 4 - sta $85a ; 4 - sta $85b ; 4 - sta $85c ; 4 - sta $85d ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - lda #$0f ; 2 - sta $450 ; 4 - sta $451 ; 4 - sta $452 ; 4 - sta $453 ; 4 - sta $454 ; 4 - sta $455 ; 4 - sta $456 ; 4 - sta $457 ; 4 - sta $458 ; 4 - sta $459 ; 4 - sta $45a ; 4 - sta $45b ; 4 - sta $45c ; 4 - sta $45d ; 4 - lda TEMP ; 3 - -; 65 - bit PAGE0 ; 4 - lda #$0b ; 2 - sta $850 ; 4 - sta $851 ; 4 - sta $852 ; 4 - sta $853 ; 4 - sta $854 ; 4 - sta $855 ; 4 - sta $856 ; 4 - sta $857 ; 4 - sta $858 ; 4 - sta $859 ; 4 - sta $85a ; 4 - sta $85b ; 4 - sta $85c ; 4 - sta $85d ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - lda #$30 ; 2 - sta $450 ; 4 - sta $451 ; 4 - sta $452 ; 4 - sta $453 ; 4 - sta $454 ; 4 - sta $455 ; 4 - sta $456 ; 4 - sta $457 ; 4 - sta $458 ; 4 - sta $459 ; 4 - sta $45a ; 4 - sta $45b ; 4 - sta $45c ; 4 - sta $45d ; 4 - lda TEMP ; 3 - -; 66 - - bit PAGE0 ; 4 - lda #$00 ; 2 - sta $850 ; 4 - sta $851 ; 4 - sta $852 ; 4 - sta $853 ; 4 - sta $854 ; 4 - sta $855 ; 4 - sta $856 ; 4 - sta $857 ; 4 - sta $858 ; 4 - sta $859 ; 4 - sta $85a ; 4 - sta $85b ; 4 - sta $85c ; 4 - sta $85d ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - lda #$00 ; 2 - sta $450 ; 4 - sta $451 ; 4 - sta $452 ; 4 - sta $453 ; 4 - sta $454 ; 4 - sta $455 ; 4 - sta $456 ; 4 - sta $457 ; 4 - sta $458 ; 4 - sta $459 ; 4 - sta $45a ; 4 - sta $45b ; 4 - sta $45c ; 4 - sta $45d ; 4 - lda TEMP ; 3 - -; 67 - - bit PAGE0 ; 4 - lda #$00 ; 2 - sta $850 ; 4 - sta $851 ; 4 - sta $852 ; 4 - sta $853 ; 4 - sta $854 ; 4 - sta $855 ; 4 - sta $856 ; 4 - sta $857 ; 4 - sta $858 ; 4 - sta $859 ; 4 - sta $85a ; 4 - sta $85b ; 4 - sta $85c ; 4 - sta $85d ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - lda #$02 ; 2 - sta $4d0 ; 4 - sta $4d1 ; 4 - sta $4d2 ; 4 - sta $4d3 ; 4 - sta $4d4 ; 4 - sta $4d5 ; 4 - sta $4d6 ; 4 - sta $4d7 ; 4 - sta $4d8 ; 4 - sta $4d9 ; 4 - sta $4da ; 4 - sta $4db ; 4 - sta $4dc ; 4 - sta $4dd ; 4 - lda TEMP ; 3 - -;========= -; 68(L17) = $4d0 - - bit PAGE0 ; 4 - lda #$06 ; 2 - sta $8d0 ; 4 - sta $8d1 ; 4 - sta $8d2 ; 4 - sta $8d3 ; 4 - sta $8d4 ; 4 - sta $8d5 ; 4 - sta $8d6 ; 4 - sta $8d7 ; 4 - sta $8d8 ; 4 - sta $8d9 ; 4 - sta $8da ; 4 - sta $8db ; 4 - sta $8dc ; 4 - sta $8dd ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - lda #$0f ; 2 - sta $4d0 ; 4 - sta $4d1 ; 4 - sta $4d2 ; 4 - sta $4d3 ; 4 - sta $4d4 ; 4 - sta $4d5 ; 4 - sta $4d6 ; 4 - sta $4d7 ; 4 - sta $4d8 ; 4 - sta $4d9 ; 4 - sta $4da ; 4 - sta $4db ; 4 - sta $4dc ; 4 - sta $4dd ; 4 - lda TEMP ; 3 - -; 69 - - bit PAGE0 ; 4 - lda #$06 ; 2 - sta $8d0 ; 4 - sta $8d1 ; 4 - sta $8d2 ; 4 - sta $8d3 ; 4 - sta $8d4 ; 4 - sta $8d5 ; 4 - sta $8d6 ; 4 - sta $8d7 ; 4 - sta $8d8 ; 4 - sta $8d9 ; 4 - sta $8da ; 4 - sta $8db ; 4 - sta $8dc ; 4 - sta $8dd ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - lda #$20 ; 2 - sta $4d0 ; 4 - sta $4d1 ; 4 - sta $4d2 ; 4 - sta $4d3 ; 4 - sta $4d4 ; 4 - sta $4d5 ; 4 - sta $4d6 ; 4 - sta $4d7 ; 4 - sta $4d8 ; 4 - sta $4d9 ; 4 - sta $4da ; 4 - sta $4db ; 4 - sta $4dc ; 4 - sta $4dd ; 4 - lda TEMP ; 3 - -; 70 - - bit PAGE0 ; 4 - lda #$00 ; 2 - sta $8d0 ; 4 - sta $8d1 ; 4 - sta $8d2 ; 4 - sta $8d3 ; 4 - sta $8d4 ; 4 - sta $8d5 ; 4 - sta $8d6 ; 4 - sta $8d7 ; 4 - sta $8d8 ; 4 - sta $8d9 ; 4 - sta $8da ; 4 - sta $8db ; 4 - sta $8dc ; 4 - sta $8dd ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - lda #$00 ; 2 - sta $4d0 ; 4 - sta $4d1 ; 4 - sta $4d2 ; 4 - sta $4d3 ; 4 - sta $4d4 ; 4 - sta $4d5 ; 4 - sta $4d6 ; 4 - sta $4d7 ; 4 - sta $4d8 ; 4 - sta $4d9 ; 4 - sta $4da ; 4 - sta $4db ; 4 - sta $4dc ; 4 - sta $4dd ; 4 - lda TEMP ; 3 - -; 71 - - bit PAGE0 ; 4 - lda #$00 ; 2 - sta $8d0 ; 4 - sta $8d1 ; 4 - sta $8d2 ; 4 - sta $8d3 ; 4 - sta $8d4 ; 4 - sta $8d5 ; 4 - sta $8d6 ; 4 - sta $8d7 ; 4 - sta $8d8 ; 4 - sta $8d9 ; 4 - sta $8da ; 4 - sta $8db ; 4 - sta $8dc ; 4 - sta $8dd ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - lda #$04 ; 2 - sta $550 ; 4 - sta $551 ; 4 - sta $552 ; 4 - sta $553 ; 4 - sta $554 ; 4 - sta $555 ; 4 - sta $556 ; 4 - sta $557 ; 4 - sta $558 ; 4 - sta $559 ; 4 - sta $55a ; 4 - sta $55b ; 4 - sta $55c ; 4 - sta $55d ; 4 - lda TEMP ; 3 - - -;========= -; 72(L18) = $550 - - bit PAGE0 ; 4 - lda #$0c ; 2 - sta $950 ; 4 - sta $951 ; 4 - sta $952 ; 4 - sta $953 ; 4 - sta $954 ; 4 - sta $955 ; 4 - sta $956 ; 4 - sta $957 ; 4 - sta $958 ; 4 - sta $959 ; 4 - sta $95a ; 4 - sta $95b ; 4 - sta $95c ; 4 - sta $95d ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - lda #$0f ; 2 - sta $550 ; 4 - sta $551 ; 4 - sta $552 ; 4 - sta $553 ; 4 - sta $554 ; 4 - sta $555 ; 4 - sta $556 ; 4 - sta $557 ; 4 - sta $558 ; 4 - sta $559 ; 4 - sta $55a ; 4 - sta $55b ; 4 - sta $55c ; 4 - sta $55d ; 4 - lda TEMP ; 3 - -; 73 - - bit PAGE0 ; 4 - lda #$0c ; 2 - sta $950 ; 4 - sta $951 ; 4 - sta $952 ; 4 - sta $953 ; 4 - sta $954 ; 4 - sta $955 ; 4 - sta $956 ; 4 - sta $957 ; 4 - sta $958 ; 4 - sta $959 ; 4 - sta $95a ; 4 - sta $95b ; 4 - sta $95c ; 4 - sta $95d ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - lda #$40 ; 2 - sta $550 ; 4 - sta $551 ; 4 - sta $552 ; 4 - sta $553 ; 4 - sta $554 ; 4 - sta $555 ; 4 - sta $556 ; 4 - sta $557 ; 4 - sta $558 ; 4 - sta $559 ; 4 - sta $55a ; 4 - sta $55b ; 4 - sta $55c ; 4 - sta $55d ; 4 - lda TEMP ; 3 - -; 74 - - bit PAGE0 ; 4 - lda #$00 ; 2 - sta $950 ; 4 - sta $951 ; 4 - sta $952 ; 4 - sta $953 ; 4 - sta $954 ; 4 - sta $955 ; 4 - sta $956 ; 4 - sta $957 ; 4 - sta $958 ; 4 - sta $959 ; 4 - sta $95a ; 4 - sta $95b ; 4 - sta $95c ; 4 - sta $95d ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - lda #$00 ; 2 - sta $550 ; 4 - sta $551 ; 4 - sta $552 ; 4 - sta $553 ; 4 - sta $554 ; 4 - sta $555 ; 4 - sta $556 ; 4 - sta $557 ; 4 - sta $558 ; 4 - sta $559 ; 4 - sta $55a ; 4 - sta $55b ; 4 - sta $55c ; 4 - sta $55d ; 4 - lda TEMP ; 3 - -; 75 - - bit PAGE0 ; 4 - lda #$00 ; 2 - sta $950 ; 4 - sta $951 ; 4 - sta $952 ; 4 - sta $953 ; 4 - sta $954 ; 4 - sta $955 ; 4 - sta $956 ; 4 - sta $957 ; 4 - sta $958 ; 4 - sta $959 ; 4 - sta $95a ; 4 - sta $95b ; 4 - sta $95c ; 4 - sta $95d ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - lda #$05 ; 2 - sta $5d0 ; 4 - sta $5d1 ; 4 - sta $5d2 ; 4 - sta $5d3 ; 4 - sta $5d4 ; 4 - sta $5d5 ; 4 - sta $5d6 ; 4 - sta $5d7 ; 4 - sta $5d8 ; 4 - sta $5d9 ; 4 - sta $5da ; 4 - sta $5db ; 4 - sta $5dc ; 4 - sta $5dd ; 4 - lda TEMP ; 3 - - -;========= -; 76(L19) = $5d0 - - bit PAGE0 ; 4 - lda #$07 ; 2 - sta $9d0 ; 4 - sta $9d1 ; 4 - sta $9d2 ; 4 - sta $9d3 ; 4 - sta $9d4 ; 4 - sta $9d5 ; 4 - sta $9d6 ; 4 - sta $9d7 ; 4 - sta $9d8 ; 4 - sta $9d9 ; 4 - sta $9da ; 4 - sta $9db ; 4 - sta $9dc ; 4 - sta $9dd ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - lda #$0f ; 2 - sta $5d0 ; 4 - sta $5d1 ; 4 - sta $5d2 ; 4 - sta $5d3 ; 4 - sta $5d4 ; 4 - sta $5d5 ; 4 - sta $5d6 ; 4 - sta $5d7 ; 4 - sta $5d8 ; 4 - sta $5d9 ; 4 - sta $5da ; 4 - sta $5db ; 4 - sta $5dc ; 4 - sta $5dd ; 4 - lda TEMP ; 3 - -; 77 - - bit PAGE0 ; 4 - lda #$07 ; 2 - sta $9d0 ; 4 - sta $9d1 ; 4 - sta $9d2 ; 4 - sta $9d3 ; 4 - sta $9d4 ; 4 - sta $9d5 ; 4 - sta $9d6 ; 4 - sta $9d7 ; 4 - sta $9d8 ; 4 - sta $9d9 ; 4 - sta $9da ; 4 - sta $9db ; 4 - sta $9dc ; 4 - sta $9dd ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - lda #$50 ; 2 - sta $5d0 ; 4 - sta $5d1 ; 4 - sta $5d2 ; 4 - sta $5d3 ; 4 - sta $5d4 ; 4 - sta $5d5 ; 4 - sta $5d6 ; 4 - sta $5d7 ; 4 - sta $5d8 ; 4 - sta $5d9 ; 4 - sta $5da ; 4 - sta $5db ; 4 - sta $5dc ; 4 - sta $5dd ; 4 - lda TEMP ; 3 - -; 78 - - bit PAGE0 ; 4 - lda #$00 ; 2 - sta $9d0 ; 4 - sta $9d1 ; 4 - sta $9d2 ; 4 - sta $9d3 ; 4 - sta $9d4 ; 4 - sta $9d5 ; 4 - sta $9d6 ; 4 - sta $9d7 ; 4 - sta $9d8 ; 4 - sta $9d9 ; 4 - sta $9da ; 4 - sta $9db ; 4 - sta $9dc ; 4 - sta $9dd ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - lda #$00 ; 2 - sta $5d0 ; 4 - sta $5d1 ; 4 - sta $5d2 ; 4 - sta $5d3 ; 4 - sta $5d4 ; 4 - sta $5d5 ; 4 - sta $5d6 ; 4 - sta $5d7 ; 4 - sta $5d8 ; 4 - sta $5d9 ; 4 - sta $5da ; 4 - sta $5db ; 4 - sta $5dc ; 4 - sta $5dd ; 4 - lda TEMP ; 3 - -; 79 - - bit PAGE0 ; 4 - lda #$00 ; 2 - sta $9d0 ; 4 - sta $9d1 ; 4 - sta $9d2 ; 4 - sta $9d3 ; 4 - sta $9d4 ; 4 - sta $9d5 ; 4 - sta $9d6 ; 4 - sta $9d7 ; 4 - sta $9d8 ; 4 - sta $9d9 ; 4 - sta $9da ; 4 - sta $9db ; 4 - sta $9dc ; 4 - sta $9dd ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - lda #$01 ; 2 - sta $650 ; 4 - sta $651 ; 4 - sta $652 ; 4 - sta $653 ; 4 - sta $654 ; 4 - sta $655 ; 4 - sta $656 ; 4 - sta $657 ; 4 - sta $658 ; 4 - sta $659 ; 4 - sta $65a ; 4 - sta $65b ; 4 - sta $65c ; 4 - sta $65d ; 4 - lda TEMP ; 3 - - -;========= -; 80(L20) = $650 - - bit PAGE0 ; 4 - lda #$03 ; 2 - sta $a50 ; 4 - sta $a51 ; 4 - sta $a52 ; 4 - sta $a53 ; 4 - sta $a54 ; 4 - sta $a55 ; 4 - sta $a56 ; 4 - sta $a57 ; 4 - sta $a58 ; 4 - sta $a59 ; 4 - sta $a5a ; 4 - sta $a5b ; 4 - sta $a5c ; 4 - sta $a5d ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - lda #$0f ; 2 - sta $650 ; 4 - sta $651 ; 4 - sta $652 ; 4 - sta $653 ; 4 - sta $654 ; 4 - sta $655 ; 4 - sta $656 ; 4 - sta $657 ; 4 - sta $658 ; 4 - sta $659 ; 4 - sta $65a ; 4 - sta $65b ; 4 - sta $65c ; 4 - sta $65d ; 4 - lda TEMP ; 3 - -; 81 - - bit PAGE0 ; 4 - lda #$03 ; 2 - sta $a50 ; 4 - sta $a51 ; 4 - sta $a52 ; 4 - sta $a53 ; 4 - sta $a54 ; 4 - sta $a55 ; 4 - sta $a56 ; 4 - sta $a57 ; 4 - sta $a58 ; 4 - sta $a59 ; 4 - sta $a5a ; 4 - sta $a5b ; 4 - sta $a5c ; 4 - sta $a5d ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - lda #$10 ; 2 - sta $650 ; 4 - sta $651 ; 4 - sta $652 ; 4 - sta $653 ; 4 - sta $654 ; 4 - sta $655 ; 4 - sta $656 ; 4 - sta $657 ; 4 - sta $658 ; 4 - sta $659 ; 4 - sta $65a ; 4 - sta $65b ; 4 - sta $65c ; 4 - sta $65d ; 4 - lda TEMP ; 3 - -; 82 - - bit PAGE0 ; 4 - lda #$00 ; 2 - sta $a50 ; 4 - sta $a51 ; 4 - sta $a52 ; 4 - sta $a53 ; 4 - sta $a54 ; 4 - sta $a55 ; 4 - sta $a56 ; 4 - sta $a57 ; 4 - sta $a58 ; 4 - sta $a59 ; 4 - sta $a5a ; 4 - sta $a5b ; 4 - sta $a5c ; 4 - sta $a5d ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - lda #$00 ; 2 - sta $650 ; 4 - sta $651 ; 4 - sta $652 ; 4 - sta $653 ; 4 - sta $654 ; 4 - sta $655 ; 4 - sta $656 ; 4 - sta $657 ; 4 - sta $658 ; 4 - sta $659 ; 4 - sta $65a ; 4 - sta $65b ; 4 - sta $65c ; 4 - sta $65d ; 4 - lda TEMP ; 3 - -; 83 - - bit PAGE0 ; 4 - lda #$00 ; 2 - sta $a50 ; 4 - sta $a51 ; 4 - sta $a52 ; 4 - sta $a53 ; 4 - sta $a54 ; 4 - sta $a55 ; 4 - sta $a56 ; 4 - sta $a57 ; 4 - sta $a58 ; 4 - sta $a59 ; 4 - sta $a5a ; 4 - sta $a5b ; 4 - sta $a5c ; 4 - sta $a5d ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - lda #$08 ; 2 - sta $6d0 ; 4 - sta $6d1 ; 4 - sta $6d2 ; 4 - sta $6d3 ; 4 - sta $6d4 ; 4 - sta $6d5 ; 4 - sta $6d6 ; 4 - sta $6d7 ; 4 - sta $6d8 ; 4 - sta $6d9 ; 4 - sta $6da ; 4 - sta $6db ; 4 - sta $6dc ; 4 - sta $6dd ; 4 - lda TEMP ; 3 - - -;========= -; 84(21) = $6d0 - - bit PAGE0 ; 4 - lda #$0d ; 2 - sta $ad0 ; 4 - sta $ad1 ; 4 - sta $ad2 ; 4 - sta $ad3 ; 4 - sta $ad4 ; 4 - sta $ad5 ; 4 - sta $ad6 ; 4 - sta $ad7 ; 4 - sta $ad8 ; 4 - sta $ad9 ; 4 - sta $ada ; 4 - sta $adb ; 4 - sta $adc ; 4 - sta $add ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - lda #$0f ; 2 - sta $6d0 ; 4 - sta $6d1 ; 4 - sta $6d2 ; 4 - sta $6d3 ; 4 - sta $6d4 ; 4 - sta $6d5 ; 4 - sta $6d6 ; 4 - sta $6d7 ; 4 - sta $6d8 ; 4 - sta $6d9 ; 4 - sta $6da ; 4 - sta $6db ; 4 - sta $6dc ; 4 - sta $6dd ; 4 - lda TEMP ; 3 - -; 85 - - bit PAGE0 ; 4 - lda #$0d ; 2 - sta $ad0 ; 4 - sta $ad1 ; 4 - sta $ad2 ; 4 - sta $ad3 ; 4 - sta $ad4 ; 4 - sta $ad5 ; 4 - sta $ad6 ; 4 - sta $ad7 ; 4 - sta $ad8 ; 4 - sta $ad9 ; 4 - sta $ada ; 4 - sta $adb ; 4 - sta $adc ; 4 - sta $add ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - lda #$80 ; 2 - sta $6d0 ; 4 - sta $6d1 ; 4 - sta $6d2 ; 4 - sta $6d3 ; 4 - sta $6d4 ; 4 - sta $6d5 ; 4 - sta $6d6 ; 4 - sta $6d7 ; 4 - sta $6d8 ; 4 - sta $6d9 ; 4 - sta $6da ; 4 - sta $6db ; 4 - sta $6dc ; 4 - sta $6dd ; 4 - lda TEMP ; 3 - -; 86 - - bit PAGE0 ; 4 - lda #$00 ; 2 - sta $ad0 ; 4 - sta $ad1 ; 4 - sta $ad2 ; 4 - sta $ad3 ; 4 - sta $ad4 ; 4 - sta $ad5 ; 4 - sta $ad6 ; 4 - sta $ad7 ; 4 - sta $ad8 ; 4 - sta $ad9 ; 4 - sta $ada ; 4 - sta $adb ; 4 - sta $adc ; 4 - sta $add ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - lda #$00 ; 2 - sta $6d0 ; 4 - sta $6d1 ; 4 - sta $6d2 ; 4 - sta $6d3 ; 4 - sta $6d4 ; 4 - sta $6d5 ; 4 - sta $6d6 ; 4 - sta $6d7 ; 4 - sta $6d8 ; 4 - sta $6d9 ; 4 - sta $6da ; 4 - sta $6db ; 4 - sta $6dc ; 4 - sta $6dd ; 4 - lda TEMP ; 3 - -; 87 - - bit PAGE0 ; 4 - lda #$00 ; 2 - sta $ad0 ; 4 - sta $ad1 ; 4 - sta $ad2 ; 4 - sta $ad3 ; 4 - sta $ad4 ; 4 - sta $ad5 ; 4 - sta $ad6 ; 4 - sta $ad7 ; 4 - sta $ad8 ; 4 - sta $ad9 ; 4 - sta $ada ; 4 - sta $adb ; 4 - sta $adc ; 4 - sta $add ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - lda #$0c ; 2 - sta $750 ; 4 - sta $751 ; 4 - sta $752 ; 4 - sta $753 ; 4 - sta $754 ; 4 - sta $755 ; 4 - sta $756 ; 4 - sta $757 ; 4 - sta $758 ; 4 - sta $759 ; 4 - sta $75a ; 4 - sta $75b ; 4 - sta $75c ; 4 - sta $75d ; 4 - lda TEMP ; 3 - - -;========= -; 88(L22) = $750 - - bit PAGE0 ; 4 - lda #$0e ; 2 - sta $b50 ; 4 - sta $b51 ; 4 - sta $b52 ; 4 - sta $b53 ; 4 - sta $b54 ; 4 - sta $b55 ; 4 - sta $b56 ; 4 - sta $b57 ; 4 - sta $b58 ; 4 - sta $b59 ; 4 - sta $b5a ; 4 - sta $b5b ; 4 - sta $b5c ; 4 - sta $b5d ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - lda #$0f ; 2 - sta $750 ; 4 - sta $751 ; 4 - sta $752 ; 4 - sta $753 ; 4 - sta $754 ; 4 - sta $755 ; 4 - sta $756 ; 4 - sta $757 ; 4 - sta $758 ; 4 - sta $759 ; 4 - sta $75a ; 4 - sta $75b ; 4 - sta $75c ; 4 - sta $75d ; 4 - lda TEMP ; 3 - -; 89 - - bit PAGE0 ; 4 - lda #$0e ; 2 - sta $b50 ; 4 - sta $b51 ; 4 - sta $b52 ; 4 - sta $b53 ; 4 - sta $b54 ; 4 - sta $b55 ; 4 - sta $b56 ; 4 - sta $b57 ; 4 - sta $b58 ; 4 - sta $b59 ; 4 - sta $b5a ; 4 - sta $b5b ; 4 - sta $b5c ; 4 - sta $b5d ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - lda #$c0 ; 2 - sta $750 ; 4 - sta $751 ; 4 - sta $752 ; 4 - sta $753 ; 4 - sta $754 ; 4 - sta $755 ; 4 - sta $756 ; 4 - sta $757 ; 4 - sta $758 ; 4 - sta $759 ; 4 - sta $75a ; 4 - sta $75b ; 4 - sta $75c ; 4 - sta $75d ; 4 - lda TEMP ; 3 - -; 90 - - bit PAGE0 ; 4 - lda #$00 ; 2 - sta $b50 ; 4 - sta $b51 ; 4 - sta $b52 ; 4 - sta $b53 ; 4 - sta $b54 ; 4 - sta $b55 ; 4 - sta $b56 ; 4 - sta $b57 ; 4 - sta $b58 ; 4 - sta $b59 ; 4 - sta $b5a ; 4 - sta $b5b ; 4 - sta $b5c ; 4 - sta $b5d ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - lda #$00 ; 2 - sta $750 ; 4 - sta $751 ; 4 - sta $752 ; 4 - sta $753 ; 4 - sta $754 ; 4 - sta $755 ; 4 - sta $756 ; 4 - sta $757 ; 4 - sta $758 ; 4 - sta $759 ; 4 - sta $75a ; 4 - sta $75b ; 4 - sta $75c ; 4 - sta $75d ; 4 - lda TEMP ; 3 - -; 91 - - bit PAGE0 ; 4 - lda #$00 ; 2 - sta $b50 ; 4 - sta $b51 ; 4 - sta $b52 ; 4 - sta $b53 ; 4 - sta $b54 ; 4 - sta $b55 ; 4 - sta $b56 ; 4 - sta $b57 ; 4 - sta $b58 ; 4 - sta $b59 ; 4 - sta $b5a ; 4 - sta $b5b ; 4 - sta $b5c ; 4 - sta $b5d ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - lda #$09 ; 2 - sta $7d0 ; 4 - sta $7d1 ; 4 - sta $7d2 ; 4 - sta $7d3 ; 4 - sta $7d4 ; 4 - sta $7d5 ; 4 - sta $7d6 ; 4 - sta $7d7 ; 4 - sta $7d8 ; 4 - sta $7d9 ; 4 - sta $7da ; 4 - sta $7db ; 4 - sta $7dc ; 4 - sta $7dd ; 4 - lda TEMP ; 3 - - -;========= -; 92(L23) = $7d0 - - bit PAGE0 ; 4 - lda #$0d ; 2 - sta $bd0 ; 4 - sta $bd1 ; 4 - sta $bd2 ; 4 - sta $bd3 ; 4 - sta $bd4 ; 4 - sta $bd5 ; 4 - sta $bd6 ; 4 - sta $bd7 ; 4 - sta $bd8 ; 4 - sta $bd9 ; 4 - sta $bda ; 4 - sta $bdb ; 4 - sta $bdc ; 4 - sta $bdd ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - lda #$0f ; 2 - sta $7d0 ; 4 - sta $7d1 ; 4 - sta $7d2 ; 4 - sta $7d3 ; 4 - sta $7d4 ; 4 - sta $7d5 ; 4 - sta $7d6 ; 4 - sta $7d7 ; 4 - sta $7d8 ; 4 - sta $7d9 ; 4 - sta $7da ; 4 - sta $7db ; 4 - sta $7dc ; 4 - sta $7dd ; 4 - lda TEMP ; 3 - -; 93 - - bit PAGE0 ; 4 - lda #$0d ; 2 - sta $bd0 ; 4 - sta $bd1 ; 4 - sta $bd2 ; 4 - sta $bd3 ; 4 - sta $bd4 ; 4 - sta $bd5 ; 4 - sta $bd6 ; 4 - sta $bd7 ; 4 - sta $bd8 ; 4 - sta $bd9 ; 4 - sta $bda ; 4 - sta $bdb ; 4 - sta $bdc ; 4 - sta $bdd ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - lda #$90 ; 2 - sta $7d0 ; 4 - sta $7d1 ; 4 - sta $7d2 ; 4 - sta $7d3 ; 4 - sta $7d4 ; 4 - sta $7d5 ; 4 - sta $7d6 ; 4 - sta $7d7 ; 4 - sta $7d8 ; 4 - sta $7d9 ; 4 - sta $7da ; 4 - sta $7db ; 4 - sta $7dc ; 4 - sta $7dd ; 4 - lda TEMP ; 3 - -; 94 - - bit PAGE0 ; 4 - lda #$00 ; 2 - sta $bd0 ; 4 - sta $bd1 ; 4 - sta $bd2 ; 4 - sta $bd3 ; 4 - sta $bd4 ; 4 - sta $bd5 ; 4 - sta $bd6 ; 4 - sta $bd7 ; 4 - sta $bd8 ; 4 - sta $bd9 ; 4 - sta $bda ; 4 - sta $bdb ; 4 - sta $bdc ; 4 - sta $bdd ; 4 - lda TEMP ; 3 - - bit PAGE1 ; 4 - lda #$00 ; 2 - sta $7d0 ; 4 - sta $7d1 ; 4 - sta $7d2 ; 4 - sta $7d3 ; 4 - sta $7d4 ; 4 - sta $7d5 ; 4 - sta $7d6 ; 4 - sta $7d7 ; 4 - sta $7d8 ; 4 - sta $7d9 ; 4 - sta $7da ; 4 - sta $7db ; 4 - sta $7dc ; 4 - sta $7dd ; 4 - lda TEMP ; 3 - -; 95 - - bit PAGE0 ; 4 - lda #$00 ; 2 - sta $bd0 ; 4 - sta $bd1 ; 4 - sta $bd2 ; 4 - sta $bd3 ; 4 - sta $bd4 ; 4 - sta $bd5 ; 4 - sta $bd6 ; 4 - sta $bd7 ; 4 - sta $bd8 ; 4 - sta $bd9 ; 4 - sta $bda ; 4 - sta $bdb ; 4 - sta $bdc ; 4 - sta $bdd ; 4 - lda TEMP ; 3 - - ; 65 cycles - bit PAGE1 ; 4 - lda #$03 ; 2 - sta $400 ; 4 - sta $401 ; 4 - sta $402 ; 4 - sta $403 ; 4 - sta $404 ; 4 - sta $405 ; 4 - sta $406 ; 4 - sta $407 ; 4 - sta $408 ; 4 - sta $409 ; 4 - sta $40a ; 4 - sta $40b ; 4 - sta $40c ; 4 - sta $40d ; 4 - lda TEMP ; 3 - - diff --git a/demosplash/movement_table.s b/demosplash/movement_table.s new file mode 100644 index 00000000..1d2b2574 --- /dev/null +++ b/demosplash/movement_table.s @@ -0,0 +1,257 @@ +movement_table: + .byte $01 ; 0 -> 1 + .byte $02 ; 1 -> 2 + .byte $03 ; 2 -> 3 + .byte $04 ; 3 -> 4 + .byte $05 ; 4 -> 5 + .byte $06 ; 5 -> 6 + .byte $07 ; 6 -> 7 + .byte $08 ; 7 -> 8 + .byte $09 ; 8 -> 9 + .byte $0A ; 9 -> 10 + .byte $0B ; 10 -> 11 + .byte $0C ; 11 -> 12 + .byte $0D ; 12 -> 13 + .byte $0E ; 13 -> 14 + .byte $0F ; 14 -> 15 + .byte $10 ; 15 -> 16 + .byte $11 ; 16 -> 17 + .byte $12 ; 17 -> 18 + .byte $13 ; 18 -> 19 + .byte $14 ; 19 -> 20 + .byte $15 ; 20 -> 21 + .byte $16 ; 21 -> 22 + .byte $17 ; 22 -> 23 + .byte $18 ; 23 -> 24 + .byte $19 ; 24 -> 25 + .byte $1A ; 25 -> 26 + .byte $1B ; 26 -> 27 + .byte $1C ; 27 -> 28 + .byte $1D ; 28 -> 29 + .byte $1E ; 29 -> 30 + .byte $1F ; 30 -> 31 + .byte $20 ; 31 -> 32 + .byte $21 ; 32 -> 33 + .byte $22 ; 33 -> 34 + .byte $23 ; 34 -> 35 + .byte $24 ; 35 -> 36 + .byte $25 ; 36 -> 37 + .byte $26 ; 37 -> 38 + .byte $27 ; 38 -> 39 + .byte $28 ; 39 -> 40 + .byte $29 ; 40 -> 41 + .byte $2A ; 41 -> 42 + .byte $2B ; 42 -> 43 + .byte $2C ; 43 -> 44 + .byte $2D ; 44 -> 45 + .byte $2E ; 45 -> 46 + .byte $2F ; 46 -> 47 + .byte $30 ; 47 -> 48 + .byte $31 ; 48 -> 49 + .byte $32 ; 49 -> 50 + .byte $33 ; 50 -> 51 + .byte $34 ; 51 -> 52 + .byte $35 ; 52 -> 53 + .byte $36 ; 53 -> 54 + .byte $37 ; 54 -> 55 + .byte $38 ; 55 -> 56 + .byte $39 ; 56 -> 57 + .byte $3A ; 57 -> 58 + .byte $3B ; 58 -> 59 + .byte $3C ; 59 -> 60 + .byte $3D ; 60 -> 61 + .byte $3E ; 61 -> 62 + .byte $3F ; 62 -> 63 + .byte $40 ; 63 -> 64 + .byte $41 ; 64 -> 65 + .byte $42 ; 65 -> 66 + .byte $43 ; 66 -> 67 + .byte $44 ; 67 -> 68 + .byte $45 ; 68 -> 69 + .byte $46 ; 69 -> 70 + .byte $47 ; 70 -> 71 + .byte $48 ; 71 -> 72 + .byte $49 ; 72 -> 73 + .byte $4A ; 73 -> 74 + .byte $4B ; 74 -> 75 + .byte $4C ; 75 -> 76 + .byte $4D ; 76 -> 77 + .byte $4E ; 77 -> 78 + .byte $4F ; 78 -> 79 + .byte $50 ; 79 -> 80 + .byte $51 ; 80 -> 81 + .byte $52 ; 81 -> 82 + .byte $53 ; 82 -> 83 + .byte $54 ; 83 -> 84 + .byte $55 ; 84 -> 85 + .byte $56 ; 85 -> 86 + .byte $57 ; 86 -> 87 + .byte $58 ; 87 -> 88 + .byte $59 ; 88 -> 89 + .byte $5A ; 89 -> 90 + .byte $5B ; 90 -> 91 + .byte $5C ; 91 -> 92 + .byte $5D ; 92 -> 93 + .byte $5E ; 93 -> 94 + .byte $5F ; 94 -> 95 + .byte $60 ; 95 -> 96 + .byte $61 ; 96 -> 97 + .byte $62 ; 97 -> 98 + .byte $63 ; 98 -> 99 + .byte $64 ; 99 -> 100 + .byte $65 ; 100 -> 101 + .byte $66 ; 101 -> 102 + .byte $67 ; 102 -> 103 + .byte $68 ; 103 -> 104 + .byte $69 ; 104 -> 105 + .byte $6A ; 105 -> 106 + .byte $6B ; 106 -> 107 + .byte $6C ; 107 -> 108 + .byte $6D ; 108 -> 109 + .byte $6E ; 109 -> 110 + .byte $6F ; 110 -> 111 + .byte $70 ; 111 -> 112 + .byte $71 ; 112 -> 113 + .byte $72 ; 113 -> 114 + .byte $73 ; 114 -> 115 + .byte $74 ; 115 -> 116 + .byte $75 ; 116 -> 117 + .byte $76 ; 117 -> 118 + .byte $77 ; 118 -> 119 + .byte $78 ; 119 -> 120 + .byte $79 ; 120 -> 121 + .byte $7A ; 121 -> 122 + .byte $7B ; 122 -> 123 + .byte $FB ; 123 -> 251 + .byte $7B ; 124 -> 123 + .byte $7B ; 125 -> 123 + .byte $7B ; 126 -> 123 + .byte $7B ; 127 -> 123 + .byte $00 ; 128 -> 0 + .byte $80 ; 129 -> 128 + .byte $81 ; 130 -> 129 + .byte $82 ; 131 -> 130 + .byte $83 ; 132 -> 131 + .byte $84 ; 133 -> 132 + .byte $85 ; 134 -> 133 + .byte $86 ; 135 -> 134 + .byte $87 ; 136 -> 135 + .byte $88 ; 137 -> 136 + .byte $89 ; 138 -> 137 + .byte $8A ; 139 -> 138 + .byte $8B ; 140 -> 139 + .byte $8C ; 141 -> 140 + .byte $8D ; 142 -> 141 + .byte $8E ; 143 -> 142 + .byte $8F ; 144 -> 143 + .byte $90 ; 145 -> 144 + .byte $91 ; 146 -> 145 + .byte $92 ; 147 -> 146 + .byte $93 ; 148 -> 147 + .byte $94 ; 149 -> 148 + .byte $95 ; 150 -> 149 + .byte $96 ; 151 -> 150 + .byte $97 ; 152 -> 151 + .byte $98 ; 153 -> 152 + .byte $99 ; 154 -> 153 + .byte $9A ; 155 -> 154 + .byte $9B ; 156 -> 155 + .byte $9C ; 157 -> 156 + .byte $9D ; 158 -> 157 + .byte $9E ; 159 -> 158 + .byte $9F ; 160 -> 159 + .byte $A0 ; 161 -> 160 + .byte $A1 ; 162 -> 161 + .byte $A2 ; 163 -> 162 + .byte $A3 ; 164 -> 163 + .byte $A4 ; 165 -> 164 + .byte $A5 ; 166 -> 165 + .byte $A6 ; 167 -> 166 + .byte $A7 ; 168 -> 167 + .byte $A8 ; 169 -> 168 + .byte $A9 ; 170 -> 169 + .byte $AA ; 171 -> 170 + .byte $AB ; 172 -> 171 + .byte $AC ; 173 -> 172 + .byte $AD ; 174 -> 173 + .byte $AE ; 175 -> 174 + .byte $AF ; 176 -> 175 + .byte $B0 ; 177 -> 176 + .byte $B1 ; 178 -> 177 + .byte $B2 ; 179 -> 178 + .byte $B3 ; 180 -> 179 + .byte $B4 ; 181 -> 180 + .byte $B5 ; 182 -> 181 + .byte $B6 ; 183 -> 182 + .byte $B7 ; 184 -> 183 + .byte $B8 ; 185 -> 184 + .byte $B9 ; 186 -> 185 + .byte $BA ; 187 -> 186 + .byte $BB ; 188 -> 187 + .byte $BC ; 189 -> 188 + .byte $BD ; 190 -> 189 + .byte $BE ; 191 -> 190 + .byte $BF ; 192 -> 191 + .byte $C0 ; 193 -> 192 + .byte $C1 ; 194 -> 193 + .byte $C2 ; 195 -> 194 + .byte $C3 ; 196 -> 195 + .byte $C4 ; 197 -> 196 + .byte $C5 ; 198 -> 197 + .byte $C6 ; 199 -> 198 + .byte $C7 ; 200 -> 199 + .byte $C8 ; 201 -> 200 + .byte $C9 ; 202 -> 201 + .byte $CA ; 203 -> 202 + .byte $CB ; 204 -> 203 + .byte $CC ; 205 -> 204 + .byte $CD ; 206 -> 205 + .byte $CE ; 207 -> 206 + .byte $CF ; 208 -> 207 + .byte $D0 ; 209 -> 208 + .byte $D1 ; 210 -> 209 + .byte $D2 ; 211 -> 210 + .byte $D3 ; 212 -> 211 + .byte $D4 ; 213 -> 212 + .byte $D5 ; 214 -> 213 + .byte $D6 ; 215 -> 214 + .byte $D7 ; 216 -> 215 + .byte $D8 ; 217 -> 216 + .byte $D9 ; 218 -> 217 + .byte $DA ; 219 -> 218 + .byte $DB ; 220 -> 219 + .byte $DC ; 221 -> 220 + .byte $DD ; 222 -> 221 + .byte $DE ; 223 -> 222 + .byte $DF ; 224 -> 223 + .byte $E0 ; 225 -> 224 + .byte $E1 ; 226 -> 225 + .byte $E2 ; 227 -> 226 + .byte $E3 ; 228 -> 227 + .byte $E4 ; 229 -> 228 + .byte $E5 ; 230 -> 229 + .byte $E6 ; 231 -> 230 + .byte $E7 ; 232 -> 231 + .byte $E8 ; 233 -> 232 + .byte $E9 ; 234 -> 233 + .byte $EA ; 235 -> 234 + .byte $EB ; 236 -> 235 + .byte $EC ; 237 -> 236 + .byte $ED ; 238 -> 237 + .byte $EE ; 239 -> 238 + .byte $EF ; 240 -> 239 + .byte $F0 ; 241 -> 240 + .byte $F1 ; 242 -> 241 + .byte $F2 ; 243 -> 242 + .byte $F3 ; 244 -> 243 + .byte $F4 ; 245 -> 244 + .byte $F5 ; 246 -> 245 + .byte $F6 ; 247 -> 246 + .byte $F7 ; 248 -> 247 + .byte $F8 ; 249 -> 248 + .byte $F9 ; 250 -> 249 + .byte $FA ; 251 -> 250 + .byte $FB ; 252 -> 251 + .byte $FC ; 253 -> 252 + .byte $FD ; 254 -> 253 + .byte $FE ; 255 -> 254 diff --git a/demosplash/offsets_table.s b/demosplash/offsets_table.s new file mode 100644 index 00000000..8485bb04 --- /dev/null +++ b/demosplash/offsets_table.s @@ -0,0 +1,34 @@ +y_lookup_h: +.byte >($9934),>($9965),>($9996),>($99C7),>($99F8),>($9A29),>($9A5A),>($9A8B) +.byte >($9ABC),>($9AED),>($9B1E),>($9B4F),>($9B80),>($9BB1),>($9BE2),>($9C13) +.byte >($9C44),>($9C75),>($9CA6),>($9CD7),>($9D08),>($9D39),>($9D6A),>($9D9B) +.byte >($9DCC),>($9DFD),>($9E2E),>($9E5F),>($9E90),>($9EC1),>($9EF2),>($9F23) +.byte >($9F54),>($9F85),>($9FB6),>($9FE7),>($A018),>($A049),>($A07A),>($A0AB) +.byte >($A0DC),>($A10D),>($A13E),>($A16F),>($A1A0),>($A1D1),>($A202),>($A233) +.byte >($A264),>($A295),>($A2C6),>($A2F7),>($A328),>($A359),>($A38A),>($A3BB) +.byte >($A3EC),>($A41D),>($A44E),>($A47F),>($A4B0),>($A4E1),>($A512),>($A543) +.byte >($A574),>($A5A5),>($A5D6),>($A607),>($A638),>($A669),>($A69A),>($A6CB) +.byte >($A6FC),>($A72D),>($A75E),>($A78F),>($A7C0),>($A7F1),>($A822),>($A853) +.byte >($A884),>($A8B5),>($A8E6),>($A917),>($A948),>($A979),>($A9AA),>($A9DB) +.byte >($AA0C),>($AA3D),>($AA6E),>($AA9F),>($AAD0),>($AB01),>($AB32),>($AB63) +.byte >($AB94),>($ABC5),>($ABF6),>($AC27),>($AC58),>($AC89),>($ACBA),>($ACEB) +.byte >($AD1C),>($AD4D),>($AD7E),>($ADAF),>($ADE0),>($AE11),>($AE42),>($AE73) +.byte >($AEA4),>($AED5),>($AF06),>($AF37),>($AF68),>($AF99),>($AFCA),>($AFFB) +.byte >($B02C),>($B05D),>($B08E),>($B0BF),>($B0F0),>($B121),>($B152),>($B183) +y_lookup_l: +.byte <($9934),<($9965),<($9996),<($99C7),<($99F8),<($9A29),<($9A5A),<($9A8B) +.byte <($9ABC),<($9AED),<($9B1E),<($9B4F),<($9B80),<($9BB1),<($9BE2),<($9C13) +.byte <($9C44),<($9C75),<($9CA6),<($9CD7),<($9D08),<($9D39),<($9D6A),<($9D9B) +.byte <($9DCC),<($9DFD),<($9E2E),<($9E5F),<($9E90),<($9EC1),<($9EF2),<($9F23) +.byte <($9F54),<($9F85),<($9FB6),<($9FE7),<($A018),<($A049),<($A07A),<($A0AB) +.byte <($A0DC),<($A10D),<($A13E),<($A16F),<($A1A0),<($A1D1),<($A202),<($A233) +.byte <($A264),<($A295),<($A2C6),<($A2F7),<($A328),<($A359),<($A38A),<($A3BB) +.byte <($A3EC),<($A41D),<($A44E),<($A47F),<($A4B0),<($A4E1),<($A512),<($A543) +.byte <($A574),<($A5A5),<($A5D6),<($A607),<($A638),<($A669),<($A69A),<($A6CB) +.byte <($A6FC),<($A72D),<($A75E),<($A78F),<($A7C0),<($A7F1),<($A822),<($A853) +.byte <($A884),<($A8B5),<($A8E6),<($A917),<($A948),<($A979),<($A9AA),<($A9DB) +.byte <($AA0C),<($AA3D),<($AA6E),<($AA9F),<($AAD0),<($AB01),<($AB32),<($AB63) +.byte <($AB94),<($ABC5),<($ABF6),<($AC27),<($AC58),<($AC89),<($ACBA),<($ACEB) +.byte <($AD1C),<($AD4D),<($AD7E),<($ADAF),<($ADE0),<($AE11),<($AE42),<($AE73) +.byte <($AEA4),<($AED5),<($AF06),<($AF37),<($AF68),<($AF99),<($AFCA),<($AFFB) +.byte <($B02C),<($B05D),<($B08E),<($B0BF),<($B0F0),<($B121),<($B152),<($B183) diff --git a/demosplash/offsets_table2.s b/demosplash/offsets_table2.s new file mode 100644 index 00000000..3328f104 --- /dev/null +++ b/demosplash/offsets_table2.s @@ -0,0 +1,34 @@ +y_lookup2_h: +.byte >($95E4),>($9613),>($9642),>($9671),>($96A0),>($96CF),>($96FE),>($972D) +.byte >($975C),>($978B),>($97BA),>($97E9),>($9818),>($9847),>($9876),>($98A5) +.byte >($98D4),>($9903),>($9932),>($9961),>($9990),>($99BF),>($99EE),>($9A1D) +.byte >($9A4C),>($9A7B),>($9AAA),>($9AD9),>($9B08),>($9B37),>($9B66),>($9B95) +.byte >($9BC4),>($9BF3),>($9C22),>($9C51),>($9C80),>($9CAF),>($9CDE),>($9D0D) +.byte >($9D3C),>($9D6B),>($9D9A),>($9DC9),>($9DF8),>($9E27),>($9E56),>($9E85) +.byte >($9EB4),>($9EE3),>($9F12),>($9F41),>($9F70),>($9F9F),>($9FCE),>($9FFD) +.byte >($A02C),>($A05B),>($A08A),>($A0B9),>($A0E8),>($A117),>($A146),>($A175) +.byte >($A1A4),>($A1D3),>($A202),>($A231),>($A260),>($A28F),>($A2BE),>($A2ED) +.byte >($A31C),>($A34B),>($A37A),>($A3A9),>($A3D8),>($A407),>($A436),>($A465) +.byte >($A494),>($A4C3),>($A4F2),>($A521),>($A550),>($A57F),>($A5AE),>($A5DD) +.byte >($A60C),>($A63B),>($A66A),>($A699),>($A6C8),>($A6F7),>($A726),>($A755) +.byte >($A784),>($A7B3),>($A7E2),>($A811),>($A840),>($A86F),>($A89E),>($A8CD) +.byte >($A8FC),>($A92B),>($A95A),>($A989),>($A9B8),>($A9E7),>($AA16),>($AA45) +.byte >($AA74),>($AAA3),>($AAD2),>($AB01),>($AB30),>($AB5F),>($AB8E),>($ABBD) +.byte >($ABEC),>($AC1B),>($AC4A),>($AC79),>($ACA8),>($ACD7),>($AD06),>($AD35) +y_lookup2_l: +.byte <($95E4),<($9613),<($9642),<($9671),<($96A0),<($96CF),<($96FE),<($972D) +.byte <($975C),<($978B),<($97BA),<($97E9),<($9818),<($9847),<($9876),<($98A5) +.byte <($98D4),<($9903),<($9932),<($9961),<($9990),<($99BF),<($99EE),<($9A1D) +.byte <($9A4C),<($9A7B),<($9AAA),<($9AD9),<($9B08),<($9B37),<($9B66),<($9B95) +.byte <($9BC4),<($9BF3),<($9C22),<($9C51),<($9C80),<($9CAF),<($9CDE),<($9D0D) +.byte <($9D3C),<($9D6B),<($9D9A),<($9DC9),<($9DF8),<($9E27),<($9E56),<($9E85) +.byte <($9EB4),<($9EE3),<($9F12),<($9F41),<($9F70),<($9F9F),<($9FCE),<($9FFD) +.byte <($A02C),<($A05B),<($A08A),<($A0B9),<($A0E8),<($A117),<($A146),<($A175) +.byte <($A1A4),<($A1D3),<($A202),<($A231),<($A260),<($A28F),<($A2BE),<($A2ED) +.byte <($A31C),<($A34B),<($A37A),<($A3A9),<($A3D8),<($A407),<($A436),<($A465) +.byte <($A494),<($A4C3),<($A4F2),<($A521),<($A550),<($A57F),<($A5AE),<($A5DD) +.byte <($A60C),<($A63B),<($A66A),<($A699),<($A6C8),<($A6F7),<($A726),<($A755) +.byte <($A784),<($A7B3),<($A7E2),<($A811),<($A840),<($A86F),<($A89E),<($A8CD) +.byte <($A8FC),<($A92B),<($A95A),<($A989),<($A9B8),<($A9E7),<($AA16),<($AA45) +.byte <($AA74),<($AAA3),<($AAD2),<($AB01),<($AB30),<($AB5F),<($AB8E),<($ABBD) +.byte <($ABEC),<($AC1B),<($AC4A),<($AC79),<($ACA8),<($ACD7),<($AD06),<($AD35) diff --git a/demosplash/starbase.s b/demosplash/starbase.s index 905ef12e..f176a36b 100644 --- a/demosplash/starbase.s +++ b/demosplash/starbase.s @@ -20,7 +20,7 @@ starbase_new_room: lda #0 sta GAME_OVER - jsr ootw_city + jsr starbase_setup_room c4_check_done: lda GAME_OVER @@ -57,17 +57,9 @@ wait_loop: rts .include "starbase_action.s" -;.include "text_print.s" -;.include "gr_pageflip.s" -;.include "gr_unrle.s" -;.include "gr_fast_clear.s" -;.include "gr_copy.s" .include "gr_hlin.s" -.include "gr_twoscreen_scroll.s" .include "gr_putsprite.s" -;.include "gr_putsprite_flipped.s" .include "gr_putsprite_crop.s" -;.include "gr_offsets.s" .include "keyboard.s" .include "starbase_astronaut.s" diff --git a/demosplash/starbase_action.s b/demosplash/starbase_action.s index 61885d14..965513cb 100644 --- a/demosplash/starbase_action.s +++ b/demosplash/starbase_action.s @@ -4,12 +4,12 @@ ; starbase_init ;======================= ;======================= - ; call once before entering city for first time + ; call once before entering starbase for first time + starbase_init: lda #0 sta WHICH_ROOM sta BG_SCROLL - sta DIRECTION ; left sta LASER_OUT sta BLAST_OUT sta CHARGER_COUNT @@ -20,18 +20,16 @@ starbase_init: sta ACTION_TRIGGERED sta ACTION_COUNT + lda #1 + sta DIRECTION ; right + lda #100 sta GUN_CHARGE ;==================== ; reset doors - lda #DOOR_STATUS_CLOSED - sta c4_r0_door0_status - sta c4_r0_door1_status lda #DOOR_STATUS_LOCKED - sta c4_r0_door2_status - sta c4_r0_door3_status - sta c4_r0_door4_status + sta c4_r0_door0_status ;=============== ; set up aliens @@ -58,23 +56,14 @@ starbase_init: lda #1 sta HAVE_GUN - lda #19 + lda #0 sta ASTRONAUT_X - lda #230 ; start offscreen + lda #10 sta ASTRONAUT_Y - lda #28 - sta fall_down_destination_smc+1 - - lda #28 - sta fall_sideways_destination_smc+1 - - lda #P_FALLING_DOWN ; fall into level + lda #P_STANDING sta ASTRONAUT_STATE - lda #$2c - sta falling_stop_smc - rts @@ -83,7 +72,7 @@ starbase_init: ; enter new room in jail ;=========================== ;=========================== -ootw_city: +starbase_setup_room: ;================================= ; setup vars @@ -114,12 +103,12 @@ ootw_city: bne room1 ;====================== - ; Room0 with recharger + ; Room0 with ramp room0: ; set up doors - lda #5 + lda #2 sta NUM_DOORS lda #(jail_rle) @@ -343,47 +328,10 @@ ootw_room_already_set: ;============================ ;============================ - ; City Loop + ; starbase Loop ;============================ ;============================ -city_loop: - - ;====================================== - ; draw split screen if falling into pit - ;====================================== - - ; only fall in room3 - lda WHICH_ROOM - cmp #3 - bne no_scroll - - lda BG_SCROLL - beq no_scroll - - lda FRAMEL ; slow down a bit - and #$1 - bne no_scroll_progress - - inc BG_SCROLL - inc BG_SCROLL -no_scroll_progress: - - ldy BG_SCROLL - cpy #48 - bne scroll_it - - ; exit to next room when done scrolling - - lda #0 - sta BG_SCROLL - lda #4 - sta WHICH_ROOM - rts - -scroll_it: - jsr gr_twoscreen_scroll -no_scroll: - +starbase_loop: ;================================ ;================================ @@ -393,101 +341,6 @@ no_scroll: jsr gr_copy_to_current - - ;========================= - ;========================= - ; Handle Falling into Pit - ;========================= - ;========================= - - lda WHICH_ROOM - cmp #3 - beq check_falling - cmp #4 - beq check_falling - - jmp not_falling - -check_falling: - ; only fall if falling sideways/down - lda ASTRONAUT_STATE - cmp #P_FALLING_SIDEWAYS - beq falling_sideways - cmp #P_FALLING_DOWN - beq falling_down - - jmp not_falling - -falling_sideways: - ; if falling sideways - - lda BG_SCROLL - cmp #16 - bcc before ; blt - - lda FRAMEL - and #$3 - bne no_fall_undo - - dec ASTRONAUT_X - dec ASTRONAUT_Y - dec ASTRONAUT_Y - dec ASTRONAUT_Y - dec ASTRONAUT_Y -no_fall_undo: - jmp scroll_check -before: - - lda FRAMEL - and #$1 - bne extra_boost - - inc ASTRONAUT_X -extra_boost: - jmp scroll_check - - -falling_down: - ; if falling down, and Y>=32, then impale - lda ASTRONAUT_Y - cmp #32 - bcc scroll_check ; blt - - lda #9 - sta ASTRONAUT_X - - lda #38 - sta ASTRONAUT_Y - - lda #0 - sta GAIT - - lda #P_IMPALED - sta ASTRONAUT_STATE - - jmp not_falling - -scroll_check: - lda BG_SCROLL ; if done scrolling, re-enable falling - bne scroll_bg_check22 - - lda #$2c ; re-enable falling - sta falling_stop_smc - jmp not_far_enough - -scroll_bg_check22: - - lda ASTRONAUT_Y ; once Y=22, stop falling (scroll instead) - cmp #22 - bcc not_far_enough ; blt - - lda #$4c ; disable yinc in falling - sta falling_stop_smc - -not_far_enough: - -not_falling: - ;================================== ; draw background action ;================================== @@ -506,9 +359,9 @@ bg_room0: tay - lda #11 + lda #0 sta XPOS - lda #24 + lda #26 sta YPOS lda recharge_bg_progression,Y @@ -524,21 +377,6 @@ bg_room0: lsr tay - lda #5 - sta XPOS - lda #24 - sta YPOS - - lda recharge_sprite_progression,Y - sta INL - lda recharge_sprite_progression+1,Y - sta INH - - - - jsr put_sprite - - c4_no_bg_action: @@ -550,7 +388,7 @@ c4_no_bg_action: jsr handle_keypress ;=============================== - ; move physicist + ; move astronaut ;=============================== jsr move_astronaut @@ -568,84 +406,41 @@ c4_no_bg_action: done_room_limits: - ;============================= - ;============================= - ; Detect if falling off ledge - ;============================= - ;============================= + ;=============== + ; draw astronaut + ;=============== - ; only fall in room#3 + ; only have slope in room0 lda WHICH_ROOM - cmp #3 - bne regular_room - - ; don't start fall if impaled or already falling - lda ASTRONAUT_STATE - cmp #P_IMPALED - beq regular_room - cmp #P_FALLING_DOWN - beq regular_room - cmp #P_FALLING_SIDEWAYS - beq regular_room - - - ; only start falling if y>=18 - lda ASTRONAUT_Y - cmp #18 - bcc regular_room ; blt - - ; only start falling if x>=7 and positive - lda ASTRONAUT_X - bmi regular_room - cmp #7 - bcc regular_room ; blt - - lda ASTRONAUT_STATE - cmp #P_JUMPING - beq fall_sideways - - ; if not jumping then fall down - - lda #P_FALLING_DOWN - sta ASTRONAUT_STATE - - lda #2 - sta BG_SCROLL - - jmp regular_room - -fall_sideways: - - lda #P_FALLING_SIDEWAYS - sta ASTRONAUT_STATE - - lda #2 - sta BG_SCROLL - -regular_room: - - ;=============== - ; draw physicist - ;=============== - - ; if in charger, draw that - lda WHICH_ROOM ; charger only room0 bne just_draw_astronaut + ; adjust y for slope + lda ASTRONAUT_X - cmp #10 - bne just_draw_astronaut + cmp #11 + bcc asstr_above ; blt - lda GUN_CHARGE - cmp #200 - bcs just_draw_astronaut ; bge + cmp #22 + bcs asstr_below ; bge - lda #P_STANDING - sta ASTRONAUT_STATE + sec + sbc #11 + and #$fe ; our sprite code only draws even y + adc #11 - jsr draw_charger + jmp asstr_adjust_y - jmp after_draw_astronaut +asstr_below: + lda #22 + jmp asstr_adjust_y + +asstr_above: + lda #10 + +asstr_adjust_y: + sta ASTRONAUT_Y + + jsr recalc_walk_collision just_draw_astronaut: jsr draw_astronaut @@ -686,18 +481,18 @@ no_draw_alien: ;======================== lda WHICH_ROOM - cmp #2 - beq c4_room2_cover + beq c4_room0_cover cmp #4 beq c4_room4_cover jmp c4_no_fg_cover -c4_room2_cover: + +c4_room0_cover: lda #0 sta XPOS - lda #18 + lda #6 sta YPOS lda # -#define ANGLE_STEPS 16 +#define ANGLE_STEPS 64 + +static int double_to_fixed(double d) { + + int temp; + + temp=d*4096; + + return temp; + +} + int main(int argc, char **argv) { @@ -12,7 +23,7 @@ int main(int argc, char **argv) { printf("Sin\n"); for(i=0;i