Saturday, 16 April 2016

Being Spread Too Thin

It's come to my attention that I have way too many projects on the go. This post is going to summarize what needs to be done to each of them in a kind of semi-apology for why things you are waiting for might take a while...

It's also worth remembering I can only work on some of these projects in certain locations. DreamPi stuff must happen at home where I have a Dreamcast and a DreamPi set up. Electronics stuff needs to happen near electronics kit, SDL 2 needs a PC with a Dreamcast emulator, access to a Dreamcast and KallisitiOS which I only have at home. Most of my computer time happens on the train, so... yeah.

DreamPi


The DreamPi software image has been a huge success. pcwzrd13 of Dreamcast Live recently reported the most active online Dreamcast game session ever as a result of more people getting their Dreamcast connected. Even though the software works, here's a list of things that are still left to do:
  • Better IP address allocation, what is there now is incredibly buggy
  • Cutting down the image, and swapping the init system for systemd then writing a proper systemd service file
  • Detecting modem hotplugging and handling it gracefully
  • Hanging up and reconnecting every 5 minutes or so when generating the dial-tone to workaround the modem apparently going to sleep
  • Speeding up the connection process by removing excess AT commands
  • Upgrading the image to support the Pi 3
  • Coming up with a way to easily configure Wifi dongles

 

Dreamcast Now 


Connected, but separate, Dreamcast Now has become a useful tool, here are the things I'd like to fix:
  • Add more game domain hashes (e.g. Toy Racer)
  • Add Dreamcast Live and Dreamcast-talk versions of the listing so that those sites can iframe them in

DC-Pheonix (DreamArena)

 

This is working amazingly well considering I hammered it out in a few hours. Still left to do though:

  • Add Quake 3 PAL support
  • Add a clone of the DreamArena registration site so users can register with DreamKey 1.0
  • Database-backed user registration so that the entire process works as it did back in the day

Serial Connector / Link Cable 


I'd like to design and manufacture these, but this is on hold until I have some line voltage inducers made. The whole process for making a PCB is pretty time consuming so don't expect this stuff soon!


Line Voltage Adapters


I have 3 prototype PCBs. I need to manually hot-plate solder the components, and then 3D print cases for them. At that point I can decide whether I have the time to sell them and whether it's worth it. This can only be done when I'm at my work's electronics club which unfortunately I can only make occasionally. Don't expect these any time soon either :(

Also, I need to fix some bugs in Fritzing (the PCB software) to make these PCBs export correctly without me manually fixing up the Gerber export files.


Dreamcast SDL 2 Port


This is about 70% done. It needs testing and fixing. I'll get around to this when I start porting my game engine to the Dreamcast....


My Game Engine (KGLT)


This is the main project I really want to focus on. Here's what I intend to do:
  • Improve rendering performance
  • Fix Quake 2 BSP lightmap loading
  • Add an OpenGL 1.x renderer for Dreamcast support
  • Port to the Dreamcast
  • Write a game for the Dreamcast

As you can see, I have a lot going on, and that's ignoring all the support requests / questions I get about the Dreampi and all the other things I'm helping individuals with. It also ignores the non-Dreamcast related stuff that I already have out there.

So, if you are waiting for something, I apologise, but all of my code is open source, I'd appreciate the help if you can contribute!

2 comments:

  1. Thanks for all your hard work with this, it's hugely appreciated. :)

    I'm interested in what you mean by DreamPi's "Better IP address allocation, what is there now is incredibly buggy" - the one problem I have occasionally is that it decides its IP is 192.168.1.98 and though it accepts connections from the Dreamcast the Dreamcast has no Internet access. I then have to log into my router, delete dreampi from the DHCP settings, and when it resets it gets a different IP address (usually 192.168.1.75 on my network) and then it works fine. Is that a known issue, or just my network being weird?

    ReplyDelete
    Replies
    1. When the DreamPi boots up, it's allocated an IP via DHCP just like normal. But then when the Dreamcast dials in, the Pi needs to allocate two new IP addresses, one for the Dreamcast and one for the second interface on the Pi.

      The problem is that these IPs need to be known when the software boots, so I try to scan the network to find used IP addresses and avoid them. The problem is that I used "arp" which only tells you IPs that the computer has seen before, and if you've only just turned on the Pi (likely) then it'll possibly allocate a duplicate IP.

      I need to change the logic to do an arp-scan instead, or even better, find a way to request additional IP leases over DHCP but I couldn't find a way to do that.

      Delete