dos33fsprogs/graphics/hgr/hgr_font_4am/bios_test.s

152 lines
1.9 KiB
ArmAsm
Raw Normal View History

2023-08-23 20:18:49 +00:00
; Fake BIOS screen
; for another project
.include "zp.inc"
.include "hardware.inc"
bios_test:
;===================
; set graphics mode
;===================
jsr HOME
bit HIRES
bit FULLGR
bit SET_GR
bit PAGE1
2023-08-23 23:47:33 +00:00
jsr build_tables
2023-08-23 20:18:49 +00:00
;===================
; Load graphics
;===================
lda #<graphics_data
sta ZX0_src
lda #>graphics_data
sta ZX0_src+1
lda #$20 ; temporarily load to $2000
jsr full_decomp
2023-08-23 23:47:33 +00:00
; test 1
2023-08-23 20:18:49 +00:00
2023-08-23 23:47:33 +00:00
lda #<test1
ldy #>test1
2023-08-23 20:18:49 +00:00
2023-08-23 23:47:33 +00:00
ldx #1
stx VTAB
2023-08-23 20:18:49 +00:00
ldx #0
2023-08-23 23:47:33 +00:00
; test 2
2023-08-23 20:18:49 +00:00
2023-08-23 23:47:33 +00:00
lda #<test2
ldy #>test2
2023-08-23 20:18:49 +00:00
2023-08-23 23:47:33 +00:00
ldx #3
stx VTAB
2023-08-23 20:18:49 +00:00
ldx #0
2023-08-23 23:47:33 +00:00
; test 3
2023-08-23 20:18:49 +00:00
2023-08-23 23:47:33 +00:00
lda #<test3
ldy #>test3
2023-08-23 20:18:49 +00:00
2023-08-23 23:47:33 +00:00
ldx #5
stx VTAB
2023-08-23 20:18:49 +00:00
ldx #0
2023-08-23 23:47:33 +00:00
jsr DrawCondensedString
2023-08-23 20:18:49 +00:00
2023-08-23 23:47:33 +00:00
; test 4
2023-08-23 20:18:49 +00:00
2023-08-23 23:47:33 +00:00
lda #<test4
ldy #>test4
2023-08-23 20:18:49 +00:00
2023-08-23 23:47:33 +00:00
ldx #7
stx VTAB
ldx #0
2023-08-23 20:18:49 +00:00
2023-08-23 23:47:33 +00:00
jsr DrawCondensedString
2023-08-23 20:18:49 +00:00
2023-08-23 23:47:33 +00:00
; test 5
2023-08-23 20:18:49 +00:00
2023-08-23 23:47:33 +00:00
lda #<test5
ldy #>test5
2023-08-23 20:18:49 +00:00
2023-08-23 23:47:33 +00:00
ldx #9
stx VTAB
ldx #0
2023-08-23 20:18:49 +00:00
2023-08-23 23:47:33 +00:00
jsr DrawCondensedString
2023-08-23 20:18:49 +00:00
end:
2023-08-23 23:47:33 +00:00
jmp end
2023-08-23 20:18:49 +00:00
test1:
2023-08-23 23:47:33 +00:00
; 0123456789012345678901234567890123456789
.byte 39,"PACK MY BOX WITH FIVE DOZEN LIQUOR JUGS!"
2023-08-23 20:18:49 +00:00
test2:
2023-08-23 23:47:33 +00:00
.byte 39,"pack my box with five dozen liquor jugs?"
2023-08-23 20:18:49 +00:00
test3:
2023-08-23 23:47:33 +00:00
.byte 24,"This is a HGR font test."
test4:
.byte 38,"0123456789)(*&^%$#@!`~<>,./';:[]{}\|_+="
test5:
.byte 17,"@/\/\/\/\______ |"
2023-08-23 20:18:49 +00:00
2023-08-23 23:47:33 +00:00
.include "font_condensed.s"
.include "font_condensed_data.s"
2023-08-23 20:18:49 +00:00
.include "zx02_optim.s"
graphics_data:
.incbin "graphics/a2_energy.hgr.zx02"
2023-08-23 23:47:33 +00:00
; .hgrlo, .hgr1hi will each be filled with $C0 bytes
; based on routine by John Brooks
; posted on comp.sys.apple2 on 2018-07-11
; https://groups.google.com/d/msg/comp.sys.apple2/v2HOfHOmeNQ/zD76fJg_BAAJ
; clobbers A,X
; preserves Y
build_tables:
ldx #0
btmi:
txa
and #$F8
bpl btpl1
ora #5
btpl1:
asl
bpl btpl2
ora #5
btpl2:
asl
asl
sta HGRLO, X
txa
and #7
rol
asl HGRLO, X
rol
ora #$20
sta HGRHI, X
inx
cpx #$C0
bne btmi
rts