New Game: Diamond Dash

Include new and ported/converted games, and old games/tools. Subjects about CP/M software goes in the CP/M Forum.
Post Reply
under4mhz
Posts: 27
Joined: 11 Apr 2021 05:12
Location: Brisbane, Australia
Contact:

New Game: Diamond Dash

Post by under4mhz »

Because everyone needs Boulder Dash on their computer.
Attachments
diamondmtx2.png
diamondmtx2.png (28.39 KiB) Viewed 250 times
diamondmtx1.png
diamondmtx1.png (15.59 KiB) Viewed 250 times
DiamondDash-MTX-1.00.zip
(16.24 KiB) Downloaded 20 times
Support me on Patreon: https://www.patreon.com/Under4Mhz
Potholepete
Posts: 42
Joined: 11 Aug 2012 22:13

Re: New Game: Diamond Dash

Post by Potholepete »

is this your own code or converted? am interested to know how you got it to the MTX as assuming you are not developing in on a real mtx?

Great to see new stuff for the MTX tho, keep it up :-)

Jim
under4mhz
Posts: 27
Joined: 11 Apr 2021 05:12
Location: Brisbane, Australia
Contact:

Re: New Game: Diamond Dash

Post by under4mhz »

I wrote the engine myself from scratch in C with sdcc. There's lots of information on how the engine works. I relied heavily on https://codeincomplete.com/articles/bou ... ame-logic/

The Boulder Dash community have created a ton of fan made levels and exported them using their text file BDCFF (Boulder Dash Cave File Format). My motivation was to leverage off this so one engine would be able to produce lots of games.

I have my own vdu libraries to access the vdu, so I wrote a simple vdp emulation layer for Linux using Allegro. So I mostly develop on Linux and X. I target the SG-1000 platform first and port it to other platforms later. Each system has it's own quirks. I debug the code for the SG-1000 hardware using Emulicious https://emulicious.net/, since it has a good profiler and debugger. Speed was a major issue, getting it to run at 10fps was challenging.

I use Memu to test the code for MTX. When I did my original port of Klondike and Mahjong, I sorted out all the hardware compatibility issues with the help with everyone here with real hardware, so now all my code simply compiles for MTX. The main issues then were getting the RUN format right, and adding extra wait states for the vdu, since the Z80 CPU is clocked faster than for other TMS9918 machines.

I don't actually own any hardware, I rely emulators and hardware owners to give me feedback. It makes it a bit slower to develop, because of the slow feedback loop, but I can target more platforms that way, and it's cheaper.

Was the spaces issue you had on a real MTX, or Memu? Most other hardware platforms seem to prefer spaces in names, but I can remove them for MTX easily if it s problem.
Support me on Patreon: https://www.patreon.com/Under4Mhz
Martin A
Posts: 594
Joined: 09 Nov 2013 21:03

Re: New Game: Diamond Dash

Post by Martin A »

Works a treat on real MTX.

Sneaky use of the half width space in the scoreboard to get 15 double wide characters and 2 spaces in to 32 characters :)

The underlying disc system is CPM 2.2, So good old 8.3 file names are the order of the day for anything .RUN or .COM. Tape names were more flexible though.
Post Reply