diff --git a/graphics/hgr/plasma/Makefile b/graphics/hgr/plasma/Makefile index 67365b56..112052c3 100644 --- a/graphics/hgr/plasma/Makefile +++ b/graphics/hgr/plasma/Makefile @@ -15,7 +15,7 @@ plasma_hgr.dsk: HELLO OVAL PURPLE_WAVES ZEBRA JAWS TWIST OVAL_BOT $(DOS33) -y plasma_hgr.dsk BSAVE -a 0xc00 ZEBRA $(DOS33) -y plasma_hgr.dsk BSAVE -a 0xc00 JAWS $(DOS33) -y plasma_hgr.dsk BSAVE -a 0xc00 TWIST - $(DOS33) -y plasma_hgr.dsk BSAVE -a 0x378 OVAL_BOT + $(DOS33) -y plasma_hgr.dsk BSAVE -a 0x3F5 OVAL_BOT ### @@ -33,7 +33,7 @@ oval.o: oval.s ### OVAL_BOT: oval_bot.o - ld65 -o OVAL_BOT oval_bot.o -C $(LINKERSCRIPTS)/apple2_378.inc + ld65 -o OVAL_BOT oval_bot.o -C $(LINKERSCRIPTS)/apple2_3f5.inc oval_bot.o: oval_bot.s ca65 -o oval_bot.o oval_bot.s -l oval_bot.lst diff --git a/graphics/hgr/plasma/oval_bot.s b/graphics/hgr/plasma/oval_bot.s index 950620f2..264c854e 100644 --- a/graphics/hgr/plasma/oval_bot.s +++ b/graphics/hgr/plasma/oval_bot.s @@ -86,12 +86,10 @@ draw_oval: inc FRAME lda #191 ; YY -; sta HGR_Y create_yloop: -; dec HGR_Y + ; HGR_Y (YY) is in A here -; lda HGR_Y ; ldx #39 ; X is don't care? ldy #0 @@ -99,8 +97,6 @@ create_yloop: ; restore values - ldy #39 ; XX - lda HGR_Y ; YY calcsine_div2: @@ -113,7 +109,7 @@ calcsine_div2: ldx HGR_Y ; YY - + ldy #39 ; XX create_xloop: ;===================== @@ -147,6 +143,7 @@ ror_nop_smc: dec HGR_Y lda HGR_Y + cmp #$ff bne create_yloop ; we skip drawing line 0 as it makes it easier @@ -155,13 +152,13 @@ flip_pages: ; Y should be $FF here - iny +; iny lda HGR_PAGE cmp #$20 - beq done_page - iny + bne done_page + dey done_page: - ldx PAGE1,Y ; set display page to PAGE1 or PAGE2 + ldx PAGE1-$FE,Y ; set display page to PAGE1 or PAGE2 eor #$60 ; flip draw page between $400/$800 sta HGR_PAGE @@ -185,9 +182,8 @@ sinetable_base: ; for bot ; 3F5 - 7d = 378 - jmp oval +; jmp oval sinetable=$6000 -gbasl = $6100 -gbash = $6200 +