Someone with Coleco Knowlege

By Chilly Willy

Expert (66)

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

Login or 등록 to post comments

By JMeric

Resident (46)

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

By gdx

Enlighted (4802)

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.