Monaco GP For VMU (Homebrew)

This forum is for discussion pertaining to homebrew and indie software for the Dreamcast, such as homebrew games, emulators/interpreters, and other homebrew software/applications. Porting requests and developmental ideas are not to be made here; you can make those here. If you need any help burning discs for homebrew software, this is the place to ask as well.
Post Reply
Candle_Electric
DCEmu Newbie
DCEmu Newbie
Posts: 2
https://www.artistsworkshop.eu/meble-kuchenne-na-wymiar-warszawa-gdzie-zamowic/
Joined: Tue Jul 25, 2023 2:14 pm
Has thanked: 3 times
Been thanked: 6 times

Monaco GP For VMU (Homebrew)

Post by Candle_Electric »

Hello, Everyone! I have a VMU Port of Monaco G.P., the awesome 1979 Arcade Game, that I'd like to share with all of you.


MonacoGP.VMI
MonacoGP.VMS


I'd very much like to thank all of the following:
  • Walter Tetzner, For The WaterBear Compiler And Its .VMI Generation Tool
  • Kresna Susila, For LibPerspective (Please note that its Code was edited slightly for this, changing a few JMPs and CALLs to JMPFs and CALLFs to circument some Build Errors in the Monaco GP Code)
  • Falco Girgis, For ElysianVMU And The Ultimate VMU Resource Page Here On DC-Emulation
  • Dmitry Grinberg, For The VMU Documentation Page
  • Marcus Comstedt, For The VMU Resources Page And For Tetris.ASM (And It's "Random" Function)
  • Sebastian Mihai, For RainingSquares.ASM
  • Speud, For Dream Explorer
  • Tyro, For The Chao Editor 2 .VMI
  • Trent, For More VMU Resources
  • RetroOnyx, For The Coder's Cable
  • Ian Michael, For Many Dreamcast Coding Resources
  • BruceLeeto And NeoGeoFreak2004, For Reaching Out With Coding Questions
  • Black Squirrel And Akane On Sega Retro, For The Scan Of "Sega Ages Memorial Selection Vol. 2" And Its Monaco GP Logo On The Cover
  • Ben Geeves, For the Excellent Monaco GP Remake On Windows
  • All Original Monaco GP Staff And Players
  • And Many More That I'm Forgetting!
Controls:
  • Directional Buttons: Steer Left + Right
  • A Button: Switch Between Low & High Gear
  • B Button: Accelerate
I'm still working on this, and Hope to have a new and improved version out before too long with new features, more challenge, and faster gameplay speed, as well as improvements from any feedback that players will have. To read the boring story of why, check out this spoiler tag!

Spoiler!

95% of the Code for this was done in 2022, and the initial release went up on October 14th to celebrate 23 years of the DC's release in Europe (and in Monaco :mrgreen: ?!). I wanted to fix lots of bugs and add some features though, so it stayed on GitHub for a while. I was never able to fix quite everything though, and set more deadlines (End of 2023, Leap Day of this Year A.D. 2024, Etc.), with today as the final one. I decided that even if it didn't boot, I'd share what I have so that people can try it out and maybe learn from the code to make their own Homebrew Games! So, here it is. Lots of things need to be refactored, such as the Stage Transitions that do a Slideshow of LibPerspective BackGrounds, which runs smoothly thanks to Kresna's awesome Code Library, but take up a lot of Space in the Compiled ROM; I'm planning to feed these in chunk-by-chunk, kind of like the Digits in the H.U.D. There are some noticeably incomplete features, such as the "Bridge" Section where the Cars Float above the Water instead of lining up like in the Original Game, and the Ambulance lacking any collision. I've uploaded a Build with said Collision as well as a Warning ! Icon showing where it will pop out from, but beware that this Build Freezes far more often, especially when the Ambulance is Called. I looked closely at those Lines of Code, thinking that maybe something got locked in an "Infinite While Loop" or something like that, but couldn't see anything wrong there. This also prompted today's release; rather than letting it gather more dust while looking for a fix, I'll push it out later with the planned new features. While debugging and testing, I noticed that the Game runs a decent bit faster (in ElysianVMU and on the VMU at least, but curiously not in Dream Explorer's VMU Emulator, perhaps due to a fixed Clock Speed there or something similar.) when the "Icy/Ambulance" Warnings are in the Top H.U.D. Banner, because Drawing the Digits of the Score takes up a lot of Clock Cycles. So, I'm planning to Refactor the Score Display to possibly show one of ten "Lights" in a row, representing the "Tens Digit" in a sense, and then displaying text on the banner like "100 Points!," "200 Points!," Etc. when those thresholds are reached. This way, more of the VMU's Potato Chip C.P.U. can be dedicated to the speed of the title, and maybe even more cars on-screen, because weaving in between them at a breakneck pace is a huge part of the fun of the Original Arcade + SG-1000 Versions. Maybe the Digits can stay as a "Framerate-Halving Menu Option" like the Broadcast View in F-1 Live Information on the Saturn, though! :P Other features I'd like to add include the Tunnel + Headlights, a Game Over Screen, the "Congratulations, you maxed out the Score!" Screen from the SG-1000 Version, Sound via jvsTSX's awesome ADVM Code, and Hopefully someday High Score Saving (I need to figure out the STF/LDF Functions first.).


If the Game Freezes, you'll need to take the Batteries out of your VMU and put them back in to regain functionality. I haven't noticed any damage to any VMU Save Files from these freezes; might want to play on a wiped VMU just in case though (Sorry!). In Dream Explorer's VMU Emu, hitting the Y Button to perform the "Mode Button Function" will take you out of the Frozen Game. In ElysianVMU, you can Close or Restart the Game From the GUI Menu if it Freezes. I'll be working on fixing that and adding in more features for you to enjoy in the coming months. In the meantime though, I Hope that you'll enjoy this Homebrew Game as a nice little time waster; if you have any questions on the Code, please do reach out and I'll be happy to explain anything I can! Most of all, thanks for checking this out! :)

https://github.com/Candle-Electric/Monaco_GP
These users thanked the author Candle_Electric for the post (total 2):
|darc|Eviltaco64X
Post Reply