Jump to content
mizapf

New MAME release

Recommended Posts

As promised, I got a Raspberry Pi 4, compiled MAME on it, and ran some benchmark tests.

 

I am honestly surprised.

 

Have a look at my page: https://www.mizapf.de/en/ti99/mame/mamereq . You can scroll down to the second part of the page with the section "Small devices". The Raspberry Pi 4 is a huge improvement over the Pi 3.

 

It is in fact so much better that it (... I hardly dare to say it...) runs the TI-99/4A emulation in MAME at full speed. Actually, I connected it to my Geneve monitor (with a comparably low resolution, 1360x768), but this is just good enough for the emulation. I'll check with my full HD monitor later, to see whether this lower resolution had any considerable impact.

 

But again, wow.

  • Like 7
  • Thanks 1

Share this post


Link to post
Share on other sites
17 hours ago, mizapf said:

As promised, I got a Raspberry Pi 4, compiled MAME on it, and ran some benchmark tests.

 

I am honestly surprised.

 

Have a look at my page: https://www.mizapf.de/en/ti99/mame/mamereq . You can scroll down to the second part of the page with the section "Small devices". The Raspberry Pi 4 is a huge improvement over the Pi 3.

 

It is in fact so much better that it (... I hardly dare to say it...) runs the TI-99/4A emulation in MAME at full speed. Actually, I connected it to my Geneve monitor (with a comparably low resolution, 1360x768), but this is just good enough for the emulation. I'll check with my full HD monitor later, to see whether this lower resolution had any considerable impact.

 

But again, wow.

Told you it was going to be much better.

Why I posted the speed tests and performance benchmarks video.

What was you configuration set up and can you post any videos of how to do it, I mean at 35 bucks for a Raspberry Pi 4  who could complain about price?

Share this post


Link to post
Share on other sites

I got the Raspi 4 with 4 GiB RAM. The Raspi3 B+ that I had before was equipped with only 1 GiB, and I had to add swap space on an external memory stick to be able to compile it. The CPU clock is not much faster. I believe the speed boost is mainly due to the available memory, or vice versa, the Raspi3 had too little memory to run MAME (without swapping).

 

I simply got the Raspbian from the raspberrypi.org download page ("Raspbian buster with desktop"), and I used it just as is, without special tricks and settings.

 

As I measured, the performance is good for the TI-99/4A emulation; it is not sufficient for the 9995-based emulations (Geneve, TI-99/8). It could be enough for the 99/2 with floppy, though.

  • Like 4

Share this post


Link to post
Share on other sites
22 hours ago, mizapf said:

I got the Raspi 4 with 4 GiB RAM. The Raspi3 B+ that I had before was equipped with only 1 GiB, and I had to add swap space on an external memory stick to be able to compile it. The CPU clock is not much faster. I believe the speed boost is mainly due to the available memory, or vice versa, the Raspi3 had too little memory to run MAME (without swapping).

 

I simply got the Raspbian from the raspberrypi.org download page ("Raspbian buster with desktop"), and I used it just as is, without special tricks and settings.

 

As I measured, the performance is good for the TI-99/4A emulation; it is not sufficient for the 9995-based emulations (Geneve, TI-99/8). It could be enough for the 99/2 with floppy, though.

 

Is there a place to download the version that works on a Raspberry PI 4?

 

Beery

Share this post


Link to post
Share on other sites

OK, here's the deal. I uploaded a package to WHTech. You should have a recent Raspbian on your Raspberry Pi 4.

 

1. Open a shell, create a folder "mame" in your home directory (mkdir ~/mame)

2. Enter that folder, pull the file from WHTech: wget https://ftp.whtech.com/emulators/MAME/ti99/raspbian/mame0218b_ti99_raspbian32bit.tar.gz

3. Unpack it: tar xvzf mame0218b_ti99_raspbian32bit.tar.gz. This also contains my new setup script.

4. Now run it. Enter "./mameprep"

 a) If it exits with a message about missing libraries, install those libraries using apt. In particular, with a fresh installation, do "sudo apt-get install libsdl2-ttf-2.0-0". Repeat 4.

 b) If it proceeds, it automatically pulls the system ROMs from WHTech, installs the ZIP cartridges, creates a mame.ini file, and sets some values and paths.

5. You are ready to go. Run "./ti99"

 

