Two years gone by… what the…?

What happened? Why did I not update “Vectrex” anymore?

Answer: Nothing major—really.
I always had other interests, and my Vectrex hobby went a little into the background.
I still programmed Vectrex. I still helped other people out, answered questions. I still updated the pages (ROM collections, e.g.). I still updated Vide (last uploaded a version in January this year). And yes, I even did some PiTrex stuff.

PiTrex

Actually doing PiTrex is getting more fun again lately :-)!
I did a couple of small things, like:

  • Added “native” Vectrex support for 256kB ROMs
    Nice—but somehow the original Vectorblade is not working anymore (new compiles do).
    It has to do with the way I handle “flash support.”
  • “piserial” tool (Linux/Windows) added
    can be used to access pi from a unix envirnoment via serial connection.
    limited terminal usage. Copy of files and reset/reboot/to loader commands are available
    no need for SD swapping anymore). Of cause, a serial interface is needed.
  • the PiTrex Vectrex now supports 3d Imager games, now the “native” library should work completly… lightpen, normal games and 3d-Imager
  • a couple of bugfixed were also done… the last release had some “weirdness” e.g. display and input  of cleansweep – and some other carts… did not test enough.
  • directory support for the VectrexExact menu entry. Yes – you can now browse and change directories (within the “vectrex” directory).
  • also entries are now sorted alphabetically / directories first

I have not done a “real” release – since the one thing I wanted to finish – new/better line drawing routines – I never got around to finishing.
That is why I only released a few “*.img” files (on Facebook, or Brett’s Discord).
I will finish this… someday… I promise…
(http://vectrex.malban.de/pitrex/sd-card-march-2025.zip)

But first I will do a “Dev”-Release – and will do (started this already) some videos.

As mentioned above I have done some PiTrexing and one of the thing I did – is update support for the serial interface (UART) and integrated support for it into Vide.

In my opinion, this is currently the best and easiest way to develop games and test them on a real machine.
For that to work, you have to add a serial-to-USB interface to the PiTrex—that step is exactly the same that Thomas did for the VecFever. Newer VF models have this integrated… but it still is basically the same.
As far as I know, Thomas used the “CP2102” chip. I tried that – but what bothers me about this one:

  • I had trouble with “auto” connecting to it—it was a little unreliable.
  • Upon first usage, you have to install a new driver to your Windows setup.

Therefore, I tested several other serial interfaces—the one that worked best for me seems to be a “FT232RL.” I did not need to install an additional driver, the chip is recognized by Windows automatically, and reconnects/connects are smooth.

I bought 10 new PiTrexes from Kevin, and I will build these ten PiTrexes to be “Dev” PiTrexes, meaning I will add the said serial interface. Right now, I am experimenting with how I best cut the cartridge shell to integrate the interface into the cartridge. It is messy—I don’t have the right tools for this. It still looks like crap.

Anyway, the goal here is to have a compact PiTrex cartridge with a “hot-glued” serial interface inside, and then you only have to plug in a USB cable to your PC and within Vide, you open the configuration, add the serial port, and hit connect:

After you start vectrexexact on your PiTrex – all you Dev dreams become true :-)!

PiTrexTerminal

Haha.
No, this does not look like much. When connected, here you can see all responses from your PiTrex.
(Not necessarily only from VectrexExact.)

The terminal mode is full “duplex.” PiTrex outputs its serial messages to this terminal—but you can also control the PiTrex via commands (type “h” for help).

The disk icon allows you to upload (any) Vectrex BIN to the PiTrex and run it.
The “Reset-Button” well… it resets your Vectrex.

The “Dev”-beauty of the PiTrex solution is (what some people see as a weakness) that the Pi emulates the Vectrex rather than playing on the real Vectrex.

In this case, I say this is great!
A little reminder… the emulation on the PiTrex only emulates the CPU. All analog things, all VIA, all DAC, and everything else are original and use the original hardware. What you see on a PiTrex-setup is REAL Vectrex.
Only the CPU is emulated. The 6809 CPU is by now really well-known and is emulated very well!
(I never cared about adding undocumented features, though.)

That is the reason why, in nearly all aspects, the emulation of the PiTrex of the Vectrex comes to be very, VERY close to the original.

