Added version 1
This commit is contained in:
parent
a4b4337b0c
commit
0a40fcb234
|
@ -0,0 +1,8 @@
|
|||
.word __MAIN ; 2 byte BLOAD address
|
||||
.word __END - __MAIN ; 2 byte BLOAD size
|
||||
.org __MAIN ; .org must come after header else offsets are wrong
|
||||
|
||||
; Can't save filenames with * or - in them, hangs DOS3.3
|
||||
; SAVE * COPY FOO.BAS CON
|
||||
; SAVE -- COPY FOO.BAS CON
|
||||
|
|
@ -0,0 +1,150 @@
|
|||
__MAIN = $08F4
|
||||
.include "dos33.inc"
|
||||
|
||||
; HGR Byte Inspector
|
||||
; Michael Pohoreski
|
||||
; Version 1 - Barebones but it works
|
||||
;
|
||||
; Keys:
|
||||
;
|
||||
; ESC to Quit, else use arrow keys to move the cursor
|
||||
; <-
|
||||
; ->
|
||||
; Up Arrow
|
||||
; Down Arrow
|
||||
;
|
||||
; Can resume with 910G$
|
||||
|
||||
GBASL = $26
|
||||
GBASH = $27
|
||||
val = $F0
|
||||
col = $F1
|
||||
row = $E2 ; used by Applesoft HGR.row
|
||||
HGRPAGE = $E6 ; used by Applesoft HGR.page
|
||||
|
||||
CH = $24 ; text cursor column
|
||||
CV = $25 ; text cursor row
|
||||
|
||||
HPOSN = $F411 ; A=row, Y,X=col update GBASL GBASH
|
||||
VTAB = $FC22 ; A=row
|
||||
HOME = $FC58
|
||||
COUT = $FDED
|
||||
PR_HEX = $FDD3
|
||||
PRBYTE = $FDDA
|
||||
|
||||
KEYBOARD = $C000
|
||||
KEYSTROBE = $C010
|
||||
|
||||
.org $8F4
|
||||
HgrByteInspector:
|
||||
JSR HOME
|
||||
BIT $C050
|
||||
BIT $C053
|
||||
BIT $C057
|
||||
LDA #0
|
||||
STA val
|
||||
STA col
|
||||
STA row
|
||||
STA GBASL
|
||||
LDA #$20
|
||||
STA GBASH
|
||||
STA HGRPAGE
|
||||
Cursor:
|
||||
LDY #0 ; Update pointer to sceeen
|
||||
LDX #0
|
||||
LDA row
|
||||
JSR HPOSN ; A=row, Y,X=col X->E0 Y->E1
|
||||
GetKey:
|
||||
LDY col
|
||||
LDA (GBASL),Y
|
||||
STA val
|
||||
JSR XorByte
|
||||
LDA KEYBOARD
|
||||
BPL GetKey
|
||||
STA KEYSTROBE
|
||||
LDX #nKeys-1
|
||||
FindKey:
|
||||
CMP aKeys, X
|
||||
BEQ GotKey
|
||||
DEX
|
||||
BPL FindKey
|
||||
BadKey:
|
||||
BMI Cursor
|
||||
GotKey:
|
||||
LDA #>GotKey
|
||||
PHA
|
||||
LDA Func, X
|
||||
PHA
|
||||
Done: RTS
|
||||
MoveL: DEC col
|
||||
BPL Cursor
|
||||
MoveR: INC col
|
||||
LDA col
|
||||
CMP #40
|
||||
BCS MoveL
|
||||
BCC Cursor
|
||||
MoveU: DEC row
|
||||
BPL Cursor
|
||||
MoveD: INC row
|
||||
LDA row
|
||||
CMP #192
|
||||
BCS MoveU
|
||||
BCC Cursor
|
||||
|
||||
aKeys:
|
||||
.byte $88 ; <-
|
||||
.byte $95 ; ->
|
||||
.byte $8B ; Up arrow
|
||||
.byte $8A ; Down arrow
|
||||
.byte $9B ; Esc
|
||||
eKeys:
|
||||
nKeys = eKeys - aKeys ;
|
||||
|
||||
Func:
|
||||
.byte <MoveL -1
|
||||
.byte <MoveR -1
|
||||
.byte <MoveU -1
|
||||
.byte <MoveD -1
|
||||
.byte <Done -1
|
||||
|
||||
TogByte:
|
||||
.byte $2C ; BIT $abs
|
||||
XorByte:
|
||||
LDA val
|
||||
LDY col
|
||||
EOR #$FF
|
||||
STA (GBASL),Y
|
||||
Row14: LDA #0
|
||||
STA CH
|
||||
LDA #20 ; $14 = 20
|
||||
STA CV
|
||||
JSR VTAB
|
||||
PrintStatus:
|
||||
LDA #'X'+$80 ;X=## Y=## $=####:##
|
||||
JSR COUT
|
||||
LDA col
|
||||
JSR PR_HEX
|
||||
LDA #' '+$80
|
||||
JSR COUT
|
||||
LDA #'Y'+$80
|
||||
JSR COUT
|
||||
LDA row
|
||||
JSR PR_HEX
|
||||
LDA #' '+$80
|
||||
JSR COUT
|
||||
LDA #'$'+$80
|
||||
JSR COUT
|
||||
LDA GBASH
|
||||
JSR PR_HEX
|
||||
LDA GBASL
|
||||
JSR PRBYTE
|
||||
LDA #':'+$80
|
||||
JSR COUT
|
||||
LDA val
|
||||
JSR PRBYTE
|
||||
LDA val
|
||||
LDY col
|
||||
STA (GBASL),Y
|
||||
RTS
|
||||
__END:
|
||||
|
Loading…
Reference in New Issue