mirror of
https://github.com/mach-kernel/mrbuffer.git
synced 2024-06-01 12:41:36 +00:00
400 lines
1.8 KiB
ArmAsm
400 lines
1.8 KiB
ArmAsm
rel
|
|
typ $B3
|
|
dsk main.l
|
|
|
|
; ensure 16-bit mode (unnecessary?)
|
|
clc
|
|
xce
|
|
rep #$20
|
|
|
|
phk
|
|
plb
|
|
|
|
; half bank for accumulator, you don't want to toggle them on then back off, right?
|
|
|
|
sep #$30
|
|
|
|
; toggle the softswitches; they don't take any values. some are only triggered
|
|
; by writes, $C054 can be triggered by a read
|
|
stal $00C000 ; disable 80 column store?
|
|
|
|
stal $00C00C ; disable 80 column hardware?!
|
|
stal $00C050 ; set standard apple ii gfx mode
|
|
stal $00C051 ; select text mode only. "only"?
|
|
ldal $00C054 ; select text page 1 (there are 2)
|
|
ldal $00C056 ; select "low res" graphics
|
|
|
|
; ok, we are done toggling switches, let's go make a string
|
|
rep #$20
|
|
|
|
ldx #2
|
|
:loopy nop
|
|
lda hithere,x
|
|
stal $000400,x
|
|
cpx hithere
|
|
inx
|
|
bcs outbrk
|
|
jmp :loopy
|
|
|
|
outbrk brk
|
|
|
|
; Important locations
|
|
SPEAKER equ $E0C030
|
|
PRODOS16 equ $E100A8
|
|
|
|
jsl PRODOS16
|
|
; This exit code is "device busy", why is it the only one
|
|
; that works?!
|
|
da $29
|
|
adrl QP
|
|
bcs ERROR
|
|
|
|
ERROR brk
|
|
|
|
QP adrl $0000
|
|
da $00
|
|
|
|
hithere strl "this was excruciating"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|