Is there information somewhere about how to set up the CoCo hardware? Normally the BASIC ROM does this, right? I am making a cartridge and so need to do it myself from the cart.
Thanks!
This post was submitted by plainsteve.
|
09/04/10: CoCo 2 boot up sequence by plainsteve, | Category: General, Programming | 5 comments - (Comments are closed) CoCo 2 boot up sequenceIs there information somewhere about how to set up the CoCo hardware? Normally the BASIC ROM does this, right? I am making a cartridge and so need to do it myself from the cart. Thanks! This post was submitted by plainsteve. 5 comments to CoCo 2 boot up sequence |
||
|
Copyright © 2013 The TRS-80/Tandy Color Computer SuperSite! - All Rights Reserved Powered by WordPress & Atahualpa |
||
Your best bet is to study the ROM code in the “Unralvelled” series. In general, the PIA’s must be set, the SAM and 6847 set for video mode, and any other selectable settings such as interrupts, vectors, clock speed, etc.
Keep in mind that most of this will be done for you before the Coco even looks to see if there is a ROM pak present. You will only need to change settings which are required for your pak.
Actually, the cartridge is the bus master. At power-up the cartridge will assert /HALT and disable the CPU before it does much, if anything. Thus, the cartridge needs to configure everything necessary for a game to run: screen, sound, DRAM, PIAs, whatever. I will look at the Unravelled thing. Thanks!
Help! I can’t post a new topic. When I click on “Post Something” it brings up a page which says [tdomf_form1] with no actual form.
plainsteve:
IIRC, The most carts (excluding the disk controller) don’t use the /halt line. Autostarting carts force the /firq line low, to indicate they are “there” to basic rom. Basic rom, does indeed do a bunch of setup stuff (pia’s, VDA, etc…) before attempting to exec the cart. I know that the CoCo2 roms, however, leave the keyboard pia in a weird state. I needed to do this:
;; turn on coco2 irq int (needed for ROM)
ldb 0xff03
orb #1 ; enable vsync interrupt
stb 0xff03
Specifically for a ROM boot of my multi-source booter to get the coco2′s vsync irq firing. This is not needed for booting from cassette or disk or on a CoCo3, however.
There maybe other startup-state differences, but I have not encountered them (yet). I’m sure there’s a few more differences, but an intensive review of S.A.’s Unravelled should clarify!
–beretta
I really appreciate your and Robert’s replies. I have looked at the unraveled book and it was INDISPENSABLE for getting my cartride to work.
I have other questions to ask about my game cartride project, which has an 8-core Propeller microcontroller on board. However, I can’t ask them because when I go to make a new post it doesn’t show a form! :_(