From 81acd5a8a55810cf080141041043368ceccba794 Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Sun, 25 Jun 2017 00:00:16 -0400 Subject: [PATCH] tfv: more work on tfv --- tfv/FIGHTING.ED | 1 + tfv/HIGHWIND.ED | Bin 0 -> 144 bytes tfv/Makefile | 4 ++- tfv/tfv.s | 63 ++++++++++++++++++++++++++++++++++++++++++++---- 4 files changed, 62 insertions(+), 6 deletions(-) create mode 100644 tfv/FIGHTING.ED create mode 100644 tfv/HIGHWIND.ED diff --git a/tfv/FIGHTING.ED b/tfv/FIGHTING.ED new file mode 100644 index 00000000..3644daa4 --- /dev/null +++ b/tfv/FIGHTING.ED @@ -0,0 +1 @@ +l`P`l`l ll`P`l`l llflPlHPV` V`lPlPPlPH PPHPPrV6V0`+`(V$V?V9V`l`P`l`l ll`P`l`l llPlPlHPV` V`lPlPlH PPV` V` ?lVVV lll  6 $  ?lVVV lll  6 $  ?99099?&9`V?99?&9?$? 9`V99$$?999Hl$H l$?9lH`$ < `$`lll```lll ``$`lll`l?$9? 9$$?$?9???l?r$0`+`+l$(`$`$l?`$`9l?`??l???$$r$6$0+$$$+++l+r$``l$``l`$ `l`l$?$9$$Hl$V`ll`P`l`l l \ No newline at end of file diff --git a/tfv/HIGHWIND.ED b/tfv/HIGHWIND.ED new file mode 100644 index 0000000000000000000000000000000000000000..066a6d56a34dec0c5b9978f3358b52448f710a66 GIT binary patch literal 144 zcmV~$!3n@15JXWA{}>g-fS_Ojb6-eX+rYG*_b8?$<)eseZgPVwjycH*j@V`=JJ@2G um8_2?Uh^hz@QP_>GJ`3G8OaESkm#l-{iBO!TGE0hs;Nm0s(8$kJn;j|brd}S literal 0 HcmV?d00001 diff --git a/tfv/Makefile b/tfv/Makefile index 7718061b..afc658e8 100644 --- a/tfv/Makefile +++ b/tfv/Makefile @@ -5,10 +5,12 @@ PNG2GR = ../gr-utils/png2gr all: tfv.dsk -tfv.dsk: TITLE.GR TFV ED +tfv.dsk: TITLE.GR TFV ED HIGHWIND.ED FIGHTING.ED $(DOS33) -y tfv.dsk BSAVE -a 0x1000 TFV $(DOS33) -y tfv.dsk BSAVE -a 0x400 TITLE.GR $(DOS33) -y tfv.dsk BSAVE -a 0x900 ED + $(DOS33) -y tfv.dsk BSAVE -a 0x2000 HIGHWIND.ED + $(DOS33) -y tfv.dsk BSAVE -a 0x2000 FIGHTING.ED TFV: tfv.o ld65 -o TFV tfv.o -C ./apple2_1000.inc diff --git a/tfv/tfv.s b/tfv/tfv.s index ad2f5ed2..32ea8970 100644 --- a/tfv/tfv.s +++ b/tfv/tfv.s @@ -4,8 +4,8 @@ KEYPRESS EQU $C000 KEYRESET EQU $C010 ;; SOFT SWITCHES -GR EQU $C050 -TEXT EQU $C051 +SET_GR EQU $C050 +SET_TEXT EQU $C051 FULLGR EQU $C052 TEXTGR EQU $C053 PAGE0 EQU $C054 @@ -19,6 +19,7 @@ PTRIG EQU $C070 ;; MONITOR ROUTINES +TEXT EQU $FB36 HLINE EQU $F819 ;; HLINE Y,$2C at A VLINE EQU $F828 ;; VLINE A,$2D at Y CLRSCR EQU $F832 ;; Clear low-res screen @@ -90,14 +91,46 @@ OUTH EQU $FF lda #20 sta XPOS -main_loop: +title_screen: jsr gr_copy + jsr wait_until_keypressed + + +enter_name: + + jsr TEXT + jsr HOME + + lda #>(enter_name_string) + sta OUTH + lda #<(enter_name_string) + sta OUTL + + jsr print_string + + + + jsr wait_until_keypressed + + + +flying_start: + + jsr set_gr_page0 + +flying_loop: + jsr gr_copy + jsr put_sprite jsr wait_until_keypressed + + + + lda LASTKEY cmp #('Q') @@ -125,7 +158,7 @@ check_right: inc XPOS check_done: - jmp main_loop + jmp flying_loop @@ -263,7 +296,7 @@ set_gr_page0: bit PAGE0 ; set page 0 bit LORES ; Lo-res graphics bit TEXTGR ; mixed gr/text mode - bit GR ; set graphics + bit SET_GR ; set graphics rts ;========================================================= @@ -510,9 +543,29 @@ put_sprite_done_draw: rts ; return +print_string: + ldy #0 +print_string_loop: + lda (OUTL),Y + beq done_print_string + ora $80 + jsr COUT1 + iny + bne print_string_loop +done_print_string: + rts + + +enter_name_string: + .asciiz "PLEASE ENTER A NAME:" + +name: + .byte $0,$0,$0,$0,$0,$0,$0,$0 + ; waste memory with a lookup table ; maybe faster than using GBASCALC? + gr_offsets: .word $400,$480,$500,$580,$600,$680,$700,$780 .word $428,$4a8,$528,$5a8,$628,$6a8,$728,$7a8