23rd May 2025 PiTrex – part 1

Following are updates I made to PiTrex over the last year.
I mentioned some of them on Brett’s Discord, on Facebook, or in the mailing list – but not on my website.
These are very general changes over the last few years, released now and then as single binary files – not available on my pages but mostly shared via Facebook and/or Brett’s Discord.

To have everything collected in one place – here are some messages.

I will add new PiTrex files “soon” to my pages. Look out for them – their dates will be newer than December 2021!


CHANGES 1

For a fellow Vectrexer, I slightly changed the Vectrex-Exact emulation for PiTrex.
If your text appeared “screwed up” in the past, you may try a new option in the vectrex.ini file:

INTERNAL_STRING_DISPLAY = 1

This will draw all BIOS strings using the PiTrex drawing routines – which is more cycle-exact than using the original Vectrex BIOS.

Other changes:

  • Support for 48kB cartridges
  • Support for autostart of .bin files
  • Corrected the startup sequence, so vectrexexact.img can be used correctly as a boot file

See also the vectrex.ini file.

Funny anecdote:
When booting directly into VectrexExact without supplying a boot cartridge file, it goes to a little ROM selection menu within the “Vectrex”.
I programmed that years ago and had totally forgotten about it… but it still works!

For any programmers/debuggers out there:
Internally, I changed the serial speed from 115200 to 921600. So, if you use an old loader with a new Vectrex image, you’ll need to switch your terminal program to the new speed.


CHANGES 2

Posted to the PiTrex Dev mailing list:

I built a package with a new option in vectrexInterface.ini:

SWAP_JOYSTICK_PORTS = 1

If set to 1, joystick ports 1 and 2 are swapped. This should work with all PiTrex, Arcade, and other programs.
With the Vectrex emulators, it only works if programs use BIOS functions. Vectrex programs that access the hardware directly via the VIA (and not the BIOS) will still try to access port 1 (e.g., Hyperchase, Vectorblade, Frogger, Release, etc.).

Other changes (since December 2021):

  • Added native Vectrex support for 256kB ROMs – nice!
    (Though the original Vectorblade is no longer working. New compiles are fine. The issue lies in how I handle flash support.)
  • The PiTrex Vectrex now supports 3D Imager games. The native Vectrex library should now fully support light pen, normal games, and 3D Imager functionality.
  • A couple of bugfixes were also applied.
    The last release had some weird behavior – e.g., display/input issues with Clean Sweep and a few other carts… I hadn’t tested enough.
  • Directory support added to the VectrexExact menu.
    Yes – you can now browse and change directories (within the “vectrex” folder). Entries are now sorted alphabetically, with directories listed first.
  • Battlezone now includes two new joystick configurations: Stramash (Port 1 / 2)
  • Vide interface added (to be documented / video to come). See the Vide blog entry “Two Years Gone By…” for a preview.
    I will create extra documentation for these changes! (Blog-title image is a hint for that.)
  • Brightness settings (min, max, mul) can now be adjusted in vectrexInterface.ini.
  • Default setting for IN_GAME_SETTINGS is now 0. It currently crashes when set to 1.

CHANGES 3

INI files are now saved whenever you exit the in-game settings.
Settings are saved to the last loaded INI file.

INI files are always loaded in this order (if found):

  1. vectrexInterface.ini
  2. Emulator-specific INI (e.g., vectrex.ini, sim.ini)
  3. Game-specific INI (e.g., starwars.ini)

The most recently loaded settings are the active ones.

You can prevent overwriting your INI file by setting:

INI_OVERWRITE_ALLOWED = 0

(this is the default.)
If you set it to 1, overwriting is allowed.

If overwriting is forbidden, the file will be saved using the same name but with the extension .in2 instead of .ini.
That way, changes are preserved, but old options won’t be overwritten, and the new settings won’t load automatically.

Tagged on:

3 thoughts on “23rd May 2025 PiTrex – part 1

  1. Daniel Keener

    Great to see an update, and thank you!

    May I ask: what is necessary to do in order to be able to run Elite: A New Kind? I have a keyboard, etc. and added right-angled pins to the Pi Zero’s GPIO header, but cannot find the software anywhere. Has it been publicly released?

    1. Malban Post author

      If I haven’t messed up – it should be included in the “package”.
      In the selection menu scroll right 2 times to get the “computer” Icon.
      Then down… and a couple of times right again – it should be visible and when pressing the button – you should be able to start it.

      Does the icon not appear? Or does it not start?

      1. Daniel Keener

        Sorry – this was my fault. The SD card I used for the baremetal install turned out to be bad, and there were things that weren’t working correctly as a result. Apologies for the confusion!