dasch Posted October 10 Share Posted October 10 I've been working on a Munch Man port to Atari 8-bit, which has quite a few architectural challenges. But in the process I've studied the Munch Man source code very closely, and in the process produced a text version that can be assembled. I'm imagining that there is a version of this out in the world, but I must admit I didn't find it, so I OCRed the PDF file, converted the reference addressing to something that works with Editor/Assembler, and corrected the various errors that the OCR process introduced. The file attached will assemble with xas99 and with Editor/Assembler itself (with appropriate file splitting and register definitions). With regards to Munch Man itself, it is in my mind emblematic of the TI-99/4A, which was my introduction to personal computing. In so many respects I prefer it over the original Pac-Man, just as I prefer TI Invaders over Space Invaders. Anyhow, it has been a lot of fun to immerse myself in TMS9900 Assembly Language. Compared to 6502, it is like driving a luxury car instead of a scooter! And the TI architecture in my opinion is fantastic, after years of hearing it almost universally maligned. I could definitely get much deeper into it, and it has certainly got my mind turned to many possible game designs. Please feel free to proofread and correct the attached source code, or even better, provide a definitive version in the TI-99/4A developer resources. -- David munchram.src 18 2 Quote Link to comment Share on other sites More sharing options...
+FarmerPotato Posted October 11 Share Posted October 11 Thank you for doing this! 5 Quote Link to comment Share on other sites More sharing options...
dasch Posted October 11 Author Share Posted October 11 1 hour ago, FarmerPotato said: Thank you for doing this! You're very welcome! Just for fun, here's a disk image of the munch man source prepared for E/A, plus an assembled executable. munchman.dsk 2 Quote Link to comment Share on other sites More sharing options...
Reciprocating Bill Posted October 11 Share Posted October 11 (edited) More thanks! First, I find it humbling to see (again) the complexity of the source underlying a game like MM. Mind-boggling. Puts my teeny efforts into stark perspective. Second, the executable loads into 16-bit ram on my modified console. I'd say it runs close to twice as fast, almost unplayable at the first level! To return to return to cartridge RAM (on the FinalGrom) is to step into a vat of molasses. I'll get a video up in the next day or so. Edited October 11 by Reciprocating Bill 4 Quote Link to comment Share on other sites More sharing options...
Reciprocating Bill Posted October 11 Share Posted October 11 MunchMan out of cartridge RAM (FG) versus MM in 16bit RAM. These are demo mode only, so the play is random. MMSLOW720.mov MMFAST720.mov 1 Quote Link to comment Share on other sites More sharing options...
dasch Posted October 12 Author Share Posted October 12 @Reciprocating Bill That's very interesting. The timing during the game is definitely different from what I'm seeing, so that is purely down to the faster bus? I did check the delay timers and they all look correct, and they are supposed to be locked to the frame counter so I'm surprised the speed-up on the intervening code is so dramatic. One of the small differences I've noticed with the disk source version is the speed of the chain that runs around "PRESS ANY KEY..." I'm going to take a look into why that is the case, though small differences do exist: note the parentheses around the PRESS ANY KEY message during the demo game. Quote Link to comment Share on other sites More sharing options...
Reciprocating Bill Posted October 12 Share Posted October 12 (edited) I hadn't noticed the parentheses. The actual cartridge also lacks the parentheses. I assume that the FinalGROM version was derived from the cartridge. So the version you've assembled is at least slightly different from the final product. That said, the evident speed increase is probably attributable to the 16-bit RAM and the removal of the wait states imposed by the multiplexer. At some point I'll run the disk version on a stock console I have in storage. That might take a day or so. Edited October 12 by Reciprocating Bill Quote Link to comment Share on other sites More sharing options...
+Ksarul Posted October 12 Share Posted October 12 One other thing to consider here: IIRC, the source listing is based on the disk version of the program, not the cartridge version, so there might be some minor differences there. The disk version is not at all common in the wild, although I do believe it is up on WHT. TI Invaders was also released in both formats. Quote Link to comment Share on other sites More sharing options...
dasch Posted October 13 Author Share Posted October 13 @Ksarul You wouldn't happen to know where on WHT the disk version is? I can't see it anywhere, and all searches lead to the source PDF. Quote Link to comment Share on other sites More sharing options...
HOME AUTOMATION Posted October 13 Share Posted October 13 ...helping out a little... 2302.ZIP 1466.ZIP 1487.ZIP Texas Instruments TI-99 4A [TOSEC]/Various/TI Invaders (1981)(Texas Instruments)[PHD 5058][req. PHM 3026].zip 1 Quote Link to comment Share on other sites More sharing options...
dasch Posted October 13 Author Share Posted October 13 Thanks @HOME AUTOMATION, that's TI Invaders covered, but none of those disks look like they have Munch Man disk version 😭 Quote Link to comment Share on other sites More sharing options...
dasch Posted October 13 Author Share Posted October 13 Aha! MUNCH_MAN PROGRAM 34 2D TI DSK LIBRARY\NUMBERED\@2D\1083.DSK MUNCH_MAN1 PROGRAM 34 2D TI DSK LIBRARY\NUMBERED\@2D\1083.DSK 1 Quote Link to comment Share on other sites More sharing options...
speccery Posted October 13 Share Posted October 13 Thanks @HOME AUTOMATION and let me ask a simple question - what are the recommended tools to look into the .tidisk files contained in the zip files? I know I should know this but I don't. I quickly tried with with classic99 and xdm99.py but they don't work immediately. I am looking for software running on Windows, Linux or macOS (the latter my preferred host OS). Thank you! 1 Quote Link to comment Share on other sites More sharing options...
JasonACT Posted October 13 Share Posted October 13 @speccery tiimagetool 1 Quote Link to comment Share on other sites More sharing options...
speccery Posted October 13 Share Posted October 13 31 minutes ago, JasonACT said: @speccery tiimagetool Thanks! That did the trick! 4 Quote Link to comment Share on other sites More sharing options...
+Retrospect Posted October 15 Share Posted October 15 I've not tried it for TIDISK specifically but JS99er does list everything that's on a DSK. And obviously, ti image tool is great as mentioned 1 Quote Link to comment Share on other sites More sharing options...
+arcadeshopper Posted October 16 Share Posted October 16 tidisk is the same as a .dsk file (v9t9 format disk image) just it's the extension added by win994a emulator yet another emulator creating more confusion Quote Link to comment Share on other sites More sharing options...
+Retrospect Posted October 18 Share Posted October 18 On 10/16/2023 at 4:18 AM, arcadeshopper said: yet another emulator creating more confusion Yep and I can't recall the last time it got an update. I've rarely used it. Quote Link to comment Share on other sites More sharing options...
OX. Posted October 21 Share Posted October 21 On 10/11/2023 at 6:58 AM, dasch said: You're very welcome! Just for fun, here's a disk image of the munch man source prepared for E/A, plus an assembled executable. munchman.dsk 180 kB · 22 downloads How do you start the game using the E/A cart? Quote Link to comment Share on other sites More sharing options...
HOME AUTOMATION Posted October 21 Share Posted October 21 2 Quote Link to comment Share on other sites More sharing options...
OX. Posted October 22 Share Posted October 22 13 hours ago, HOME AUTOMATION said: Cheers. Quote Link to comment Share on other sites More sharing options...
dasch Posted October 25 Author Share Posted October 25 Some results from my analysis of the source code: the initial mapping of character data in the Pattern Descriptor Table before opening the title screen. This is basically the layout of patterns loaded into VDP memory between lines 987 and 1126. Included are the colors specified in the "PCT", or color table, in lines 1141 to 1177. Note that there appears to be a bug at line 1065. "INIT DOT CHARACTERS" has a length of 204 bytes (as confirmed in the PDF) but 13 characters is 104 bytes. This corrected value is represented in the analysis, though leaving it in the source code does not affect the assembled binary. 3 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.