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


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

HGR Byte Inspector

Started bymichael.pohoreski@gmail.com
First post2016-01-15 14:45 -0800
Last post2016-02-18 13:21 -0800
Articles 4 — 3 participants

Back to article view | Back to comp.sys.apple2.programmer


Contents

  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

#2124 — HGR Byte Inspector

Frommichael.pohoreski@gmail.com
Date2016-01-15 14:45 -0800
SubjectHGR Byte Inspector
Message-ID<2869c913-a2ae-4de7-af68-b5db1cd8f096@googlegroups.com>
; 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  *************************************************

[toc] | [next] | [standalone]


#2264

FromMark Lemmert <mark.lemmert@gmail.com>
Date2016-02-18 10:01 -0800
Message-ID<f136597b-1131-4390-ad97-9b3e06485804@googlegroups.com>
In reply to#2124


On Friday, January 15, 2016 at 4:45:04 PM UTC-6, Michael Pohoreski wrote:
> ; 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
> ;


Awesome program, especially for examining existing graphics to see the exact HEX and binary that make up the pixels on the screen. 

Very helpful for investigating "how did they draw that?" type questions.

 

[toc] | [prev] | [next] | [standalone]


#2350

FromMichael Pohoreski <michael.pohoreski@gmail.com>
Date2016-02-21 20:55 -0800
Message-ID<8a4a9dfb-c9d2-4f08-9e29-bf4ec17df8d2@googlegroups.com>
In reply to#2264
New version 16 is up.
https://github.com/Michaelangel007/apple2_hgrbyte

The big changes in this version are:

* You can use the 0..9, and A-F to "append" a hex nibble.  Makes it trivial to enter in hex values to see what they display as.

* All the Toggle Bit-# keys have been "shifted", pardon the pun, from 0..9 to Shift-0 .. Shift-9.

* The keys to  save the byte under the cursor to a temp, and set the byte under the cursor have been swapped.  Once you find a byte you "like", press the minus '-' key to "copy" it. Then to "paste" it with the equals '=' key all over the screen. :-)

Keys are in the README.

[toc] | [prev] | [next] | [standalone]


#2268

FromMichael Pohoreski <michael.pohoreski@gmail.com>
Date2016-02-18 13:21 -0800
Message-ID<b44ef5d6-0d67-4f77-b1a1-2bbc7d06fa28@googlegroups.com>
In reply to#2124
Since version 1 was crap you can find a significantly improved Version 12 here ...
https://groups.google.com/d/msg/comp.sys.apple2.programmer/vxtFo6QEYGg/9c0appFrGQAJ

I've been busy with my printm() so now THAT is out of the way, I can get this up on GitHub proper "soonish"

[toc] | [prev] | [standalone]


Back to top | Article view | comp.sys.apple2.programmer


csiph-web