Someone with Coleco Knowlege

Por Chilly Willy

Expert (108)

imagem de Chilly Willy

12-04-2021, 23:10

I know there are some of you out there that like to port games back and forth so this question is for you.

And yes...I know this is an MSX board but there are those who do both.

I can disabled the NMI in Colecovision mode. I do this before any heavy writes to VRAM.

However, this does not work in ADAM mode which is their computer.
Two very different environments using the same exact hardware.

If anyone has a clue or can point me in the right direction it would be great.

My process is that the games I am making for the MSX I would like to port it to the Coleco/ADAM as well and I have to use the ADAM's extra memory for the scrolling routines because vanilla Colecovision only has 1k where I can only use around 700 bytes of.

TIA

Entrar ou registrar-se para comentar

Por JMeric

Resident (51)

imagem de JMeric

13-04-2021, 00:51

I don't know Adam but you can contact Tony Cruise who had programmed games on the 3 systems. He wrote some books about MSX and Adam/Coleco programming. See you Smile

Por gdx

Enlighted (6437)

imagem de gdx

13-04-2021, 02:38

Chilly Willy wrote:

I can disabled the NMI in Colecovision mode. I do this before any heavy writes to VRAM.

However, this does not work in ADAM mode which is their computer.
Two very different environments using the same exact hardware.

I don't know ADAM well but I think the environments is not if different. Only a few devices have been added (RAM mapper, data recorder, keyboard, etc). There is only one way to disable MNI interrupts, that is by disabling the interrupt request signal from the VDP (bit 5 of the register 1). So there is no reason that it should not work on ADAM.

The problem in making a program for Coleco is to choose: either to access the VDP only with the interrupt routine avoiding that it takes too much time so as not to spill over to the next interruption or only to make accesses to the VDP outside the interrupt routine.

Whatever your choice, it is preferable to read the status register at each interrupt as on MSX. If you choice the second way, it is not necessary to disable interrupts.