Emulating the CPU, rather than running on the native 6809 CPU of the Vectrex, allows us to have much more control than other devices.
If your Vectrex crashes while in your own developed program—you can just reset it! You don’t have to switch it off/on.
If you want to load another program—you just do, no need to go back to some menu.
Everything is smooth and direct.
Also (but I have not integrated it yet), it allows you debug methods not possible otherwise:

  • You can dump your CPU state to Vide.
  • You can access registers in real-time.
  • You can set breakpoints on the “real” Vectrex.
  • You can download (and upload) the complete RAM and register states.

From the Debugger in Vide you can “dump” the currently bin to PiTrex – while running.
Just type “tp” (ToPiTrex) – and the bin will run on the PiTrex (actuall there also is a tf “toFever” command…)

The Vide Editor:

Features a “PiTrex” checkbox – when checked each run program of yours – will after a compile directly run on a PiTrex (no need to press a reset button – or go back to some menu).

When you want to look at your own vector drawings – how they look on a real vectrex:

check the checkbox for PiTrex – and the vectorlist will be displayed on the PiTrex!

Once configured – the PiTrex will “autoconnect”…

Vide

I did also many “small” changes to Vide. The Game “builder” is not finished—but I also continued here a little bit. But as with PiTrex, I want to change (or in this case rather “add”) the way smartlists are generated to hopefully have a better display.
I started this – but auto-generating those is a rather complex thing… and somehow I stopped and never came around continuing (yet).
I did some small improvements – which saved me a lot of time. E.g., the “vector to image” tool now supports copy/paste of image data. Now you can put an image into your clipboard buffer and just paste it. No need to save or convert anymore – just “use.” It’s a small thing – but it probably saved me hours.
Automatic recognition of 48kB ROMs, emulation of “offset” setting more like “real life,” some GUI changes for Phil, small changes for Peer, like an “export” of RAM/ROM data, import of LST data… etc.

Game Development

I am somewhat of a Retro guy. You might have noticed.
There are some “old” games which are “dear” to me:

  • Telengard
  • Akalabeth
  • Dungeons of Dagorath
  • Kareteka
  • Choplifter

To name only a few.
The mentioned games above are ones that I would like to do a Vectrex version for.
I know these are some grand titles. The authors involved are some high-ranking mythological figures.
Nonetheless – if one does not ask – one will certainly never get an answer :-)!

Telengard – done!

The original author (Daniel Lawrence) sadly is not amongst us anymore. I hope he would be ok with the version I did. A friend of his contacted me some time ago and expressed his approval of the game – yeah!

Akalabeth – done!

I tried reaching out to Richard Garriott through different means – in FVU a friend of his even offered to make some connection – nothing ever came of it. So what I did is rather unofficial and will probably not be sold “commercially”.

Dungeons of Dagorath – started!

Thomas did a port to the VecFever. I wanted to do a native port to the Vectrex. I think this is possible – but I stopped it.
I contacted the original author and he promised support and wanted to send me the original sources. But nothing ever came of it, I offered to pay for all the trouble… but…
I put it on a backburner for now. Yes – I am a bit put off by him ignoring me now.

Choplifter – started!

I started it some time ago. I actually got into contact with Dan Gorlin the original author and he was ok me doing a port. Thing is – the IP does not belong to him, rather to it belongs to InXile, Brian Fargo or even now Microsoft.
I tried contacting Brian Fargo – but that turned out to be rather difficult. I doubt my letters ever reached him – I got some response of the InXile support office that was rather…

Kareteka

I reached out to Jordan Mechner – but as of now he has not reacted.

Christmas 2024

For the Vectrex Fans Unite – “Secret Santa” I programmed a demo. I sent it to five people. This demo actually is the second “ever” cart that uses 192kB of memory. I always wanted to do a small video of it running – perhaps at some time I will do so. As of now the sources (and bin) can be found on github (Christman2024).
If I remember correctly it should run on the PiTrex – since I added native 256kB support (newest version of VectrexExact).
Mainly the demo consist of sources I had lying around – and images I converted to Vectrex. Alltogether not bad for only a few hours of work.

Outside Vectrex

