Jump to content

Sprite and map scrolling demo on Tandy CoCo 3


5 replies to this topic

#1  

    River Patroller

  • 2,840 posts
  • Joined: 20-August 06

Posted Thu Nov 19, 2009 11:28 PM

A new Sprite and map scrolling demo on the Tandy CoCo 3. Sort of a proof of concept.
As I said before, a little CPU horsepower and more RAM and you can do sprites without hardware.
The video is a little choppy and doesn't show how smooth the actual animation really is.


#2 ONLINE  

    River Patroller

  • 2,188 posts
  • Joined: 26-November 04
  • Location:Long Island, NY

Posted Fri Nov 20, 2009 8:07 PM

It looks terrific! I'm particularly impressed since I've made small attempts at programming for the CoCo and have some small sense of how tough that sort of thing is.

As a side note, I often wonder how my programming youth was shaped by having a CoCo as my first (and basically only) home computer, since it had neither hardware sprites nor a synth chip. Things that would've been a piece of cake on the C64, for example, were thus a pain in the neck on the CoCo. Don't get me wrong, I love the CoCo, but if we'd had a different machine, I might well have gotten more into programming, and become a programmer instead of what I do now (dabble in programming, but mostly other stuff). I was a little shocked when I looked at the C64 BASIC programming manual recently and saw how easy it was for them to do this stuff!

Edited by thegoldenband, Fri Nov 20, 2009 8:12 PM.


#3  

    Dragonstomper

  • 981 posts
  • Joined: 24-February 06
  • Let's play soccer
  • Location:San Antonio, Texas

Posted Fri Nov 20, 2009 8:19 PM

Very cool! Posted Image Makes me want to add a CoCo to my collection...


tjb

#4  

    River Patroller

  • 3,501 posts
  • Joined: 20-February 04
  • CD C9 01
  • Location:Austin, TX

Posted Fri Nov 20, 2009 8:40 PM

The 6809 can really move some data if you disable the interrupts and use multiple PULS/PSHU instructions that copy 6 or 7 bytes at a time. It's not quite as good as the Z-80's LDIR, but it's a lot better than anything the 6502 can do. This is from a graphics mode screen driver that I wrote for OS9.

SCRUP PSHS U,Y,D
 LDX #0
 BSR SCRADR
 LEAU 6,Y
 LEAX $1800,Y
 CLR ENDSCR
 STS SPSAV
 LEAS 256,Y
SCRUP1 PULS D,X,Y
 PSHU Y,X,D
 LEAU 12,U
 PULS D,X,Y
 PSHU Y,X,D
 LEAU 12,U
 PULS D,X,Y
 PSHU Y,X,D
 LEAU 11,U
 PULS A,X,Y
 PSHU Y,X,A
 LEAU 11,U
 DEC ENDSCR
 BNE SCRUP1
 LEAY -256,S
 LDS SPSAV
 LDU 4,S
 LBSR CLRLN0
 PULS D,Y,U,PC
...of course if you have a 6309 you can use the TFM instruction instead.

#5  

    River Patroller

  • 3,443 posts
  • Joined: 22-February 04
  • Location:Portland, Oregon

Posted Tue Jan 5, 2010 11:14 PM

This is a great piece of code!

I've decided to jump back to the CoCo 3 for a while. It's a fun machine, and has some graphics tricks of it's own.

#6  

    Combat Commando

  • 6 posts
  • Joined: 06-December 09

Posted Mon Jan 11, 2010 8:50 PM

View Postpotatohead, on Tue Jan 5, 2010 11:14 PM, said:

This is a great piece of code!

I've decided to jump back to the CoCo 3 for a while. It's a fun machine, and has some graphics tricks of it's own.

Thanks guys! I'm the guy who coded that demo.
Indeed as Bruce said, the 6809 can really move a lot of data with its "MMX"-like instruction. In fact they are 'SIMD' (single-instruction, multiple data).
For example, the instruction:
pshs d,x,y,u,dp,cc
writes a string of 10 bytes and requires 15 clock cycle. (In 16 color mode, this means you can set 20 pixels in one instruction, faster than 1 pixel per clock). Thus the CoCo 3 can yield a maximum fillrate of 1193333 bytes per second (i.e.: 1.1 MB/sec). Do you know if any other 8-bit computer faster than that?





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users