[Coco] Re: Using Disk EDTASM

Torsten Dittel Torsten at Dittel.info
Thu Apr 7 10:57:44 EDT 2005


> 1) Setting the video mode on the Coco3 in assembly to the equivalent of 
> HSCREEN 2

No idea. Never had a CoCo3 here in Germany when I was still coding...

> 2) setting a single pixel on said screen aka HSET(x,y,c)

Well, there are always two approaches: If you're lazy or don't have 
space or maybe don't need speed, you can make an (undocumented) call to 
the corresponding routine in the SDECB ROM of the CoCo3 (you have to 
know how to pass parameters, this might be complicated and slow and 
mightn't work with different BASIC versions). Otherwise, you have to 
programm routine on your own. It depends on the resolution of the 
screen, on the way its memory is addressed and on how many bits are 
actually present in a pixel. Things were quite easy in PMODE4 on the 
CoCo1/2 but on the CoCo3...

> 3) reading from a joystick using asm

There was a documented indexed jump to the BASIC routine (something like
"JSR [$A00A]") but the routine was slow (because of a bug) at least on 
the CoCo1/2 (I used to use my own fast routine). "indexed jump" means, 
it jumps to a subroutine at the address which is stored in ROM location 
$A00A in this example (no jumping to $A00A!). The address which is 
stored there might change from ROM version to ROM version, but the place 
where it's stored ($A00A) never.

Not much, but a point for someone else to jump in and correct me...
Torsten






More information about the Coco mailing list