Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.sys.apple2.programmer > #2124

HGR Byte Inspector

Newsgroups comp.sys.apple2.programmer
Date 2016-01-15 14:45 -0800
Message-ID <2869c913-a2ae-4de7-af68-b5db1cd8f096@googlegroups.com> (permalink)
Subject HGR Byte Inspector
From michael.pohoreski@gmail.com

Show all headers | View raw


; 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   EQU $26
               GBASH   EQU $27

               val     EQU $F0
               col     EQU $F1
               row     EQU $E2   ; used by Applesoft HGR.row
               HGRPAGE EQU $E6   ; used by Applesoft HGR.page

               CH      EQU $24   ; text cursor column
               CV      EQU $25   ; text cursor row
               HPOSN   EQU $F411 ; A=row, Y,X=col update GBASL GBASH
               VTAB    EQU $FC22 ; A=row
               HOME    EQU $FC58
               COUT    EQU $FDED
               PR=HEX  EQU $FDD3
               PRBYTE  EQU $FDDA

               KEYBOARD    EQU $C000
               KEYSTROBE   EQU $C010

                       ORG $8F4
08F4:          HgrByteInspector
08F4:20 58 FC          JSR HOME
08F7:2C 50 C0          BIT $C050
08FA:2C 53 C0          BIT $C053
08FD:2C 57 C0          BIT $C057
0900:A9 00             LDA #0
0902:85 F0             STA val
0904:85 F1             STA col
0906:85 E2             STA row
0908:85 26             STA GBASL
090A:A9 20             LDA #20
090C:85 27             STA GBASH
090E:85 E6             STA HGRPAGE
0910:A0 00     Cursor  LDY #0    ; Update pointer to sceeen
0912:A2 00             LDX #0
0914:A5 E2             LDA row
0916:20 11 F4          JSR HPOSN ; A=row, Y,X=col X->E0 Y->E1
0919:A4 F1     GetKey  LDY col
091B:B1 26             LDA (GBASL),Y
091D:85 F0             STA VAL
091F:20 65 09          JSR XorByte
0922:AD 00 C0          LDA KEYBOARD
0925:10 F2             BPL GetKey
0927:8D 10 C0          STA KEYSTROBE
092A:A2 04             LDX #4
092C:DD 5A 09  FindKey CMP Keys, X
092F:F0 05             BEQ GotKey
0931:CA                DEX
0932:10 F8             BPL FindKey
0934:30 DA     BadKey  BMI Cursor
0936:A9 09     GotKey  LDA #>HgrByteInspector
0938:48                PHA
0939:BD 5F 09          LDA Func, X
093C:48                PHA
093D:60        Done    RTS
093E:C6 F1     MoveL   DEC col
0940:10 CE             BPL Cursor
0942:E6 F1     MoveR   INC col
0944:A5 F1             LDA col
0946:C9 28             CMP #40
0948:B0 F4             BCS MoveL
094A:90 C4             BCC Cursor
094C:C6 E2     MoveU   DEC row
094E:10 C0             BPL Cursor
0950:E6 E2     MoveD   INC row
0952:A5 E2             LDA row
0954:C9 C0             CMP #192
0956:B0 F4             BCS MoveU
0958:90 B6             BCC Cursor
095A:88        Keys    HEX 88     ; <-
095B:95                HEX 95     ; ->
095C:8B                HEX 8B     ; Up arrow
095D:8A                HEX 8A     ; Down arrow
095E:9B                HEX 9B     ; Esc
095F:3D        Func    HEX #<MoveL -1
0960:41                HEX #<MoveR -1
0961:4B                HEX #<MoveU -1
0962:4F                HEX #<MoveD -1
0963:3C                HEX #<Done  -1
0964:2C        TogByte HEX 2C     ; BIT $abs
0965:A5 F0     XorByte LDA val
0967:A4 F1             LDY col
0969:49 FF             EOR #$FF
096B:91 26             STA (GBASL),Y)
096D:A9 00     Row14   LDA #0
096F:85 24             STA CH
0971:A9 14             LDA #20    ; $14 = 20
0973:85 25             STA CV
0975:20 22 FC          JSR VTAB
0978:           PrintStatus
0978:A9 D8             LDA "X"    ;X=## Y=## $=####:##
097A:20 ED FD          JSR COUT
097D:A5 F1             LDA col
097F:20 D3 FD          JSR PR=HEX
0982:A9 A0             LDA " "
0984:20 ED FD          JSR COUT
0987:A9 D9             LDA "Y"
0989:20 ED FD          JSR COUT
098C:A5 E2             LDA row
098E:20 D3 FD          JSR PR=HEX
0991:A9 A0             LDA " "
0993:20 ED FD          JSR COUT
0996:A9 A4             LDA "$"
0998:20 ED FD          JSR COUT
099B:A5 27             LDA GBASH
099D:20 D3 FD          JSR PR=HEX
09A0:A5 26             LDA GBASL
09A2:20 DA FD          JSR PRBYTE
09A5:A9 BA             LDA ":"
09A7:20 ED FD          JSR COUT
09AA:A5 F0             LDA val
09AC:20 DA FD          JSR PRBYTE
09AF:A5 F0             LDA val
09B1:A4 F1             LDY col   ; need to restore byte to org. value on exit
09B3:91 26             STA (GBASL),Y
09B5:60                RTS