If everything works as intended, you have *zero* configuration hassle.

  • Like 4

Share this post


Link to post
Share on other sites
8 hours ago, Vorticon said:

How about a package for Ubuntu? :)

Since the MAME project was re-licensed under GPL2, MAME has been available for installation from the normal repositories.

 

For Ubuntu:   sudo apt-get install mame

For Fedora:  sudo dnf install mame

 

Mike Dorman

Edited by mdorman

Share this post


Link to post
Share on other sites

The problem with repositories is that they are typically some releases behind, and that they store the accompanying files and folders somewhere else than expected. This means that I have to check each one how they set the paths, where they store configuration data etc.

 

The best way to go is to build MAME from sources. See https://www.mizapf.de/en/ti99/mame/buildmame

 

But I'll also try Ubuntu right now. Ok to use 18.04 LTS, or should I rather check 19.10?

Edited by mizapf
  • Like 1

Share this post


Link to post
Share on other sites
21 minutes ago, mizapf said:

But I'll also try Ubuntu right now. Ok to use 18.04 LTS, or should I rather check 19.10?

Could you try 19.10?  I got a build error when I tried to build on that release (but didn't analyze it).

Share this post


Link to post
Share on other sites

I could build MAME on Ubuntu 19.10; you need the Python package in addition to my notes on my webpage. I updated my page accordingly.

 

Required packages are: qt5-default, libsdl2-ttf-dev, libfontconfig1-dev, python.

 

If the compiler complains about outdated files, try a make clean.

 

make -j4 SOURCES=src/mame/drivers/ti99_4x.cpp,src/mame/drivers/ti99_4p.cpp,src/mame/drivers/ti99_8.cpp,src/mame/drivers/geneve.cpp,src/mame/drivers/ti99_2.cpp REGENIE=1
Edited by mizapf
  • Like 3

Share this post


Link to post
Share on other sites

OK guys, I sat down for a while today and created some installation packs. Once I get Visual Studio running, I can do the same for Windows; I tried mingw, but this did not work as expected.


Before using, you have to install two libraries. If they are already installed, nothing is changed, so no harm is done.

 

Ubuntu 18.04 LTS and 19.10 / Linux Mint 19.3 / Raspbian Buster:

sudo apt install libsdl2-ttf-2.0-0
sudo apt install libqt5widgets5

 

openSUSE:

sudo zypper install libSDL2_ttf-2_0-0
sudo zypper install libQt5Widgets5

 

Installing MAME:

Get the installation package for

Raspbian: https://ftp.whtech.com/emulators/MAME/ti99/raspbian/mame0218b_ti99_raspbian32bit.tar.gz

Linux: https://ftp.whtech.com/emulators/MAME/ti99/linux/mame0218b_ti99_linux64bit.tar.gz

 

Unpack the file into a folder (like ~/mame)

 

Go into that folder and run ./mameprep

 

This script download all ROMs and cartridges, sets up the mame.ini, and delivers some start scripts: ti99, ti99ea (with Ed/Ass), ti99ex (with Exbasic), sgcpu, geneve, ti998, and ti992.

 

Both packages only have a subset of drivers: all TI-99/x, Geneve, SGCPU, Evmbug, Cortex, CC40, TM990189, and Tomy Tutor (thought that could be interesting, although it is not a TI system). Evmbug and Cortex are not really usable, just included for completeness.

 

Also see

https://www.mizapf.de/en/ti99/mame/linstmame

https://www.mizapf.de/en/ti99/mame/buildmame

 

Edited by mizapf
  • Like 4

Share this post


Link to post
Share on other sites

my last laptop does not have a Scroll Lock key. I'm noticing that the Scroll Lock is vanishing from keyboards. I've redirected on that keyboard so no problem but is the MAME group have any plans on making a new hot key instead of Scroll Lock? 

Share this post


Link to post
Share on other sites

I tried to create a Windows configurer that works like the above-mentioned "mameprep". Have a look at https://ftp.whtech.com/emulators/MAME/full/windows

 

(The installation package at that location is a copy of the official MAME distribution.)

 

You need Cygwin to run the configuration script. Also, you should have wget and unzip in Cygwin; you can re-run the Cygwin installer and select those packages if required.

 

I did not do extensive tests with complicated path names (e.g. containing spaces), so I would suggest that you use some simple name like "c:\mame" or "c:\mame0218".

Share this post


Link to post
Share on other sites

The problem with ScrlLock is that we need a key that is not used in the full emulation (how else could you switch the emulation mode between partial and full?). This is simple for the TI emulation, since the TI has much fewer keys than the average PC keyboard, but it already gets difficult for the Geneve, which has an XT-style keyboard, and you may want to use all those keys. It is even harder for the SGCPU, which uses an AT-style keyboard. You'd have to "donate" one of the keys for the mode switch, which is then unavailable in the emulation. (Currently, SGCPU is emulated as using a TI keyboard, which should be fixed some day.)

 

You can always set a different MODE_KEY using the command line option -uimodekey or by setting the property in mame.ini. Have a look at https://www.ninerpedia.org/wiki/Change_MESS_menu_mode_key

  • Like 2

Share this post


Link to post
Share on other sites

Off the top of my head, I am aware of only one Geneve program that uses the ScrlLock.  That is Bruce Hellstrom's Debugger.  With MAME and the ability to use the Debugger, that program is infrequently used.


Beery

 

  • Like 1

Share this post


Link to post
Share on other sites

OK, now here are your instructions. This is getting closer to the long-awaited MAME installer.

 

MAME installer for Windows

1. Get the recent copy of MAME from WHTech, unpack it in c:\mame (or similar name).

2. If not already done, install Cygwin (enable packages wget and unzip).

3. Get the mameprep_cygwin script from WHTech and drop it into the MAME directory

4. Start Cygwin, go to /cygdrive/c/mame (or where you installed it), enter "./mameprep_cygwin". The script downloads all ROMs and cartridges and sets paths in the mame.ini file.

5. Observe that you have a new folder on your Windows desktop called "MAME Launchers", with some batch files

6. Open that folder, double-click on ti99.bat for a test.

 

Notice that you did not have to open an editor or go searching for files and ROMs and so on. Suggestions are welcome, of course.

  • Like 1

Share this post


Link to post
Share on other sites
38 minutes ago, mizapf said:

OK, now here are your instructions. This is getting closer to the long-awaited MAME installer.

 

MAME installer for Windows

1. Get the recent copy of MAME from WHTech, unpack it in c:\mame (or similar name).

2. If not already done, install Cygwin (enable packages wget and unzip).

3. Get the mameprep_cygwin script from WHTech and drop it into the MAME directory

4. Start Cygwin, go to /cygdrive/c/mame (or where you installed it), enter "./mameprep_cygwin". The script downloads all ROMs and cartridges and sets paths in the mame.ini file.

5. Observe that you have a new folder on your Windows desktop called "MAME Launchers", with some batch files

6. Open that folder, double-click on ti99.bat for a test.

 

Notice that you did not have to open an editor or go searching for files and ROMs and so on. Suggestions are welcome, of course.

Michael, what folder in whtech is that script? I'm at work and can't stay searching all morning for it, thanks for your help, time, and the work you do for us.

Share this post


Link to post
Share on other sites
19 hours ago, mizapf said:

The problem with ScrlLock is that we need a key that is not used in the full emulation (how else could you switch the emulation mode between partial and full?). This is simple for the TI emulation, since the TI has much fewer keys than the average PC keyboard, but it already gets difficult for the Geneve, which has an XT-style keyboard, and you may want to use all those keys. It is even harder for the SGCPU, which uses an AT-style keyboard. You'd have to "donate" one of the keys for the mode switch, which is then unavailable in the emulation. (Currently, SGCPU is emulated as using a TI keyboard, which should be fixed some day.)

 

You can always set a different MODE_KEY using the command line option -uimodekey or by setting the property in mame.ini. Have a look at https://www.ninerpedia.org/wiki/Change_MESS_menu_mode_key

thinking about it, the trend in the industry is to eventually remove the ScrlLock key completely from keyboards. emulations such as the XT could be a real problem for you all.  I remember some early DOS software that even used the ScrlLock key not to mention your MAME MODE key. 

Share this post


Link to post
Share on other sites
1 hour ago, Vorticon said:

I'm getting these errors when attempting to start the 99/8 emulation under Ubuntu. Any thoughts?

try running with one of those options: "-video auto", "-video soft", "-video opengl", "-video bgfx". I did not encounter any problems. Do you have the guest additions installed?

Share this post


Link to post
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.

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...