ARE YOU READY FOR SOME 4TH GEN CONSOLE DEVELOPMENT
IN 68000 ASSEMBLER FOR THE SUCCESSOR TO THE SEGA MASTER SYSTEM
WHY YES I THINK YOU ARE

I’ll be using this lovely base code hacked together from a not-quite-a-game-yet.
To build, use: asmx -e -w -C68000 -b0 -o gm-baseld24.bin main.asm
I think I’ll have a build script at least by the end of this. Quite possibly a Makefile, too.
So anyhow, the usual crap:
- Language: Sweet, sweet 68000 assembly. Would be even better if it weren’t backwards, and arranged primarily to make you shoot yourself in the foot. But 8 data + 8 address registers and a near orthographic instruction set is quite delicious OH YES
- Compiler: None. Compilers are for pussies. We use an…
- Engine: OF COURSE NOT, we use an…
- Assembler: asmx – because there aren’t any good 68k assemblers yet >:( (just ask Charles MacDonald)
- Graphics: GIMP. Duh. (It’s nicer than using text files with lines and lines of db / dc.b %00000000 statements)
- Sound: DefleMask, mostly because it’s the only damn thing that works on Linux which does OPN2. It’s not too shabby actually… except for the fact that PgUp/PgDn do nothing >:( FIX IT DELEK
- Text editor: Kate, which is KDE’s offering.
- Emulator (considering I lack the real hardware): Mednafen. Probably going to test it in Kega Fusion some time as that’s probably more accurate, but Mednafen has Charles MacDonald’s Genesis Plus core… I think.
Considering that 100% of all Sega Master System games from LD22 ran on raptor85′s computer (read: there was exactly one), I think we’re onto a compatibility winner here.
P.S. By the way, here’s a working link for Autotracker-BU.
P.P.S. I am, of course, talking about the Sega Mega Drive. Just in case you didn’t notice.
You might be insane. I love it. Really looking forward to seeing what you come up with!
Wow, you love to torture yourself, don’t you? Programming that wasn’t fun back when you could get paid lots of money to do it.
OH RIGHT, I forgot. Sound. That’ll be done in code. I think.
Seeing you do this last game made me want to program for an archaic system as well. So thanks for introducing me to the “fun” of assembly. I picked up the Game Boy Advance, but my skills won’t be ready in time for LD24. I wish you the best of luck and can’t wait to see what you come up with.
I suggest whipping out a simple practice game like this one, which took about 4 hours and had a broken .it player: http://www.ludumdare.com/compo/2010/12/16/its-doable/
EDIT: The link’s dead so here’s the ROM if you want it – haven’t reuploaded the source: http://gm.asiekierka.pl/stuff/ld19-practice-game.sms
Totally awesome! I tried to do the last one in Z80 assembler/Pac-Man hardware, but didn’t get very far. I think I’ll have to do the same thing again this year. One thing I learned from it though is that people can’t be bothered to download an emulator to try it. I would spend some time now to get a web-based emulator running for this platform. (even if it’s less accurate) You’ll get tons more views/plays if people can just click and run it in a browser. I am very anxiously looking forward to what you’re able to accomplish in the timeframe!
Here’s a link to my post mortem from last time: http://www.ludumdare.com/compo/2012/04/24/tiny-world-82-post-mortem/
Mega cheers and good luck out to you!
Nice one. I suggest not using something that requires MAME this time, though. If you’re into Z80 stuff, I suggest the Sega Master System as it’s fairly sane to work with; just be wary that if you want stuff to run on the real hardware, don’t write to the VDP data port any faster than every 28 cycles (it’s been tested that anything faster than 26 causes graphical corruption on the real hardware).
But to save on complications, you can just ignore that restriction and wait until someone wants it on the real thing
Mednafen should be suitable for emulation, although it lacks a Z80 debugger
But ideally you should test it on several emulators (though MEKA sucks ass for accuracy – but it has a good debugger… but the sound library it uses sucks ass so turn sound off if you’re using not-windows); Kega Fusion is probably the most accurate.
Some docs.
Charles MacDonald’s stuff, should be good: http://cgfm2.emuviews.com/sms.php
Stuff on the sound chip, I think: http://www.smspower.org/Development/SN76489
You probably don’t need a memory mapper unless you want to go past 32KB (or 48KB if your emulators are happy with that size) – trust me, I haven’t gone past that yet
although doing a simple compression for any .vgm music you shove in there is highly recommended, I use a table of streams in my games.
Understood. I used to have a web-based emulator, which i need to find again. I’d love to learn a new platform, but I just don’t have time to do so at this point. To be honest, I’d probably go for Commodore 64, or if I’m feeling insane, Atari 2600/VCS…
But since I already have a lot of experience with Z80/Pac-Man, and don’t have time to learn one of these right now, I think I’ll stick with it this time.
I’ll poke at Sega Master System at some point. Seems like it’d be a fun next-step.
Totally awesome! I love seeing people doing retro stuff like this!
I’m excited to see your entry.
LOL. You are insane, I love it. Too bad there’s no technical category, you would win instantly.
Oh, another thing I forgot. Base code licence… stuff it. Public domain. That should do just fine.
Nice! I tried Atari 2600 in the last LD but that was the first time I programmed it so there was not enought time to do something decent. Now I’m doing demoscene stuff for it and a game for an upcoming party – for the real hardware ofcourse because if it isn’t running on a real hardware then it isn’t count in demoscene. I just love to program the 6507! It’s so simple and great fun!
I have plans learning to program the MegaDrive. That is my favorite gaming console still! (Well if we dont count handhelds, because thats the NDSi.) Maybe next year I get stuff for it and do an LD on that.
I have a question about the autotracker, well not really but kind of related
I’m looking for some good reference for the IT-file format and since you output such a file, I guess that you have access to something like that?
Yes, I know that I can access this info by reading the source code for Open MPT, but that is less pleasant
I also found the source for schism tracker, which is much more readable and is perhaps the best spec if a spec is missing