As always I have been playing a lot. Mostly by myself. Same old same old… Ark, Minecraft, Horzion, Mass Effect, Balatro… and many more.

I also developed a “passion” for Adult Visual Novels. The crux with these is, they are usual one man shows and at some stage development becomes too much of a hassle and they are not finished.

Adult visual novels usualy emphasis on “adult”, meaning: erotic, sex, femdom, maledom etc.
But hey – I am an adult – I like it!
I played quite a lot… and here are some of my favourite:

Haha!

I also did dabble in AVN (Adult Visual Novels) myself a bit.
I learned TWINE and did write a few stories. I learned RenPy – and started a Visual Novel (as with everything else – I will continue and finish it some day).

I also learned some DAZ – create images (yes erotic images… mostly).

If you want to know more about those dabblings/writings of mine – had over to “Demetos” – which is Malban in the AVN world.
A Twine “diary/story” written by me: https://demetos.com/my-time-with-her

One of my RenPy dabblings: https://demetos.com/the-couple_p
(Summary of the story line so far: Summary: “The Couple”)
On the site you will find some more “stories” I have written, as well as some AI generated stories (from my input), game reviews – and blog entries about AVN and my own dabblings.

Comments welcome!
Cheers
Malban

9 thoughts on “Two years gone by… what the…?

  1. Phillip Eaton

    My Visualping site update notifications are still working 🙂

    Wow, what a full post and it’s good to know that you haven’t really dropped off the face of planet Vectrex-dev!

    Now I’ve groked why you’re so enthused by the concept of developing/debugging with the Pitrex, it’s like debugging with VIDE, except with real hardware, it’s not just a slick way of getting a binary onto the Vectrex.

    The main difference I guess is that with Pitrex the display will disappear if the CPU is stopped for memory inspection, but maybe that’s not really a problem, and if it ever is, you can always go back to VIDE.

    But then perhaps another problem is that the debugger commands that you can use, maybe they’d need to be reimplemented for remote usage on Pitrex, if you can’t just use the VIDE debugger commands. Perhaps it a similar way, umbilical/tethered Forths have a tiny subset of the language running on the target device, with the rest of the language running on a connected PC.

    This is interesting, maybe I can play with this when is available.

    The FT232RL devices seem to work OK, the Prolific PL2303 is the one to avoid, too many counterfeit devices and the drivers are a disaster on Windows. CP2102 has worked best for me and there don’t seem to be as many fakes around. I tested all three with a VecMulti and it was the most reliable (though not sure if it was the fastest?). Personally I use an FT245R as it replaces the UART and line driver with one package, includes a buffer and you address and r/w to it similarly to a RAM.

    Keep up the good work!

    1. Malban Post author

      The full “Debug” integration is not done yet.
      But when I get around to do it – is a matter of minutes… all the framework is there…

    1. Malban Post author

      I would love to do the port.
      As far as I know the IP is owned by Jordan Mechner. He has a Website with a contact form – and a promise that he’ll read everything…

  2. David Galloway

    I’ve had dinner with Jordan, he’s a really good guy. I’m sure he’d love a Vectrex version. It’s been on my list too!

  3. Alex Fitch

    The Secret Santa cart was a lovely gift, and very much appreciated. Hope you might finish Choplifter next, as out of all of your unfinished demos, it seems to nearest to completion… 🙂

    You didn’t mention Faller (a.k.a. Cameltry) – I seem to remember you saying that adding spinner controllability to the demo was on the cards, and I hope you finish that one too!

    Do you think you might work on Bouncer more? That would work well with track ball support…

    1. Malban Post author

      Thanks for your kind words!

      Faller.
      Yeah – difficult. I really wanted – and want – to continue.
      Actually I started about two weeks ago. I was utterly confused by the code. It has been – what? A year now? THAT code is really bad to get back into. I gave up after a couple of hours.
      Now I am afraid to follow up – and a little frustrated.
      And yes – Faller was supposed to be spinner enabled for Olivers superb spinner.

      Bouncer was never more then a “C”-Demo. I don’t know if I will follow up on that.

      Choplifter.
      I hate that I can not get hold of the copyright holders and get some sort of answer of them. So – I don’t know if I will ever follow up on that.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.