Choice4genesis - a ChoiceScript clone for the Sega Genesis

This is a ChoiceScript clone that generates Sega Genesis ROMs. If can be used for visual novels or simple multimedia presentations.

It takes a bunch of scripts and images and, from that, it generates SGDK-compatible .c and .res files. Those are then compiled into a Sega Genesis compatible ROM, which can be run on an emulator or even on real hardware.

The syntax of the scripts is somewhat based on ChoiceScript, but it is not exactly the same.

Please note that this is an early work and progress, and it is not as stable or user-friendly as it is planned to become.

Version 0.0.1 of the tool: … nspiler.7z
Video for version 0.0.1: choice4genesis version 0.0.1 - YouTube

Page on choice4genesis - a ChoiceScript clone for the Sega Genesis by haroldo-ok
Github repo: GitHub - haroldo-ok/choice4genesis: A ChoiceScript clone that generates SGDK-compatible C source for the Sega Genesis

Example script:

* font " - Hourglass font.png"
* background "Blue Hedgehog.png"
* choice
	# Play some music
		* music "Actraiser - Fillmore.vgm"
		OK, playing Fillmore, from Actraiser.
	# Show a smiley
		* image "Smiley.png", at(30, 3)
		OK... showing a smiley!
	# Third choice
		You chose the third one
		* choice
			# Yet another choice
				You chose this.
			# One more choice
				You chose that.
This is a test.
Second line.
Third line.


Hi @Haroldo_Pinheiro very interesting approach. Unfortunately I don’t own a Sega Genesis and I can’t play with it. I am just curious about what motivated you to do this. By the way, I would love a Commodore 64 port, so we could play CS games there!


I’m implementing this partially because:

  • I like creating tools;
  • I wanted to create something for the Sega Genesis;
  • And I wanted to create a more powerful version of GINCS.

Of course, since it generates C code, it should be relatively easy to make it generate code for other platforms.

As for the C64, well, there is another project by me called BlocklyVN8bit, thouh this one is not based on Choicescript :GitHub - haroldo-ok/BlocklyVN8bit: This is a mashup between BlocklyVN32X and 8Bit-Unity. It allows you to make Visual Novels for classic 8bit computers and consoles, using a visual scripting language.

Now that I think about it, both tools ended up generating very similar C source…

1 Like


Hello, again;
Version 0.3.0 has been released!

Commands implemented between 0.0.1 and 0.3.0 are:

  • sound for playing digitized sounds and voices;
  • stop: to stop sound and/or music;
  • create, temp, set for variable creation and manipulation;
  • if, elseif and else for conditional execution
  • goto_scene to jump to another scene script.

I would link to the transpiler and sample ROM, but the forum is not allowing it… :sweat_smile: