is making a MSX game

ページ 1/2
| 2

By aoineko

Paragon (1133)

aoineko さんの画像

28-02-2023, 20:34

Hi, is an important French association that takes care of the preservation of the videogame heritage. They recover a lot of old software and hardware, repair them, store them and make exhibitions, especially with museums.
They also try to keep this heritage alive through various events. Recently, they started a new project: creating an MSX game!

To my dismay (^^), they chose BASIC rather than C to create their game in the conditions of the users who were discovering the MSX at the time (and who had nothing but BASIC to start experimenting with their machine).
Project participants have no programming experience on MSX and discover as they go along lives on Twitch.
I give them some advice but I don't know much about BASIC.

For example, they would like to eventually create a game on a cartridge, but I have no idea if it is possible to run BASIC from a cartridge or if there are tools to "compile" BASIC code into a binary programmer. I've read about X-BASIC, but it doesn't seem to help (we would need the X-BASIC ROM and it only seems to be useful to optimize a few pieces of code but not to convert a whole program).
Their technical ambition is quite limited so I think it's feasible in BASIC but apart from releasing the game on floppy disk, I don't know how they could make it a cartridge.

Any opinion? Any advice?

PS: Next Twitch live will be Sunday March 12th (in French)


By Pencioner

Scribe (1609)

Pencioner さんの画像

28-02-2023, 20:42

You can surely put a BASIC game on cartridge. I do not remember exact steps but i tried it a while ago. AFAIK BASIC part is limited to 16K (8000h-BFFFFh addresses) because the page starting at C000h should have RAM in this case obviously. Moreover, you can make a cartridge which will contain some assembler code for handling your own CALL instructions, alongside with a BASIC program which will be using them (the asm part will take first 16K starting at 4000h and the BASIC part another 16K), which might be a nice combo. I don't remember if MRC wiki has info about putting BASIC code on cartridge or i have found it somewhere else btw

By ericb59

Paragon (1124)

ericb59 さんの画像

28-02-2023, 20:43


It's possible to create a 16KB ROM for a Basic Program as far as I know.
There is a little utility floating around somewhere for that.

The easy way to create a ROM for a more large Basic Program is to use DSKtoROM.
Put the Basic program and all its data on a floppy disk that Boot From MSX-DOS.
Transform the floppy disk into a .DSK file
Use DSKtoROM to transform the .DSK into a ASCII8 ROM (or a Konami4 ROM).
Easy... Wink

By Pencioner

Scribe (1609)

Pencioner さんの画像

28-02-2023, 20:53

PS some links:

PPS Eric's approach also works, and if you have multifile program then it is the only way to go :)

By aoineko

Paragon (1133)

aoineko さんの画像

28-02-2023, 21:11

Thank you very much for this information. I have some reading to do. Smile

By aoineko

Paragon (1133)

aoineko さんの画像

11-03-2023, 17:35

The continuation of the adventures of the association in the creation of a MSX game will take place tomorrow 21:30.
And this time, I will participate directly to the Live: :)
(in French)

By aoineko

Paragon (1133)

aoineko さんの画像

09-04-2023, 19:28

New " association is making a MSX game" Live on Twitch today 21:30 (UTC+2).
The project moved to C so no more BASIC issue. ^^
Hopefully we will add some player interaction today for this adventure-puzzle game. (in French, but you can ask question in English)

Project progress so far:

By Giangiacomo Zaffini 2

Champion (300)

Giangiacomo Zaffini 2 さんの画像

11-04-2023, 10:25

I think this tool can help MSX BASIC ROM creator

By santiontanon

Paragon (1830)

santiontanon さんの画像

11-04-2023, 15:50

The screenshot looks very intriguing! Looking forward to see more progress! Smile

By aoineko

Paragon (1133)

aoineko さんの画像

11-04-2023, 18:16

The project now has its own GitHub repository:
It's an adventure-puzzle game where the player has to find the way out of the place by going through a multitude of rooms.
All the code and data will be freely available and people will even be encouraged to propose new puzzles.

We progress slowly with each Live, but the last time we were able to add interactions with the phone, the light and the door.
The game is testable online:

By konamiman

Paragon (1210)

konamiman さんの画像

11-04-2023, 19:24

From MSX2 Technical Handbook:

How to place BASIC programs in ROM

1. Change the starting address of BASIC text to 8021H.

POKE &HF676,&H21 : POKE &HF677,&H80 : POKE &H8020,0 : NEW

Note: these statements must be in one line.

2. Load the objective BASIC program.


3. Create ID.

    AD = &H8000
    FOR I = 0 TO 31    ----+
     POKE AD + I, 0        |  clears ID area
    NEXT I             ----+
    POKE &H8000,ASC("A")
    POKE &H8001,ASC("B")
    POKE &H8008,&H20
    POKE &H8009,&H80

4. Put 8000H to BFFFH in ROM.

ページ 1/2
| 2