vladikcomper
Member
- Messages
- 3
- Here's something I've been using internally for many years, and I figured I need to make a public release eventually, because it's mature and well-documented at this point
MD Shell 2.6
MD Shell is an easy-to-use wrapper for writing console-like Sega Mega-Drive ROMs that can output text using printf-like syntax (powered by "high-level" Console.Write macros). It's based on console mode of MD Debugger (and yes, MD Debugger itself has the exact same features!)
Although it's v.2.6 and MD Shell has been developed alongside the same MD Debugger versions, it's the first proper public release. I've mainly been using MD Shell for writing small test and demo ROMs for myself, but I believe it may be useful for other people as well.
Feature highlights
Source code is available on Github: https://github.com/vladikcomper/md-modules/tree/master/modules/mdshell
Examples
MD Shell 2.6
MD Shell is an easy-to-use wrapper for writing console-like Sega Mega-Drive ROMs that can output text using printf-like syntax (powered by "high-level" Console.Write macros). It's based on console mode of MD Debugger (and yes, MD Debugger itself has the exact same features!)
Although it's v.2.6 and MD Shell has been developed alongside the same MD Debugger versions, it's the first proper public release. I've mainly been using MD Shell for writing small test and demo ROMs for myself, but I believe it may be useful for other people as well.
Feature highlights
- Learn M68K assembly or experiment with printf-like logging like in high-level languages (Console.WriteLine);
- Benchmark your code using KDebug.StartTimer / KDebug.EndTimer (supported in Blastem-nightly);
- Colored text, automatic line breaks and basic console flow control (Console.SetXY, Console.Sleep, Console.Pause and others);
- Includes all the MD Debugger features: assertions (assert), custom exceptions (RaiseError), KDebug integration and a power error handler;
- Supports both AS and ASM68K assemblers;
- Download md-shell-2.6-demo.zip for a quick hello world to get started (targets ASM68K assembler);
- Alternatively, see md-shell-2.6.zip for headers for all supported assemblers.
Source code is available on Github: https://github.com/vladikcomper/md-modules/tree/master/modules/mdshell
Examples
- See md-shell-2.6-demo.zip linked above for a simple "Hello World" example;
- See Mega PCM 2 demo ROMs for more advanced examples of MD Shell:
- sample-tester source code - simple output, basic loop with animated ellipsis.
- s1-smps-integration source code - SMPS testing ROM with basic UI controls and redraw logic.
- dma-survival-test source code - advanced UI controls and redraw logic.