Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.sys.apple2.programmer > #2124 > unrolled thread
| Started by | michael.pohoreski@gmail.com |
|---|---|
| First post | 2016-01-15 14:45 -0800 |
| Last post | 2016-02-18 13:21 -0800 |
| Articles | 4 — 3 participants |
Back to article view | Back to comp.sys.apple2.programmer
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
| From | michael.pohoreski@gmail.com |
|---|---|
| Date | 2016-01-15 14:45 -0800 |
| Subject | HGR 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]
| From | Mark Lemmert <mark.lemmert@gmail.com> |
|---|---|
| Date | 2016-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]
| From | Michael Pohoreski <michael.pohoreski@gmail.com> |
|---|---|
| Date | 2016-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]
| From | Michael Pohoreski <michael.pohoreski@gmail.com> |
|---|---|
| Date | 2016-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