mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-02-05 21:34:30 +00:00
hgr: vgi: working on fast boxes
also fix some other bugs, need to check in more
This commit is contained in:
parent
6fc2ea40b3
commit
fb63c0742c
@ -7,7 +7,8 @@ EMPTYDISK = ../../../empty_disk/empty.dsk
|
||||
|
||||
all: boxes.dsk make_boxes_asm
|
||||
|
||||
boxes.dsk: HELLO MYST.BAS MYST_TINY.BAS MYST_TINY COOL_PATTERN COOL_BOT
|
||||
boxes.dsk: HELLO MYST.BAS MYST_TINY.BAS MYST_TINY COOL_PATTERN COOL_BOT \
|
||||
SLOW_TEST FAST_TEST
|
||||
cp $(EMPTYDISK) boxes.dsk
|
||||
$(DOS33) -y boxes.dsk SAVE A HELLO
|
||||
$(DOS33) -y boxes.dsk SAVE A MYST.BAS
|
||||
@ -15,6 +16,8 @@ boxes.dsk: HELLO MYST.BAS MYST_TINY.BAS MYST_TINY COOL_PATTERN COOL_BOT
|
||||
$(DOS33) -y boxes.dsk BSAVE -a 0xC00 MYST_TINY
|
||||
$(DOS33) -y boxes.dsk BSAVE -a 0xC00 COOL_PATTERN
|
||||
$(DOS33) -y boxes.dsk BSAVE -a 0x370 COOL_BOT
|
||||
$(DOS33) -y boxes.dsk BSAVE -a 0xC00 SLOW_TEST
|
||||
$(DOS33) -y boxes.dsk BSAVE -a 0xC00 FAST_TEST
|
||||
|
||||
###
|
||||
|
||||
@ -38,6 +41,24 @@ COOL_PATTERN: cool_pattern.o
|
||||
cool_pattern.o: cool_pattern.s
|
||||
ca65 -o cool_pattern.o cool_pattern.s -l cool_pattern.lst
|
||||
|
||||
###
|
||||
|
||||
SLOW_TEST: slow_test.o
|
||||
ld65 -o SLOW_TEST slow_test.o -C $(LINKERSCRIPTS)/apple2_c00.inc
|
||||
|
||||
slow_test.o: slow_test.s
|
||||
ca65 -o slow_test.o slow_test.s -l slow_test.lst
|
||||
|
||||
###
|
||||
|
||||
FAST_TEST: fast_test.o
|
||||
ld65 -o FAST_TEST fast_test.o -C $(LINKERSCRIPTS)/apple2_c00.inc
|
||||
|
||||
fast_test.o: fast_test.s
|
||||
ca65 -o fast_test.o fast_test.s -l fast_test.lst
|
||||
|
||||
|
||||
|
||||
###
|
||||
|
||||
COOL_BOT: cool_bot.o
|
||||
@ -79,4 +100,4 @@ make_boxes_asm.o: make_boxes_asm.c
|
||||
###
|
||||
|
||||
clean:
|
||||
rm -f *~ *.o *.lst MYST.BAS MYST_TINY.BAS MYST_TINY make_boxes make_boxes_asm COOL_PATTERN
|
||||
rm -f *~ *.o *.lst MYST.BAS MYST_TINY.BAS MYST_TINY make_boxes make_boxes_asm COOL_PATTERN SLOW_TEST
|
||||
|
306
graphics/hgr/boxes/fast_test.s
Normal file
306
graphics/hgr/boxes/fast_test.s
Normal file
@ -0,0 +1,306 @@
|
||||
; VGI Rectangle test
|
||||
|
||||
HGR_BITS = $1C
|
||||
|
||||
GBASL = $26
|
||||
GBASH = $27
|
||||
|
||||
|
||||
XRUN = $74
|
||||
COUNT = $75
|
||||
|
||||
HGR_COLOR = $E4
|
||||
|
||||
P0 = $F0
|
||||
P1 = $F1
|
||||
P2 = $F2
|
||||
P3 = $F3
|
||||
P4 = $F4
|
||||
P5 = $F5
|
||||
|
||||
HGR2 = $F3D8 ; clear PAGE2 to 0
|
||||
BKGND0 = $F3F4 ; clear current page to A
|
||||
HPOSN = $F411 ; (Y,X),(A) (values stores in HGRX,XH,Y)
|
||||
HPLOT0 = $F457 ; plot at (Y,X), (A)
|
||||
COLOR_SHIFT = $F47E
|
||||
HLINRL = $F530 ; (X,A),(Y)
|
||||
HGLIN = $F53A ; line to (A,X),(Y)
|
||||
COLORTBL = $F6F6
|
||||
|
||||
div7_table = $9000
|
||||
mod7_table = $9100
|
||||
|
||||
;=================================
|
||||
; Simple Rectangle
|
||||
;=================================
|
||||
VGI_RCOLOR = P0
|
||||
VGI_RX1 = P1
|
||||
VGI_RY1 = P2
|
||||
VGI_RXRUN = P3
|
||||
VGI_RYRUN = P4
|
||||
|
||||
test:
|
||||
jsr make_tables
|
||||
|
||||
; clear to white
|
||||
|
||||
jsr HGR2
|
||||
lda #$ff
|
||||
jsr BKGND0
|
||||
|
||||
; draw first
|
||||
|
||||
lda #$23
|
||||
sta VGI_RCOLOR
|
||||
|
||||
lda #15
|
||||
sta VGI_RX1
|
||||
lda #230
|
||||
sta VGI_RXRUN
|
||||
|
||||
lda #0
|
||||
sta VGI_RY1
|
||||
lda #191
|
||||
sta VGI_RYRUN
|
||||
|
||||
jsr vgi_simple_rectangle
|
||||
|
||||
; draw second
|
||||
|
||||
lda #$00
|
||||
sta VGI_RCOLOR
|
||||
|
||||
lda #100
|
||||
sta VGI_RX1
|
||||
lda #1
|
||||
sta VGI_RXRUN
|
||||
|
||||
lda #0
|
||||
sta VGI_RY1
|
||||
lda #191
|
||||
sta VGI_RYRUN
|
||||
|
||||
jsr vgi_simple_rectangle
|
||||
|
||||
|
||||
end:
|
||||
jmp end
|
||||
|
||||
|
||||
|
||||
vgi_simple_rectangle:
|
||||
|
||||
simple_rectangle_loop:
|
||||
|
||||
|
||||
|
||||
lda VGI_RCOLOR
|
||||
|
||||
asl ; nibble swap by david galloway
|
||||
adc #$80
|
||||
rol
|
||||
asl
|
||||
adc #$80
|
||||
rol
|
||||
|
||||
sta VGI_RCOLOR
|
||||
|
||||
and #$f
|
||||
tax
|
||||
|
||||
lda COLORTBL,X
|
||||
sta HGR_COLOR
|
||||
|
||||
; get ROW into (GBASL)
|
||||
|
||||
ldx #0 ; X1 into X
|
||||
lda VGI_RY1 ; Y1 into A
|
||||
ldy #0 ; always 0
|
||||
jsr HPOSN ; (Y,X),(A) (values stores in HGRX,XH,Y)
|
||||
|
||||
; copy the XRUN
|
||||
|
||||
lda VGI_RXRUN
|
||||
sta XRUN
|
||||
|
||||
inc XRUN ; needed because we compare with beq/bne
|
||||
|
||||
|
||||
; get position of first block (x/7) and put into Y
|
||||
|
||||
; draw leftmost
|
||||
ldy VGI_RX1
|
||||
lda div7_table,Y
|
||||
tay
|
||||
|
||||
; set up the color
|
||||
|
||||
and #$1
|
||||
beq no_shift
|
||||
|
||||
lda HGR_BITS
|
||||
jsr COLOR_SHIFT
|
||||
|
||||
; check if narrow case where in same
|
||||
|
||||
; see if not starting on boundary
|
||||
ldx VGI_RX1
|
||||
lda mod7_table,X
|
||||
beq draw_run
|
||||
|
||||
tax
|
||||
lda (GBASL),Y
|
||||
eor HGR_BITS
|
||||
and left_masks,X
|
||||
eor (GBASL),Y
|
||||
sta (GBASL),Y
|
||||
|
||||
iny ; move to next
|
||||
|
||||
txa ; adjust RUN length
|
||||
eor #$ff
|
||||
clc
|
||||
adc #1
|
||||
adc XRUN
|
||||
sta XRUN
|
||||
|
||||
no_shift:
|
||||
|
||||
|
||||
; draw common
|
||||
draw_run:
|
||||
lda XRUN
|
||||
cmp #7
|
||||
bcc draw_right ; blt
|
||||
|
||||
lda HGR_BITS
|
||||
sta (GBASL),Y
|
||||
iny
|
||||
|
||||
lda XRUN
|
||||
sec
|
||||
sbc #7
|
||||
sta XRUN
|
||||
|
||||
lda HGR_BITS
|
||||
jsr COLOR_SHIFT
|
||||
|
||||
jmp draw_run
|
||||
|
||||
; draw rightmost
|
||||
draw_right:
|
||||
|
||||
beq done_row
|
||||
|
||||
; lda HGR_BITS
|
||||
; jsr COLOR_SHIFT
|
||||
|
||||
; see if not starting on boundary
|
||||
ldx XRUN
|
||||
|
||||
tax
|
||||
lda (GBASL),Y
|
||||
eor HGR_BITS
|
||||
and right_masks,X
|
||||
eor (GBASL),Y
|
||||
sta (GBASL),Y
|
||||
|
||||
done_row:
|
||||
|
||||
inc VGI_RY1
|
||||
dec VGI_RYRUN
|
||||
;bne simple_rectangle_loop
|
||||
beq done_done
|
||||
jmp simple_rectangle_loop
|
||||
|
||||
done_done:
|
||||
rts
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
;=================================
|
||||
; Dithered Rectangle
|
||||
;=================================
|
||||
; VGI_RCOLOR = P0
|
||||
; VGI_RX1 = P1
|
||||
; VGI_RY1 = P2
|
||||
; VGI_RXRUN = P3
|
||||
; VGI_RYRUN = P4
|
||||
VGI_RCOLOR2 = P5
|
||||
|
||||
vgi_dithered_rectangle:
|
||||
|
||||
dithered_rectangle_loop:
|
||||
lda COUNT
|
||||
and #$1
|
||||
beq even_color
|
||||
odd_color:
|
||||
lda VGI_RCOLOR
|
||||
jmp save_color
|
||||
even_color:
|
||||
lda VGI_RCOLOR2
|
||||
save_color:
|
||||
sta HGR_COLOR
|
||||
|
||||
inc COUNT
|
||||
|
||||
ldx VGI_RX1 ; X1 into X
|
||||
lda VGI_RY1 ; Y1 into A
|
||||
ldy #0 ; always 0
|
||||
jsr HPOSN ; (Y,X),(A) (values stores in HGRX,XH,Y)
|
||||
|
||||
|
||||
lda VGI_RXRUN ; XRUN into A
|
||||
ldx #0 ; always 0
|
||||
ldy #0 ; relative Y is 0
|
||||
jsr HLINRL ; (X,A),(Y)
|
||||
|
||||
inc VGI_RY1
|
||||
dec VGI_RYRUN
|
||||
bne dithered_rectangle_loop
|
||||
|
||||
rts
|
||||
|
||||
|
||||
make_tables:
|
||||
|
||||
ldy #0
|
||||
lda #0
|
||||
ldx #0
|
||||
div7_loop:
|
||||
sta div7_table,Y
|
||||
|
||||
inx
|
||||
cpx #7
|
||||
bne div7_not7
|
||||
|
||||
clc
|
||||
adc #1
|
||||
ldx #0
|
||||
div7_not7:
|
||||
iny
|
||||
bne div7_loop
|
||||
|
||||
|
||||
ldy #0
|
||||
lda #0
|
||||
mod7_loop:
|
||||
sta mod7_table,Y
|
||||
clc
|
||||
adc #1
|
||||
cmp #7
|
||||
bne mod7_not7
|
||||
lda #0
|
||||
mod7_not7:
|
||||
iny
|
||||
bne mod7_loop
|
||||
|
||||
rts
|
||||
|
||||
left_masks:
|
||||
.byte $FF,$FE,$FC,$F8, $F0,$E0,$C0
|
||||
|
||||
right_masks:
|
||||
.byte $81,$83,$87, $8F,$9F,$BF,$FF
|
164
graphics/hgr/boxes/slow_test.s
Normal file
164
graphics/hgr/boxes/slow_test.s
Normal file
@ -0,0 +1,164 @@
|
||||
; VGI Rectangle test
|
||||
|
||||
|
||||
COUNT = $75
|
||||
|
||||
HGR_COLOR = $E4
|
||||
|
||||
P0 = $F0
|
||||
P1 = $F1
|
||||
P2 = $F2
|
||||
P3 = $F3
|
||||
P4 = $F4
|
||||
P5 = $F5
|
||||
|
||||
HGR2 = $F3D8 ; clear PAGE2 to 0
|
||||
BKGND0 = $F3F4 ; clear current page to A
|
||||
HPOSN = $F411 ; (Y,X),(A) (values stores in HGRX,XH,Y)
|
||||
HPLOT0 = $F457 ; plot at (Y,X), (A)
|
||||
HLINRL = $F530 ; (X,A),(Y)
|
||||
HGLIN = $F53A ; line to (A,X),(Y)
|
||||
COLORTBL = $F6F6
|
||||
|
||||
|
||||
;=================================
|
||||
; Simple Rectangle
|
||||
;=================================
|
||||
VGI_RCOLOR = P0
|
||||
VGI_RX1 = P1
|
||||
VGI_RY1 = P2
|
||||
VGI_RXRUN = P3
|
||||
VGI_RYRUN = P4
|
||||
|
||||
|
||||
test:
|
||||
; clear screen to white
|
||||
|
||||
jsr HGR2
|
||||
lda #$ff
|
||||
jsr BKGND0
|
||||
|
||||
; first test
|
||||
|
||||
lda #$23
|
||||
sta VGI_RCOLOR
|
||||
|
||||
lda #15
|
||||
sta VGI_RX1
|
||||
lda #230
|
||||
sta VGI_RXRUN
|
||||
|
||||
lda #0
|
||||
sta VGI_RY1
|
||||
lda #191
|
||||
sta VGI_RYRUN
|
||||
|
||||
jsr vgi_simple_rectangle
|
||||
|
||||
; second test
|
||||
|
||||
lda #$00
|
||||
sta VGI_RCOLOR
|
||||
|
||||
lda #100
|
||||
sta VGI_RX1
|
||||
lda #1
|
||||
sta VGI_RXRUN
|
||||
|
||||
lda #0
|
||||
sta VGI_RY1
|
||||
lda #191
|
||||
sta VGI_RYRUN
|
||||
|
||||
jsr vgi_simple_rectangle
|
||||
|
||||
|
||||
end:
|
||||
jmp end
|
||||
|
||||
|
||||
|
||||
vgi_simple_rectangle:
|
||||
|
||||
simple_rectangle_loop:
|
||||
lda VGI_RCOLOR
|
||||
|
||||
asl ; nibble swap by david galloway
|
||||
adc #$80
|
||||
rol
|
||||
asl
|
||||
adc #$80
|
||||
rol
|
||||
|
||||
sta VGI_RCOLOR
|
||||
|
||||
and #$f
|
||||
tax
|
||||
|
||||
lda COLORTBL,X
|
||||
sta HGR_COLOR
|
||||
|
||||
ldx VGI_RX1 ; X1 into X
|
||||
lda VGI_RY1 ; Y1 into A
|
||||
ldy #0 ; always 0
|
||||
jsr HPOSN ; (Y,X),(A) (values stores in HGRX,XH,Y)
|
||||
|
||||
|
||||
lda VGI_RXRUN ; XRUN into A
|
||||
ldx #0 ; always 0
|
||||
ldy #0 ; relative Y is 0
|
||||
jsr HLINRL ; (X,A),(Y)
|
||||
|
||||
inc VGI_RY1
|
||||
dec VGI_RYRUN
|
||||
bne simple_rectangle_loop
|
||||
|
||||
rts
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
;=================================
|
||||
; Dithered Rectangle
|
||||
;=================================
|
||||
; VGI_RCOLOR = P0
|
||||
; VGI_RX1 = P1
|
||||
; VGI_RY1 = P2
|
||||
; VGI_RXRUN = P3
|
||||
; VGI_RYRUN = P4
|
||||
VGI_RCOLOR2 = P5
|
||||
|
||||
vgi_dithered_rectangle:
|
||||
|
||||
dithered_rectangle_loop:
|
||||
lda COUNT
|
||||
and #$1
|
||||
beq even_color
|
||||
odd_color:
|
||||
lda VGI_RCOLOR
|
||||
jmp save_color
|
||||
even_color:
|
||||
lda VGI_RCOLOR2
|
||||
save_color:
|
||||
sta HGR_COLOR
|
||||
|
||||
inc COUNT
|
||||
|
||||
ldx VGI_RX1 ; X1 into X
|
||||
lda VGI_RY1 ; Y1 into A
|
||||
ldy #0 ; always 0
|
||||
jsr HPOSN ; (Y,X),(A) (values stores in HGRX,XH,Y)
|
||||
|
||||
|
||||
lda VGI_RXRUN ; XRUN into A
|
||||
ldx #0 ; always 0
|
||||
ldy #0 ; relative Y is 0
|
||||
jsr HLINRL ; (X,A),(Y)
|
||||
|
||||
inc VGI_RY1
|
||||
dec VGI_RYRUN
|
||||
bne dithered_rectangle_loop
|
||||
|
||||
rts
|
||||
|
@ -34,7 +34,11 @@ circles:
|
||||
|
||||
jsr HGR2
|
||||
|
||||
lda #0
|
||||
sta R
|
||||
|
||||
draw_next:
|
||||
.if 0
|
||||
inc FRAME
|
||||
ldy FRAME
|
||||
|
||||
@ -64,9 +68,17 @@ draw_next:
|
||||
lda $F300,Y
|
||||
and #$3f
|
||||
sta R
|
||||
.endif
|
||||
|
||||
; A=40+RND(1)*200:B=40+RND(1)*100:Y=RND(1)*40
|
||||
|
||||
lda #128
|
||||
sta CX
|
||||
lda #96
|
||||
sta CY
|
||||
|
||||
|
||||
|
||||
; XX=0 YY=R
|
||||
; D=3-2*R
|
||||
; GOTO6
|
||||
@ -233,5 +245,13 @@ do_plots:
|
||||
|
||||
jmp circle_loop
|
||||
done:
|
||||
lda R
|
||||
clc
|
||||
adc #3
|
||||
sta R
|
||||
stop:
|
||||
cmp #90
|
||||
beq stop
|
||||
|
||||
; GOTO1
|
||||
jmp draw_next
|
||||
|
@ -32,6 +32,7 @@ PTRIG = $C070
|
||||
|
||||
NORMAL = $F273
|
||||
HGR2 = $F3D8 ; clear PAGE2 to 0
|
||||
HGR = $F3E2 ; set hires page1 and clear $2000-$3fff
|
||||
BKGND0 = $F3F4 ; clear current page to A
|
||||
HPOSN = $F411 ; (Y,X),(A) (values stores in HGRX,XH,Y)
|
||||
HPLOT0 = $F457 ; plot at (Y,X), (A)
|
||||
@ -49,6 +50,7 @@ CLRTOP = $F836 ; clear only top of low-res screen
|
||||
SETCOL = $F864 ; COLOR=A
|
||||
ROM_TEXT2COPY = $F962 ; iigs
|
||||
TEXT = $FB36
|
||||
SETGR = $FB40 ; init lores and clear screen
|
||||
TABV = $FB5B ; VTAB to A
|
||||
ROM_MACHINEID = $FBB3 ; iigs
|
||||
BELL = $FBDD ; ring the bell
|
||||
@ -56,6 +58,8 @@ BASCALC = $FBC1 ;
|
||||
VTAB = $FC22 ; VTAB to CV
|
||||
HOME = $FC58 ; Clear the text screen
|
||||
WAIT = $FCA8 ; delay 1/2(26+27A+5A^2) us
|
||||
GETLN = $FD6A
|
||||
GETLN1 = $FD6F
|
||||
CROUT1 = $FD8B
|
||||
SETINV = $FE80 ; INVERSE
|
||||
SETNORM = $FE84 ; NORMAL
|
||||
|
@ -6,7 +6,9 @@
|
||||
VGI_MAXLEN = 7
|
||||
|
||||
vgi_test:
|
||||
jsr HGR2
|
||||
jsr SETGR
|
||||
jsr HGR
|
||||
bit FULLGR
|
||||
|
||||
; get pointer to image data
|
||||
|
||||
@ -15,6 +17,38 @@ vgi_test:
|
||||
lda #>clock_data
|
||||
sta VGIH
|
||||
|
||||
jsr play_vgi
|
||||
|
||||
jsr wait_until_keypress
|
||||
|
||||
bit TEXTGR
|
||||
|
||||
jsr CROUT1 ; print linefeed/cr
|
||||
|
||||
loopy:
|
||||
lda #<string1
|
||||
sta OUTL
|
||||
lda #>string1
|
||||
sta OUTH
|
||||
|
||||
jsr fake_input
|
||||
jsr fake_input
|
||||
jsr fake_input
|
||||
|
||||
|
||||
|
||||
bit FULLGR
|
||||
|
||||
jmp loopy
|
||||
done:
|
||||
jmp done
|
||||
|
||||
|
||||
;==================================
|
||||
; play_vgi
|
||||
;==================================
|
||||
play_vgi:
|
||||
|
||||
vgi_loop:
|
||||
|
||||
ldy #0
|
||||
@ -69,7 +103,7 @@ vgi_rts_table:
|
||||
.word all_done-1 ; 15 = done
|
||||
|
||||
all_done:
|
||||
jmp all_done
|
||||
rts
|
||||
|
||||
|
||||
.include "vgi_clearscreen.s"
|
||||
@ -78,3 +112,110 @@ all_done:
|
||||
.include "vgi_lines.s"
|
||||
|
||||
.include "clock.data"
|
||||
|
||||
|
||||
|
||||
; string data
|
||||
;
|
||||
|
||||
string1:
|
||||
.byte "YOU SEE A CLOCK TOWER READING 12:00",13
|
||||
.byte " LEFT/RIGHT/FORWARD",13,0
|
||||
|
||||
; SWIM TO TOWER
|
||||
string2:
|
||||
.byte "YOU DON'T KNOW HOW TO ",34,"SWIM",34,13,0
|
||||
|
||||
; WADE TO TOWER
|
||||
string3:
|
||||
.byte "THE KRAKEN WILL EAT YOU",13,0
|
||||
|
||||
; I AM WILLING TO TAKE THAT RISK
|
||||
|
||||
string4:
|
||||
.byte "YOU SEE A MYSTERIOUS SPACESHIP",13
|
||||
.byte " LEFT/RIGHT/FORWARD",13,0
|
||||
|
||||
string5:
|
||||
.byte "THERE IS A METTALIC DOOR BLOCKING YOU",0
|
||||
|
||||
; OPEN DOOR
|
||||
|
||||
string6:
|
||||
.byte "THE DOOR IS LOCKED. ATRUS HATES YOU",0
|
||||
|
||||
string7:
|
||||
.byte "SORRY, I DON'T UNDERSTAND THAT",0
|
||||
|
||||
|
||||
; PICK UP PAGE
|
||||
; WHICH PAGE?
|
||||
; THE RED ONE
|
||||
; I'D SAY IT'S MORE OF A PURPLE COLOR
|
||||
; JUST PICK IT UP!
|
||||
|
||||
; THIS WEIRD FIREPLACE HAS MANY BUTTONS
|
||||
|
||||
; PRESS BUTTON
|
||||
|
||||
; WHICH ONE?
|
||||
|
||||
; REALLY?
|
||||
|
||||
|
||||
;=========================
|
||||
; print_string
|
||||
;=========================
|
||||
print_string:
|
||||
ldy #0
|
||||
|
||||
print_string_loop:
|
||||
lda (OUTL),Y
|
||||
beq done_print_string
|
||||
|
||||
ora #$80
|
||||
jsr COUT
|
||||
|
||||
iny
|
||||
|
||||
jmp print_string_loop
|
||||
|
||||
done_print_string:
|
||||
tya ; point to next string
|
||||
sec
|
||||
adc OUTL
|
||||
sta OUTL
|
||||
lda OUTH
|
||||
adc #0
|
||||
sta OUTH
|
||||
rts
|
||||
|
||||
;============================
|
||||
; WAIT UNTIL KEYPRESS
|
||||
;============================
|
||||
|
||||
wait_until_keypress:
|
||||
|
||||
lda KEYPRESS
|
||||
bpl wait_until_keypress
|
||||
|
||||
bit KEYRESET
|
||||
|
||||
rts
|
||||
|
||||
;=============================
|
||||
; fake input
|
||||
;=============================
|
||||
fake_input:
|
||||
jsr print_string
|
||||
|
||||
jsr CROUT1 ; print linefeed/cr
|
||||
|
||||
lda #'>'+$80
|
||||
jsr COUT
|
||||
lda #' '+$80
|
||||
jsr COUT
|
||||
|
||||
jsr GETLN1
|
||||
|
||||
rts
|
||||
|
@ -270,7 +270,7 @@ filled_pos_loop:
|
||||
|
||||
ldy #0
|
||||
|
||||
pha ; save Y value for later
|
||||
; pha ; save Y value for later
|
||||
|
||||
jsr HPLOT0 ; plot at (Y,X), (A)
|
||||
|
||||
|
@ -17,6 +17,9 @@ P6 = $F7
|
||||
VGIL = $F8
|
||||
VGIH = $F9
|
||||
|
||||
OUTL = $FC
|
||||
OUTH = $FD
|
||||
|
||||
COLOR1 = $FE
|
||||
COLOR2 = $FF
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user