I have a dream (as game dev)

By aoineko

Resident (52)

aoineko's picture

12-01-2021, 22:49

I have a dream that one day I could develop a game from a PC and be able to test it directly on a real MSX (without having to manually copy it to a medium and then having to manually install it on the MSX each time I want to test something).

I know that some people think that developing from a PC is not authentic enough, but as a console developer since the Playstation era, I've always used development kits to deploy my programs on consoles and I find it at the same time authentic enough and so much more efficient.

I also know that some people consider emulators to be far enough but, even though I'm very happy to have them (and they're really great), I feel it's a shame not to be able to easily test my programs on real hardware. Especially when you try to push the hardware to its limits, it's important to check that what you're doing is really compatible with the real hardware.

So, my dream would be to have a cartridge that links my MSX and my PC (with USB) and that I can run a batch command (after compiling my program) to automatically deploy my program on the MSX: at first, if it could flash a ROM and reboot the MSX, that would already be wonderful.
(Being able to emulate the launch of a game under Basic or DOS would be a bonus)

Well, the problem is that I'm totally useless in electronics and I'm unable to make this kind of hardware.

But if one day someone could make this dream come true, I would be the first buyer! Wink

PS : I think there is such a cartridge for the Amstrad CPC. I don't know if it helps.

Login or register to post comments

By mcolom

Master (174)

mcolom's picture

12-01-2021, 23:20

Well, not quite the same as you propose, but perhaps you could use the MSX ports (they are input/output) to transfer data. Say, routines and other data that you can then run in the real hardware. It could be a small program that simply waits for commands
like exec from this address, reset, read XXX bytes and copy to address YYY, etc.

By Manuel

Ascended (17296)

Manuel's picture

13-01-2021, 00:05

I think this could be done with a disk game easily using the Nowind cartridge. You can just develop/build into a disk image, start the nowind host program with it and reboot the MSX. It will run the disk image.

By Pencioner

Scribe (1291)

Pencioner's picture

13-01-2021, 07:42

aoineko wrote:

So, my dream would be to have a cartridge that links my MSX and my PC (with USB) and that I can run a batch command (after compiling my program) to automatically deploy my program on the MSX: at first, if it could flash a ROM and reboot the MSX, that would already be wonderful.
(Being able to emulate the launch of a game under Basic or DOS would be a bonus)

I have some feeling that with some coding it could be done with GR8NET:
1) first load program via network using regular GR8NET CALL NETBROWSE command,
2) this program listens for connection
3) your script connects to it and sends prepared data
4) MSX program receives metadata like ROM mapper, size, etc, initialize it properly (btw DSK emulation should be possible too, or GR8Cloud imitation so you run filesystem directly from network)
5) MSX program then receive ROM data and reboot
6) profit!

the next closest cartridge which can help with that should be NoWind as mentioned by @Manuel - but if you go for ROM not DSK image, it would be harder to do with Nowind imho (also last batch of Nowind was in 2013 iirc)

also, with some effort it could be done with RS232 - i remember back in the days we had YIS503IIR in my school and some game loaders via network. those were smart (but i think it is not trivial to code such things). though, with combination of RS232 + flashROM or megaROM or whatever it should be possible too. you RUN"COM:" on your MSX and then your script on PC sends some asm loader of your program to MSX, which in turn loads the game ROM data, flashes it or load to megaram, and reboots

By sd_snatcher

Prophet (3401)

sd_snatcher's picture

13-01-2021, 11:47

My dream would be a step-by-step remote debugger to run code on the MSX and debug on the PC/Mac. Wink

By gdx

Prophet (3911)

gdx's picture

13-01-2021, 12:22

Sd_snatcher's dream would be really good in real life.

By Pencioner

Scribe (1291)

Pencioner's picture

13-01-2021, 13:51

Would require a sharp FPGA mastery for that. The firmware which can not only map flash memory or SRAM pages to MSX address range like all devices such as C2, MFR, FJ, GR8NET etc do, but also inject some commands on the fly. Example: for step by step execution or some breakpoint implementation this device should analyze the current Z80 command which comes from flash, execute it, generate DI and interslot call to it's own BIOS ROM for some procedure which will save all registers etc, followed by EI with a WAIT signal. Then, send it by any means (serial USB like Nowind or ethernet like GR8NET) to the PC. After that, by the 'next step' command from PC, revoke WAIT signal and generate JP xxxx where xxxx is the address of next real command (because when we injected some stuff our program counter was advancing, so we need to set it back). It's a draft of course, in real life it will be more complicated and more details should be taken into consideration (f.e. not EI but NOP if there was DI executed before in the program which we trace/debug, etc etc etc)

"That's possible, but would be very-very expensive" should i say...

EDIT: also some PC debugger UI should be developed of course

By aoineko

Resident (52)

aoineko's picture

13-01-2021, 17:13

Thank you for your answers.

sd_snatcher wrote:

My dream would be a step-by-step remote debugger to run code on the MSX and debug on the PC/Mac. Wink

This is the next step. Wink

Pencioner wrote:

EDIT: also some PC debugger UI should be developed of course

The team behind Emulicious (https://emulicious.net) have already develop a debug interface between their emulator and Visual Studio Code.

By st1mpy

Hero (604)

st1mpy's picture

13-01-2021, 17:44

As for the remote debugging , an in circuit emulator (ice) might be what you need.
An msx example video. this thing could be further developed into a proper ice.

By ray2day

Hero (598)

ray2day's picture

13-01-2021, 18:51

MSXVR?

tho not a pc... and not real hardware, but effective hell ya!