• Hey! Guest! The 39th GMC Jam will take place between November 26th, 12:00 UTC and November 30th, 12:00 UTC. Why not join in! Click here to find out more!

Idea Developing for Mega Drive with GM?

CleanWater

Member
Not necessarily - you can find purpose-specific BASIC and C compilers that output 68000 code. Won't let you have local variables, but still a little nicer than poking with assembly.
If I recall well, GM converts the code to C++ isn't it? So technically, it could be possible?
 

Lukan

Gay Wizard Freak
The easiest way to get the raw c++ code is to compile to linux, as it dumps all of the code into a folder and leaves it there.
But I'm guessing there's a lot of newer stuff in there that the mega drive can't account for, so just finding a 68000 compiler probably isn't going to work, you'd need to edit the raw code down to something it can actually use.
 

CleanWater

Member
The easiest way to get the raw c++ code is to compile to linux, as it dumps all of the code into a folder and leaves it there.
But I'm guessing there's a lot of newer stuff in there that the mega drive can't account for, so just finding a 68000 compiler probably isn't going to work, you'd need to edit the raw code down to something it can actually use.
So the only issue would be to know the limitations, so I can develop something that is actually usable by the 68000 compiler?

Where I find the raw code of the game on linux?
 

YellowAfterlife

ᴏɴʟɪɴᴇ ᴍᴜʟᴛɪᴘʟᴀʏᴇʀ
Forum Staff
Moderator
If I recall well, GM converts the code to C++ isn't it? So technically, it could be possible?
Not really - GML compiles to C++, while 68000 compilers take a subset of C - there are only global variables, functions, and structs. GML's C++ compilation also takes full advantage of there being a plenty of memory to spare on modern computers, while 68000 had 72KB of RAM total, thus requiring to pack things much more carefully. Lack of fast floating-point operations would also be an issue. And the lack of support for any built-in functions.

Overall, picking up a bit of C would be an easier way around.
 

YellowAfterlife

ᴏɴʟɪɴᴇ ᴍᴜʟᴛɪᴘʟᴀʏᴇʀ
Forum Staff
Moderator
So, I still could develop the game on GM, but then compile to C++ code and then edit the source code of the game to match the 68000 requisites? o_O
I meant to learn some C and just write the game in that. No GM for 68000.
 

Joe Ellis

Member
I love this idea, but I think writing something in gm and then having to convert it probably 2 times, you'd probably be better off just learning how to use the old computers they used to make the games, you can still buy them..
plus how gm works pretty much entirely in 64bit is gonna be just not worth the trouble
 

CleanWater

Member
Actually, I have some games already finished in GM, so for me it would be more "easier" to just adapt these games to 68000, instead of "re-developing" them from scratch.

I wanted to take a ride in this re-release hype of Sega Mega Drive, but I'll have to gave up on this idea. :(
 
A

Alan Chan

Guest
You make no sense at all why do you want to make a mega drive for a game programming? Programming is only for the math functions and an interface. The YellowAfterLife is not wrong when you want to get the C local variable inside the C++ variable. So, that is some kind of a machine language that you wanted to know of...
 
Last edited by a moderator:

Rayek

Member
You make no sense at all why do you want to make a mega drive for a game programming? Programming is only for the math functions and an interface. The YellowAfterLife is not wrong when you want to get the C local variable inside the C++ variable. So, that is some kind of a machine language that you wanted to know of...
Lost in (Google) translation o_O:confused:
 

CleanWater

Member
You make no sense at all why do you want to make a mega drive for a game programming? Programming is only for the math functions and an interface. The YellowAfterLife is not wrong when you want to get the C local variable inside the C++ variable. So, that is some kind of a machine language that you wanted to know of...
Sorry, I didn't understand your point.
 
L

LukeLC

Guest
You're talking about a machine from the days when every line of code mattered because your storage, memory, and processing restrictions were so tight. Object oriented engines are not a good fit for classic consoles in general for this reason. Even just initializing all the default variables for GameMaker instances would be a catastrophic waste in that context.

Now, if you wanted to do the reverse and emulate a Mega Drive to run existing games in GameMaker, that would be a more realistic endeavor.
 
A

Alan Chan

Guest
CleanWater, If you are looking to make something like a mega drive, than you should read this very rare C coding machine languages book. When you finish reading this C coding machine languages you should be able to make the new Keyboard buttons that can works within one computer's mind.


Also, if you want to code the timing of the machine engine movement that you will need to recalculate between the weight and speed movement. You should use the Coq machine languages from this website. https://coq.inria.fr/
 
Last edited by a moderator:
A

Alan Chan

Guest
Wait CleanWater, why do you still want to make a Mega Drive gaming console that is being a very outdated inside from this world? I am so sorry that I have never heard of a Mega Drive from before.
 

Rayek

Member
Wait CleanWater, why do you still want to make a Mega Drive gaming console that is being a very outdated inside from this world? I am so sorry that I have never heard of a Mega Drive from before.
A fair number of people continue to develop games for (very) old computers: Spectrum, C64, Megadrive, Amstrad CPC, even old DOS, SNES, NES, BBC, and others. They do this because:

A) nostalgic reasons
B) it is a good coding exercise, and these relatively simple machines can be used to learn Assembly, hit the very metal
C) it is fun
D) still a relatively lot of people using these old machines, and interested in new games (don't forget: if thousands of mega drive collectors buy your game, you'd still be able to make a profit)
E) because they can
F) to prove they can, and have bragging rights.
G) because they owned such a machine in their youth. Or even were a developer at that time, and continued on to modern game development, and are now returning to their roots: a simpler time when one developer could make great games by themselves.
H) because of the "hidden" collectors' market. Retro game and system collectors WILL purchase interesting new games.

If you are still relatively young (and you sound young, if not, I apologize), you may not understand the attraction to develop a game for an outdated system. There are even modern development environments and IDEs maintained by developers who create games for these very old systems.

Understanding the limits of these old systems and the games makes you appreciate and understand how to develop retro-looking games as well."Pixel art" wasn't a style back then, but reality.

For more info:
https://www.retrogamer.net/

Check this out how to develop for the old Spectrum: http://www.stevehill.xyz/spectrum/2017/03/16/spectrum-development-environment.html

Every month multiple new games are released for these old systems. For all the reason mentioned above, and others.
 
Last edited:
Top