I did run into an issue when writing PONG for the Colecovision. I couldn't get the sounds to work. I reviewed the source code that been provided with the newcoleco kit. Didn't know what's going on, this ROM have music, but the source code looks right. Then I was like, ok I'm going to just learn assembly and try to get sounds working that way. I was already half way finished PONG that point. I was
slightly upset. Evidently, I compiled the example source code and.... no music. Hmm that's odd? Eventually found a source code that had working sound. Turns out the line that provide the pointer address to the sound table was missing from the source code. So I added the sound table pointer to that source code, and now it plays music. So no need to force myself to work in z80 assembly no more.
Intybasic is more easier to program in. If needed, I can look at the epilogue or prologue to see what it is doing under the hood. I can do that with Colecovision C. I have modify Pletter and bitbuster source code to work right, when it failed on the real hardware for not waiting for the vdp to be ready to retrieve data. I could add assembly library if needed. I did ask to see source code out of curiosity how box collision work in z80 to see the structure of the code and how the register get modified from the opcodes. I had z80 wikipedia to see what the opcode do. I also have 6502 opcode wikipedia and vcs.h open while programming atari 2600 games.
All I really need, array, loops, variables, and branches to build my game frame work. Intybasic provides that. I wrote my own sound effect function that works. I have set up Tilestudio colors to port tileset I made to intycolor to intybasic. MOBs are a bit harder to make and sandwich, but I use paint shop pro to draw the MOBs and then make bitmap statement in intybasic for each color. Right now, I'm learning the music player of IntyBASIC. So that save me the headache of programming music player for Intybasic.
With Atari 2600, I went with assembly. I read a lot about the hardware, and experimented with the source provided by the lesson post in the Newbie programming section. 8bitworkshop.com provide realtime change when typing in your code. So that accelerated my learning on assembly. Also learn that both Stella and Jatari emulator behave different. So it making the ROM version of the game makes it easier to try in Stella since it's closer to the real machine. So having 8bitworkshop showing you the changes in real time, providing visual aid, really helps a lot. I have compiled source code multiple of times in a hour just to place sprites in specific place.
Intybasic does provide a lot of control of the hardware. It does have a lot of support if people have question. I do try answer those question. Don't really need to be forced to learn CP1600 assembly to make games for Intybasic. Intybasic and Colecovision C makes it very easy for me to produce games. However, I will use assembly if needed like making page flipping games to make game bigger than 42KB, which I will attempt to learn some day.