Jump to content
IGNORED

TI-99/Sim is quite good ... however ...


Retrospect

Recommended Posts

Sorry about that. It looks like there was a permission error on a few files. It should be fixed now.

 

So the file for 14 has a roms directory, when I put my roms in there for the console etc, it says they are missing.. Is there some sort of documentation on what to do with the files? Do the files for v13 (works fine) work with v14?

 

Greg

Link to comment
Share on other sites

  • 10 months later...

I could do with information on this, too, as I'm no longer a Windows user. I'm using Linux Mint 64-bit.

 

If anyone has this pre-built I'm all ears!

 

I *think* I got it to build by following the instructions on the website, and I have ROM images, but it doesn't run. :?

Edited by Willsy
Link to comment
Share on other sites

  • 1 year later...

FYI, earlier today I was playing with TI99sim in my RetroPie setup and I got annoyed with the mouse pointer constantly showing up when I switched games to the point that it motivated me to hunt down why it was happening and fix it.

 

Since I compiled my TI99sim from version 0.12 source, I was able to go through the code and find the problem and fix it. if you have compiled from any version of source you can probably do the same thing. If you're using binaries you're probably out of luck for now.

 

There's an SDL function, "SDL_ShowCursor" that's supposed to turn the cursor / mouse pointer off. I went looking in the source of TI99sim to see if I could find it or find someplace to shoehorn it in.

 

I found it in "ti99sim-0.0.12/src/sdl/tms9918a-sdl.cpp" in a block of code that should conditionally be run if ti99sim is running full screen. That makes sense, because if it's running in a window in a multitasking environment, you're not going to want it to turn your pointer off.

 

I went back and double checked /etc/emulationstation/es_systems.cfg (which is a big XML file that controls actually launching emulators in RetroPie & feeding them parameters). I wanted to make sure that TI99sim was getting launched with the "-f" (full screen) parameter (it was).

 

It seems there's something about the RetroPie/EmulationStation environment that's making TI99sim think it's not running full screen when it clearly is being called as full screen, and appears to be running that way. Because of that, the conditional block of code that contains "SDL_ShowCursor(SDL_DISABLE)" never gets run, and the mouse pointer shows.

 

My quick & dirty solution was to put the SDL function to hide the cursor someplace where it would get run unconditionally.

 

In the same file, "ti99sim-0.0.12/src/sdl/tms9918a-sdl.cpp", I went to this section of the file:

FUNCTION_ENTRY( this, "cSdlTMS9918A ctor", true );
        m_Mutex = SDL_CreateMutex( );

        memset( m_RawColorTable, 0, sizeof( m_RawColorTable ));
        memset( m_SDLColorTable, 0, sizeof( m_SDLColorTable ));

and added the SDL function there, so that block wound up being:

FUNCTION_ENTRY( this, "cSdlTMS9918A ctor", true );
        m_Mutex = SDL_CreateMutex( );
        SDL_ShowCursor( SDL_DISABLE );

        memset( m_RawColorTable, 0, sizeof( m_RawColorTable ));
        memset( m_SDLColorTable, 0, sizeof( m_SDLColorTable ));

Then I saved the file, went to the root of the ti99sim source directory, and compiled by doing:

make

..lots of compiling ensues...

then

sudo make install

After that, I launched RetroPie, launched TI99sim, launched Parsec, and NO POINTER! No apparent Ill effects, either.

 

Annoyance is the other mother of invention, or modification, or whatever

 

Obviously I am not a C programmer and I'm pretty sure this is violating some kind of programmer's prime directive, but it works and it causes no errors or warnings. This is really only useful for RetroPie or any other non-X launcher where full screen is used but mis-detected.

 

Hopefully someone else can get some use from this.

 

Resurrecting this because it's the only solution I can seem to find online. Hopefully someone can reply to this...

 

I understand what was done here, but I'm unclear how to actually recompile the cpp file. I assume you edit via a nano command though, yes?

 

Regardless, what are the odds of someone posting their edited cpp file?? LOL Cause that cursor is driving me nuts and I hate having to plug in a mouse to move it all of the time.

Link to comment
Share on other sites

 

Resurrecting this because it's the only solution I can seem to find online. Hopefully someone can reply to this...

 

I understand what was done here, but I'm unclear how to actually recompile the cpp file. I assume you edit via a nano command though, yes?

 

Regardless, what are the odds of someone posting their edited cpp file?? LOL Cause that cursor is driving me nuts and I hate having to plug in a mouse to move it all of the time.

 

"Then I saved the file, went to the root of the ti99sim source directory, and compiled by doing:

make"

Link to comment
Share on other sites

  • 2 years later...

I'm using t99sim on a Rasberry Pi4. Basic works, but I can't get it to save anything. Specifically, I get a segmentation fault when I try using F2 or F3 to save state, and when I try to save from basic (save dsk1.test, etc), I get I/O error 60. Running the emu with the verbose flag gives me "Loading device: >0000 - "TI-Disk Controller"        - ** Failed to add device **". Could it be a bad ROM?

 

I'm running the binaries, btw, I didn't compile t99sim myself.

 

Seems like a lovely project, just getting into the Ti994a now that I got an actual physical unit as a gift.

 

I'm running Raspbian 10/buster. I have an SSSD floppy image named dsk1.dsk in the disks folder (made with the included disk utility, the setup script didn't make me one for some reason), and ti-disk.ctg in the console folder (which is a 5.5k sized file). I've tried loading the emu by telling it that I have dsk1.dsk, and without telling it explicitly (tho from the readme, it should auto-use it, I think).

 

Any ideas?

Link to comment
Share on other sites

I/O Error 60 means "Device not found". You likely used lowercase. Please keep in mind that on the TI-99/4A, uppercase is default for everything from device names, BASIC command up to assembly language. You better leave Alpha Lock depressed (unless you want to play with joysticks).

  • Like 3
Link to comment
Share on other sites

Lol, yes, I was typing the commands in lowercase?.. Basic didn't complain about entering/running simple programs in lowercase, but, that doesn't seem to be the issue in this case: trying it again with capslock on gave me the same error. I'm assuming it has to do with the fact that I get the disk controller error when I start the emu?

 

Does anyone have any idea why it seg faults when I try to save state? Anyone else running this emu on the Pi in Raspbian?

Link to comment
Share on other sites

I figured out my problem, it was related to the roms I had. I wasn't using the roms that the included setup script downloads, because the setup script failed:( I wasn't paying enough attention to the output of the script when I initially ran it, and I partially set things up by hand before I realized that there even was a setup script ;)..

 

The setup script fails because it can't find the "bin" folder that comes with the binary package, which is one directory up from the directory containing "setup". So I ran it successfully by running it from the main install folder like this:

 

<whatever-folder-the-extracted-binary-download-is-in>/ti99sim-0.16.0 $ scripts/setup

 

In other words, my current working directory also had "bin" in it this time like "setup" was expecting, and it worked like a charm.

 

It made a default disk image file for me this time, and save/load state via F2 and F3 as well as the "SAVE" and "OLD" commands, work fine :cool:

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