Jump to content

Foryster - ColecoVision Game


Recommended Posts

No sounds or music yet. A game originally written for the SG-1000. I had a problem with RAM, so I ask to be 100% sure: What is the "safe" WRAM area in ColecoVision? Because from what I read, 11 bytes from $ 6020 are used by the system, similarly the last 71 bytes of WRAM are used by the system. I am asking for precise information on this, because I am not sure.


Another question: will PSGLib work with ColecoVision? At the moment, trying to use it in the code doesn't work. There are probably some differences in the sound registers.




foryster_sg1000.sg foryster_msx.rom



foryster_colecovision_mode2test.col foryster_colecovision.col

Edited by siudym
  • Like 1
Link to comment
Share on other sites

As for WRAM, the most important thing is can the initial values used by the system be released somehow? Are they permanently assigned to be used by the sound system?



Address   Name                 Description                 
7020-7021 PTR_LST_OF_SND_ADDRS Pointer to list (in RAM) of sound addrs
7022-7023 PTR_TO_S_ON_0        Pointer to song for noise
7024-7025 PTR_TO_S_ON_1        Pointer to song for channel#1
7026-7027 PTR_TO_S_ON_2        Pointer to song for channel#2
7028-7029 PTR_TO_S_ON_3        Pointer to song for channel#3
702A      SAVE_CTRL            CTRL data (byte)

I also have a huge problem with setting the SCREEN 2 mode (GRAPHICS II / MODE 2).

Edited by siudym
Link to comment
Share on other sites

If you don't use the ColecoVision BIOS, you have all the RAM to yourself. The BIOS will just pass interrupts to your code, and no BIOS routine using any RAM will ever get involved. None of my ColecoVision games do use the BIOS routines, so I can freely use the whole RAM.


Link to comment
Share on other sites

On 4/7/2022 at 1:18 PM, siudym said:

I use some. Are those that use the 6020-2A range only responsible for BIOS-Sounds? I do not use this at all, so this RAM place will be safe?

If you don't use music routines, this RAM is safe.


If you are using PSGLib, the you need to change the PSGDataPort to $ff (This is the port where the PSG is decoded on the Colecovision)


Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...