[Coco] Coco Digest, Vol 122, Issue 19
Sandro Mestre
san.mes at gmail.com
Sat Mar 9 09:37:33 EST 2013
Oh, thanks! This is awesome. :)
2013/3/9 Brett Gordon <beretta42 at gmail.com>
> > Hello, I'm new to this list.
> >
> > I would like to code a game for the Coco1/2. I usually code for the
> > commodore c64 so I am aquainted with the 6502 but I also can code for the
> > motorolas 6800, 6809 and 680000. During the last days I have coded a
> sprite
> > engine for a computer with a 6809E and it is working great and then I
> > thought that I could code also the game for the Coco/Dragon computers.
> >
> > I need to know if there is a register that I can poll to check the
> current
> > raster position or if there is another way to know when the VDP starts
> > painting the horizontal borders. I am asking this because as many will
> know
> > if I paint the sprites there(borders) there will be no flickering.
> Another
> > option I have would be to use double buffering but then this would eat
> much
> > more memory and that would be perhaps a no go.
> >
> > How safe is it to use the high speed poke on a game? Do coco games use
> it?
> >
> > Thanks
> >
> > Wood
>
> Welcome Wood! We need good programmers for the CoCo! I have a
> feeling there is going to be some new hardware on the CoCo's horizon,
> and we need people producing new software.
>
> Unfortunately, unlike more sophisticated systems, the CoCo's VDG chip
> doesn't include an external register for scan lines; It does, however,
> send it's HSYNC and VSYNC lines to the PIA chips for Interrupt
> latching. The HSYNC is latched and gated vi PIA to the FIRQ line and
> the VSYNC is gated and latched to the IRQ line. You can setup the
> interrupts like this
>
> .db scanline ;; scan line counter
>
> FIRQ:
> lda PIADATA ; clear pia interrupt
> inc scanline ; increment scanline on HSYNC (
> ~15,750 Hz)
> rti ; return
>
> IRQ:
> lda PIADATA ; clear pia interrupt
> clr scanline ; reset scanline counter on VSYNC (~60
> Hz)
> rti ; return
>
> initirq:
> orcc #0x50 ; shut off interrupts
> ldd FIRQ ; set BASIC's revectored FIRQ
> std 0x103
> ldd IRQ ; set BASIC's revectored IRQ
> std 0x106
> andcc #0xaf ; turn on interrupts
> rts
>
> Double check usual places for the exact addresses for the PIA
> addresses, BASIC's IRQ handler addresses, and CC's INT masks :)
>
> https://sites.google.com/a/aaronwolfe.com/cococoding/
>
> is Aaron's great repo for technical docs on BASIC and CoCo in general.
>
> Cheers,
>
> --
> Brett M. Gordon, (CoCoBoot)
> beretta42 at gmail.com
>
> --
> Coco mailing list
> Coco at maltedmedia.com
> http://five.pairlist.net/mailman/listinfo/coco
>
More information about the Coco
mailing list