Version 1

8F4:20 58 FC 2C
8F8:50 C0 2C 53 C0 2C 57 C0
900:A9 00 85 F0 85 F1 85 E2
908:85 26 A9 20 85 27 85 E6
910:A0 00 A2 00 A5 E2 20 11
918:F4 A4 F1 B1 26 85 F0 20
920:65 09 AD 00 C0 10 F2 8D
928:10 C0 A2 04 DD 5A 09 F0
930:05 CA 10 F8 30 DA A9 09
938:48 BD 5F 09 48 60 C6 F1
940:10 CE E6 F1 A5 F1 C9 28
948:B0 F4 90 C4 C6 E2 10 C0
950:E6 E2 A5 E2 C9 C0 B0 F4
958:90 B6 88 95 8B 8A 9B 3D
960:41 4B 4F 3C 2C A5 F0 A4
968:F1 49 FF 91 26 A9 00 85
970:24 A9 14 85 25 20 22 FC
978:A9 D8 20 ED FD A5 F1 20
980:D3 FD A9 A0 20 ED FD A9
988:D9 20 ED FD A5 E2 20 D3
990:FD A9 A0 20 ED FD A9 A4
998:20 ED FD A5 27 20 D3 FD
9A0:A5 26 20 DA FD A9 BA 20
9A8:ED FD A5 F0 20 DA FD A5
9B0:F0 A4 F1 91 26 60

Hand-assembled Woz-style !

   160  *************************************************
   170  *                                               *
   180  * "That BASIC, which we shipped with the first  *
   190  *  Apple II's, was never assembled -- ever.     *
   200  *  There was one handwritten copy, all          *
   210  *  handwritten, all hand assembled."            *
   220  *                                               *
   230  *              Steve Wozniak                    *
   240  *              Call-A.P.P.L.E., October 1986    *
   250  *                                               *
   260  *************************************************

Back to comp.sys.apple2.programmer | Previous | NextNext in thread | Find similar


Thread

HGR Byte Inspector michael.pohoreski@gmail.com - 2016-01-15 14:45 -0800
  Re: HGR Byte Inspector Mark Lemmert <mark.lemmert@gmail.com> - 2016-02-18 10:01 -0800
    Re: HGR Byte Inspector Michael Pohoreski <michael.pohoreski@gmail.com> - 2016-02-21 20:55 -0800
  Re: HGR Byte Inspector Michael Pohoreski <michael.pohoreski@gmail.com> - 2016-02-18 13:21 -0800

csiph-web