TIP: Click on subject to list as thread! ANSI
echo: apple
to: comp.sys.apple2
from: Toinet
date: 2009-02-17 04:17:12
subject: Re: ANNC: ProDraw IIe released

Hi All,

On 14 f=E9v, 22:00, "Craig Bower"  wrote:
> It's at the check keys routine, where stuff gets ridiculously strange.
> Some checks have routines built in, others do JSRs, which in turn
> do JSRs, JMPs, JSRs, etc., etc., etc. =A0Yikes-fest '09.
>
> 1122- =A0 AD 10 C0 =A0 =A0 =A0LDA =A0 $C010 =A0 =A0r:KBDSTRB ; Determine =
key
> 1125- =A0 85 00 =A0 =A0 =A0 =A0 =A0 =A0 STA =A0 $00 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 ; and do
> function
>

In the code, somewhere:
LDA $C000
BMI keyHIT (or BPL mainLoop)

keyHIT
STA $C010
STA $00

> (Note: the STA $00 is pointless here, I figured that out early on, but
> never got around to compressing my code and eliminating it.)
>
> 1127- =A0 C9 88 =A0 =A0 =A0 =A0 =A0 =A0CMP =A0 #$88 =A0 =A0 =A0 =A0; <--
> 1129- =A0 D0 10 =A0 =A0 =A0 =A0 =A0 =A0BNE =A0 $113B =A0 =A0 =A0; Decreme=
nt color
> 112B- =A0 C6 08 =A0 =A0 =A0 =A0 =A0 DEC =A0 $08
> 112D- =A0 A5 08 =A0 =A0 =A0 =A0 =A0 LDA =A0 $08 =A0 =A0 =A0 =A0 =A0 ; ZP =
$08 is where color status
> byte is
> 112F- =A0 C9 FF =A0 =A0 =A0 =A0 =A0 CMP =A0 #$FF
> 1131- =A0 D0 04 =A0 =A0 =A0 =A0 =A0 BNE =A0 $1137
> 1133- =A0 A9 0F =A0 =A0 =A0 =A0 =A0 LDA =A0 #$0F
> 1135- =A0 85 08 =A0 =A0 =A0 =A0 =A0 =A0STA =A0 $08
> 1137- =A0 20 D2 10 =A0 =A0 =A0 JSR =A0 $10D2
> 113A- =A0 60 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0RTS

LDA $08
SEC
SBC #$01
AND $0F
STA $08

>
> 113B- =A0 C9 95 =A0 =A0 =A0 =A0 =A0 CMP =A0 #$95 =A0 =A0 =A0; -->
> 113D- =A0 D0 10 =A0 =A0 =A0 =A0 =A0BNE =A0 $114F =A0 =A0 ; Increment colo=
r
> 113F- =A0 E6 08 =A0 =A0 =A0 =A0 =A0 INC =A0 $08
> 1141- =A0 A5 08 =A0 =A0 =A0 =A0 =A0 LDA =A0 $08 =A0 =A0 =A0 =A0; ZP $08 i=
s where color status byte
> is
> 1143- =A0 C9 10 =A0 =A0 =A0 =A0 =A0 CMP =A0 #$10
> 1145- =A0 D0 04 =A0 =A0 =A0 =A0 =A0 BNE =A0 $114B
> 1147- =A0 A9 00 =A0 =A0 =A0 =A0 =A0 LDA =A0 #$00
> 1149- =A0 85 08 =A0 =A0 =A0 =A0 =A0 STA =A0 $08
> 114B- =A0 20 D2 10 =A0 =A0 JSR =A0 $10D2
> 114E- =A0 60 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0RTS

LDA $08
CLC
ADC #$01
AND #$0F
STA $08

>
> 114F- =A0 C9 D3 =A0 =A0 =A0 =A0 CMP =A0 #$D3 =A0 =A0 =A0; S
> 1151- =A0 D0 10 =A0 =A0 =A0 =A0 BNE =A0 $1163 =A0 =A0 =A0; Change plot st=
atus
> 1153- =A0 C6 09 =A0 =A0 =A0 =A0 DEC =A0 $09
> 1155- =A0 A5 09 =A0 =A0 =A0 =A0 LDA =A0 $09 =A0 =A0 =A0 =A0 =A0 ; ZP $09 =
is where plot status byte
> is
> 1157- =A0 C9 FF =A0 =A0 =A0 =A0CMP =A0 #$FF
> 1159- =A0 D0 04 =A0 =A0 =A0 =A0BNE =A0 $115F
> 115B- =A0 A9 01 =A0 =A0 =A0 =A0LDA =A0 #$01
> 115D- =A0 85 09 =A0 =A0 =A0 =A0STA =A0 $09
> 115F- =A0 20 A6 10 =A0 JSR =A0 $10A6
> 1162- =A0 60 =A0 =A0 =A0 =A0 =A0 =A0 =A0RTS

LDA $09
EOR #$01
STA $09

Congratulations for the ML input ;-)

antoine
--- SBBSecho 2.12-Win32
* Origin: Derby City Gateway (1:2320/0)
SEEN-BY: 10/1 3 34/999 120/228 123/500 128/2 140/1 222/2 226/0 236/150 249/303
SEEN-BY: 250/306 261/20 38 100 1404 1406 1410 1418 266/1413 280/1027 320/119
SEEN-BY: 393/11 396/45 633/260 267 712/848 800/432 801/161 189 2222/700
SEEN-BY: 2320/100 105 200 2905/0
@PATH: 2320/0 100 261/38 633/260 267

SOURCE: echomail via fidonet.ozzmosis.com

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.