Jump to content
IGNORED

New MAME release


mizapf

Recommended Posts

If you install Cygwin on your Windows machine, you could use the mameprep_cygwin script that configures MAME for you. (Speaking of that, I guess I will have to check whether the download from WHTech still works...)

  • Like 1
Link to comment
Share on other sites

Just for your information, I uploaded the latest MAME release (0.263), restricted to the TI family, on the WHTech server. Nothing new, I'm currently busy working on the release of TIImageTool 3.

  • Like 3
  • Thanks 2
Link to comment
Share on other sites

3 hours ago, mizapf said:

Just for your information, I uploaded the latest MAME release (0.263), restricted to the TI family, on the WHTech server. Nothing new, I'm currently busy working on the release of TIImageTool 3.

Thanks. Going to check it out this weekend. looking forward to your new TI Image Tool

Link to comment
Share on other sites

  • 5 weeks later...

Nothing new in the latest MAME release (0.264), but for the next release we'll have an interesting bug fix.

 

This one should be about 12 years old, and it had an effect, although one that did not bother us too much. It's been there since I re-wrote the TMS9900 emulation in 2012.

 

It happens during a reset, triggered by pressing F3 or by inserting a cartridge. Unlike other interrupts, RESET has an immediate effect - it does not wait for the current instruction to terminate. So the reset may also happen during the data derivation sequence (we talked about that in other threads; it's the phase where the CPU processes the memory access, like Rx, *Rx, *Rx+, @addr, @addr(Rx)) for source and destination operands. I implemented the DDS as a subprogram in the microprogram, keeping a return address while it runs, and when the main execution loop detects this non-null return address, it assumes that execution continues in the DDS and not in the current instruction. So, and now you may already guess - I forgot to clear the return address when RESET occurs.

 

That is, in those cases the main execution loop did not proceed with the interrupt handling (doing the context switch by the interrupt vector), but continued with the DDS, and then returned to the current instruction, and did not do the context switch. However, since I already cleared other internal registers inside (like the status register), the further process became more or less undefined, and this usually led to a crash or a lockup of the emulated TI.

 

So every now and then, when you pressed F3, the emulated TI would not correctly reset but lock up in some way, probably with a black screen. I used to think that this was some flaw inside the MAME core, or that some state variable was corrupted, but I did not expect a bug inside the TMS9900 implementation. As I said, it only happens with RESET.

 

I noticed it during my recent cleanups, when I swapped cartridges and noticed this lockup. So my first thought was that I broke something right now, but as it turned out, it has a longer history.

 

You'll get it with the next release, or if you get your sources from Github, right now already.

  • Like 5
Link to comment
Share on other sites

I was looking for a boulder dash game for the ti99 and came across Rock Runner by Eric Lafortune, and he's packaged it up neatly as an rpk for mame:

 

http://www.lafortune.eu/rockrunner/index.html

 

Info

  • 8-way scrolling game for the TI-99/4A.
  • Goal: collecting diamonds in a 2D world.
  • Simple physics: gravity, lava, bombs, butterflies,...
  • Written in TMS-9900 assembler.
  • Development tools: line-by-line assembler, hex editor, Mini Memory module, tape recorder.
  • Used a novel undocumented half-bitmap graphics mode of the TMS-9918A Video Display Processor.
  • Program code fitted in 4K of memory.
  • Distributed by Asgard Software.
  • Now open source on Github.

 

https://github.com/EricLafortune/RockRunner

 

rpk here:

 

https://github.com/EricLafortune/RockRunner/releases

 

 

  • Like 4
  • Confused 1
Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...