mirror of
https://github.com/a2geek/afscanner.git
synced 2025-04-08 20:37:36 +00:00
Preserving whatever this was just in case someone cares in the future
This commit is contained in:
parent
6f1daaefd9
commit
9c60e6f776
43
NOTES.txt
Normal file
43
NOTES.txt
Normal file
@ -0,0 +1,43 @@
|
||||
Count:
|
||||
* Enable/disable hilights - data bytes, header bytes, non-zero invalid bytes
|
||||
|
||||
Save/Load Settings?
|
||||
|
||||
|
||||
|
||||
Memory map:
|
||||
$0000 - $00FF ZP
|
||||
$0200 - $02FF Input
|
||||
$0300 - $03FF Settings?
|
||||
$0400 - $07FF Text
|
||||
$0800 - $1FFF Working buffer
|
||||
$2000 - $3FFF HGR
|
||||
$4000 - $5FFF Track buffer
|
||||
$6000+ Program
|
||||
|
||||
|
||||
|
||||
Reserved - D5 AA
|
||||
|
||||
13 sector - 32 bytes ("exact" mapping)
|
||||
16 sector - 64 bytes ("additional requirement" to get to 64 bytes)
|
||||
|
||||
Fields:
|
||||
Address Field: D5 AA 96 ... DE AA EB
|
||||
Data Field: D5 AA AD ... DE AA EB
|
||||
|
||||
|
||||
Always:
|
||||
======
|
||||
OA Q = Quit
|
||||
OA * = Monitor
|
||||
OA A,B,C,F,G = Page navigation
|
||||
|
||||
|
||||
Decide per page:
|
||||
===============
|
||||
<-, ->, R, S = track management routine
|
||||
|
||||
Controlled by page init: (embedded in display component)
|
||||
=======================
|
||||
^, v, OA ^, OA v = page navigation routine
|
@ -43,6 +43,9 @@ FAILBYTS = 6656 ; Number of bytes before failure
|
||||
|
||||
* 80 column card / print controls:
|
||||
|
||||
HTAB = $57B ; set
|
||||
VTAB = $FB5B ; call with Acc.
|
||||
|
||||
_PRBYTE = 1 ; print byte @ addr
|
||||
_CLS = $8C ; clear screen
|
||||
_INVERSE = $8F
|
||||
|
20
page-test.s
20
page-test.s
@ -11,20 +11,22 @@
|
||||
*
|
||||
|
||||
TestInit
|
||||
jsr NewPrint
|
||||
asc "%v",$17,"Bottom Line? %m@ (open apple)",$00
|
||||
|
||||
lda #>535
|
||||
ldy #<535 ; Nice odd number of lines > 256
|
||||
rts
|
||||
|
||||
TestDisplay
|
||||
phy
|
||||
pha
|
||||
lda #_CLREOL
|
||||
jsr COUT
|
||||
pla
|
||||
jsr PRHEX
|
||||
pla
|
||||
jsr PRHEX
|
||||
jmp PRCR
|
||||
sty DATA
|
||||
sta DATA+1
|
||||
|
||||
jsr NewPrint
|
||||
asc "%w"
|
||||
da DATA
|
||||
dfb $8D,0
|
||||
rts
|
||||
|
||||
TestKeypress
|
||||
jmp KeyboardWait
|
||||
|
120
util.s
120
util.s
@ -187,3 +187,123 @@ HandleKey
|
||||
lda TEMP
|
||||
sec
|
||||
rts
|
||||
|
||||
|
||||
|
||||
************************* Test Code **************************
|
||||
; Characters - assumption is a character unless % encountered
|
||||
; %(byte < $80) = repeat next character
|
||||
; %w = hex word
|
||||
; %b = hex byte
|
||||
; %% = %
|
||||
; %i = inverse
|
||||
; %n = normal
|
||||
; %mC = C as mouse text (mouse text on, inverse, C, normal, mouse text off)
|
||||
; %h# = HTAB, # is 0..79
|
||||
; %v# = VTAB, # is 0..23
|
||||
; %H = home cursor
|
||||
; %C = clear screen and home cursor
|
||||
; %E = clear to EOL
|
||||
;
|
||||
NewPrint
|
||||
pla
|
||||
sta PTR
|
||||
pla
|
||||
sta PTR+1
|
||||
jsr IncPTR
|
||||
jsr NewPrintX
|
||||
jmp (PTR)
|
||||
|
||||
NewPrintP
|
||||
sta PTR+1
|
||||
stx PTR
|
||||
|
||||
NewPrintX
|
||||
:next jsr FetchPTR
|
||||
cmp #0 ; Fetch loses the status bits
|
||||
beq :exit
|
||||
cmp #"%"
|
||||
beq :specl
|
||||
:cout jsr COUT
|
||||
bra :next
|
||||
|
||||
:exit rts
|
||||
|
||||
:specl jsr FetchPTR
|
||||
bpl :repeat
|
||||
ldx :subcmd
|
||||
:look cmp :subcmd,x
|
||||
beq :dsptch
|
||||
dex
|
||||
bne :look
|
||||
beq :dsptc0 ; X=0 which is %% code as well
|
||||
|
||||
:repeat tax
|
||||
jsr FetchPTR
|
||||
:rep0 jsr COUT
|
||||
dex
|
||||
bne :rep0
|
||||
beq :next
|
||||
|
||||
:dsptch dex ; we're +1 because the lookup table is a STR (length byte at beginning)
|
||||
:dsptc0 txa
|
||||
asl ; times 2
|
||||
tax
|
||||
jmp (:addrs,x)
|
||||
|
||||
:chrout asl ; requires these to be first in :subcmd
|
||||
tax
|
||||
lda :lookup,x
|
||||
bra :cout
|
||||
|
||||
:mtext jsr FetchPTR
|
||||
sta :mt_out+2
|
||||
ldy #0
|
||||
:mtext0 lda :mt_out,y
|
||||
jsr COUT
|
||||
iny
|
||||
cpy #5
|
||||
bne :mtext0
|
||||
bra :next
|
||||
|
||||
:htab jsr FetchPTR
|
||||
sta HTAB
|
||||
bra :next
|
||||
:vtab jsr FetchPTR
|
||||
jsr VTAB
|
||||
bra :next
|
||||
:prbyte jsr SetPTR2
|
||||
:lowb lda (PTR2)
|
||||
jsr PRHEX
|
||||
bra :next
|
||||
:prword jsr SetPTR2
|
||||
ldy #1
|
||||
lda (PTR2),y
|
||||
jsr PRHEX
|
||||
bra :lowb
|
||||
|
||||
; data tables to make relative branches last longer
|
||||
:subcmd str "%inHCEmhvbw"
|
||||
:addrs lup 6 ; 1st set are a character replacement
|
||||
da :lookup
|
||||
--^
|
||||
da :mtext
|
||||
da :htab
|
||||
da :vtab
|
||||
da :prbyte
|
||||
da :prword
|
||||
:lookup asc "%",_NORMAL,_INVERSE,_CLS,_HOME,_CLREOL
|
||||
:mt_out dfb _MT_ON,_INVERSE,0,_NORMAL,_MT_OFF
|
||||
|
||||
SetPTR2 jsr FetchPTR
|
||||
sta PTR2
|
||||
jsr FetchPTR
|
||||
sta PTR2+1
|
||||
rts
|
||||
|
||||
FetchPTR
|
||||
lda (PTR)
|
||||
IncPTR inc PTR
|
||||
bne :exit
|
||||
inc PTR+1
|
||||
:exit rts
|
Loading…
x
Reference in New Issue
Block a user