[Coco] 64K ROM to RAM programs - where did this one come from?
Dave Philipsen
dave at davebiz.com
Tue Dec 14 18:11:21 EST 2021
Or maybe just get rid of the whole push/pull cc thing and finish off with a andcc #$af.
> On Dec 14, 2021, at 3:31 PM, L. Curtis Boyle <curtisboyle at sasktel.net> wrote:
>
> You could shrink it by a byte with 4032 being a PULS CC,PC instead. :-)
>
>
>> On Dec 14, 2021, at 3:24 PM, Allen Huffman <alsplace at pobox.com> wrote:
>>
>> Using a Motorola 6809 Emulator I found online (which turns out to be the Xroar site):
>>
>> http://6809.uk
>>
>> …I was able to convert the DATA statements from the ROM to RAM program in to “fcb” constant bytes…
>>
>> start:
>> fcb $34,$01,$1A,$50,$10,$8E,$80,$00
>> fcb $B7,$FF,$DE,$EC,$A4,$AE,$22,$EE
>> fcb $24,$B7,$FF,$DF,$ED,$A1,$AF,$A1
>> fcb $EF,$A1,$10,$8C,$FE,$FC,$25,$E8
>> fcb $10,$8C,$FF,$00,$24,$0C,$B7,$FF
>> fcb $DE,$EC,$A4,$B7,$FF,$DF,$ED,$A1
>> fcb $20,$EE,$35,$01,$39
>>
>> …then “assemble” it and look at the output in the emulator:
>>
>> 4000: 34 01 PSHS CC
>> 4002: 1A 50 ORCC #$50
>> 4004: 10 8E 80 00 LDY #$8000
>> 4008: B7 FF DE STA $FFDE
>> 400B: EC A4 LDD ,Y
>> 400D: AE 22 LDX $02,Y
>> 400F: EE 24 LDU $04,Y
>> 4011: B7 FF DF STA $FFDF
>> 4014: ED A1 STD ,Y++
>> 4016: AF A1 STX ,Y++
>> 4018: EF A1 STU ,Y++
>> 401A: 10 8C FE FC CMPY #$FEFC
>> 401E: 25 E8 BCS $4008
>> 4020: 10 8C FF 00 CMPY #$FF00
>> 4024: 24 0C BCC $4032
>> 4026: B7 FF DE STA $FFDE
>> 4029: EC A4 LDD ,Y
>> 402B: B7 FF DF STA $FFDF
>> 402E: ED A1 STD ,Y++
>> 4030: 20 EE BRA $4020
>> 4032: 35 01 PULS CC
>> 4034: 39 RTS
>>
>> I can now see why it is larger. Instead of copying a byte at a time, like the Frank Hogg version, it copies 6 bytes at a type by loading them in to three 16-bit registers (D, X and U). That means it is 6 times faster, I guess ;-)
>>
>> But, what is going on at $401A with the compare against address $FEFC followed by a compare against $FF00?
>>
>>
>>
>> --
>> Coco mailing list
>> Coco at maltedmedia.com
>> https://pairlist5.pair.net/mailman/listinfo/coco
>>
>
>
> --
> Coco mailing list
> Coco at maltedmedia.com
> https://pairlist5.pair.net/mailman/listinfo/coco
More information about the Coco
mailing list