[Coco] ASM Coders - Round two!

Roger Merchberger zmerch-coco at 30below.com
Tue Aug 29 16:11:06 EDT 2006


Rumor has it that James Diffendaffer may have mentioned these words:

>BTW, I think some of his routines can be optimized to save a few clock
>cycles.  I'm not sure about the 6809 since I really haven't done much
>on it but on the 65816 (very similar to the 6809)

Ah, no - more like "3rd cousins, twice removed."  ;-) The 65816 is a 16-bit 
reimplementation of (but backwards compatible with) the 6502, which was 
very loosely based on the 6800, but is not machine-code compatible.

The 6809 is not machine code compatible with the 6800 (depending on the 
assembler, it *may* be source-code compatible as in it's the assembler's 
job to take the 6800 mnemonics and spit out the correct 6809 machine code, 
but that code will be by no means optimal for the 6809 as it won't make use 
of the secondary index & stack pointers, or the 16-bit D register (made up 
of A&B together).

Question: Does the 6502 have an index register? This is an honest question, 
not sarcasm BTW. I know there are some design differences between the 6800 
& 6502...

>  it's common to use a
>stack pointer when drawing on the screen since it saves a clock cycle
>for each access.  Or is this only valid for the 65816?

Very possible - I've never coded for 6502 or the 65816.

>This brings me to a gripe I have about the coco.

The following gripe is a straw-man argument.

>If you were programming an Atari 800, C64 or even Plus/4 game I could
>point you to music tracker plugins that you could include with only a
>few lines of code.  Just point it to the music you want to play and
>call the player within your interrupt handler and now your game has music.
>Need blitter code?  No problem.  6502 or 65816 routines ready to use.
>The coco?  I have to extract the code from a couple places or roll my
>own and it takes much longer.

You might as well gripe that there's existing blitter and music code for 
the Athlon 64 or Itanic ready to use but you must rewrite it in 6809. The 
65816 and 6809 are totally different critters! Why is it the CoCo's fault 
that no-one else wrote blitter code for the 6809? Do you blame the hammer 
for not hitting the nail, too?

Sorry for the sarcasm, but it's not the CoCo's fault that *humans* haven't 
pre-written the code you desire.

That's my take, anyway... Laterz,
Roger "Merch" Merchberger

--
Roger "Merch" Merchberger   | Anarchy doesn't scale well. -- Me
zmerch at 30below.com.         |
SysAdmin, Iceberg Computers




More information about the Coco mailing list