Missing Neko98

Neko on ARM

With the collapse of my vpsland archive, Neko has become lost once more again. Thankfully I had some fragment backups so I have been able to bring Neko back from the grave. again.

First I dumped everything I had over on sourceforge. With a bit more digging I found the old RISC versions as well. I even found the Itanium version, although I lost the ARM version. Im not sure I have an 8gb pi4 anymore, but I’d like to get one when/if prices stop being insane. Anyways I also uploaded the source to github, since it’s more hip and acceptable for zoomers. I do have to say the git mirror command was everything I’d hoped it’d be.

git push --mirror https://github.com/neozeed/neko98.git

It literally was that easy.

I put a binary built with Visual C++ 2010 SP1 over there too. Although if you need Visual C++ 2010 runtimes, I put them on sourceforge.

Also I should add in the settings make sure you click “Always On Top”, otherwise Neko will be hidden to the desktop surface and you won’t see him.

I hope you enjoy!

Missing link for Basilisk I found

Actually I held onto this, as I wanted to do something crazy for that Marchintosh thing but life got in the way it fell by the wayside, and well now it’s September, and I already have a Qemu instance running A/UX so my ‘at best’ hope of Basilisk II with MMU emulation is all but moot.

Captain, oh Captain!

While it may look like 2 very old emulators, which they are, the interesting thing here is that this old version of Basilisk that only has Macintosh Classic emulation is using the 68000 emulation core from UAE 0.6.8. It took a lot of downloading stuff, a lot of other nonsense, but I eventually found it, and was able to diff around to find the changes made were rather inconsequential, there by letting me rebuild UAE back on top of Basilisk.

My plan had been to either use far newer UAE cpu core, say from Previous as it has working MMU support, or Musashi.

I was building hard coded for TDM GCC 5.1.0 on MinGW. It doesn’t matter anymore but I threw it up on github since that is where all the cool kids are.


It’s absolutely pointless I guess, but maybe someone will find it interesting.

Netscape 3.02 aka hiding in plain site

Much to my surprise, along with a few other people the partial source code to Netscape 3 has been found. But it’s been there since 2011.

Normally I look for ‘source code’ although that terrible movie overlaps the name making it hard to find. So the phrase for the last decade turns out to be ‘source tree’

Netscape Communicator 3.0.2 Source Tree

So who knew!?

The SDK stuff is missing, and it looks like the Windows stuff is intermixed with the Unix.

There is some CVS tags, but not the history. Lots of the crypto has been deleted, and the SDK stuff is missing. Also no cooltalk. SUN Java is there oddly enough.

I have no idea if it’s buildable as it looks like its expecting a magical config regarding paths and tools, and a quick glance looks like it’ll need some time to massage.

Could this be the dawn of the ‘will it run NetScape 3’?

Sandboxie went GPL3!

I’ve been using Sandboxie for a long while to run all those questionable downloads on Windows. It’s a great light weight sandbox (as the name implies) for running random downloads, or even going to questionable websites as Sandboxie does a great job of isolating processes, and their filesystem access.

It’s not been all that cheap, but I felt it was worth it. I went to check to see how much it is as the conversation had come up on discord, and it turns out that Sophos had bought Sandboxie, and opened up the source code!

The downside is that there will be no further official development of the product. So I guess at some point I’ll have to break down and get a signing cert and re-build it if I want to keep using it.

Last version is locally mirrored here, as I understand it’ll be deleted soon enough.


GCC moved to git!

After all that flap about having moved GCC into GIT I thought it would be worth checking out, you know digging for interesting old artifacts.

I found the ‘start’ back over here on github:

Sadly the ‘initial revisions’ only contain a few files, far from the contents of the ’87 archive.


Not that I would envy anyone crazy enough to do such a thing, I was just hoping someone else would have done a better job than I did.

Sourcetrail is now GPL!

Okay, so it actually happened on November 18, 2019 but here we are!

From their blog:

I am happy to announce that all our founding members agreed to turn Sourcetrail, our cross-platform source explorer, into free and open-source software. The source code is now available on GitHub and we aim to fund further development and maintenance via Patreon. In this post I will explain the issues we faced with commercial licensing and why we think this change will improve the situation and benefit everyone.

A Quick Introduction for Newcomers

Sourcetrail is a cross-platform source explorer that helps you get productive on unfamiliar source code. It uses static analysis on C, C++, Java and Python source code and lets you navigate the collected information within a user interface that interactively combines graph visualization and code display.

This is very cool stuff indeed! I quickly downloaded the portable version and pointed it to a copy of Linux 0.10

I have to say the results look pretty good! Granted it doesn’t like the old archaic assembly macros from a quite bygone era, but this makes exploring the source a joy, as you can not only point to functions, but also see what variables / structs that it’ll touch, and it works backwards letting you quickly see what functions use which structs, adding more viability than say something like src2html.

This is going to be a GREAT tool, no doubt for trying to unwind a bunch of the old software I’ve collected over the years (all on CVS!), although I don’t think it’ll allow for something web based, but such is life.

You can support them on Patreon for as little as $5 for this fantastic software. I know they will get my support at the least.

So I wanted to compare the new NCC vs the old one, and found that my CVS was broken.

Don’t you love upgrades that’ll break everything? For some reason now when I cvs init a repo the defaults have changed (where are they even stored?) and it’s been breaking things since going to Debian 9.

Although it presents itself as a warning if you see anything about warnings they apparently are errors. Such as this fine fatal error: “warning: duplicate LogHistory entry found.”. I was getting this from trying to login

cvs [login aborted]: unrecognized auth response from unix.superglobalmegacorp.com: cvs pserver: /ncc/CVSROOT/config [23]: warning: duplicate LogHistory entry found.

But it’s just a warning right? Well it turns out no, and that since I have multiple repos.

Apparently this was a bug in passing going back to 2006!

The problem is that a static variable is defined at line 618 in src/parseinfo.c. It is set when the first --allow-root option is processed for our first repository and then when the second --allow-root option is processed, the warning message is issued (erroneously, I believe) saying that another LogHistory line is encountered. But this is for a completely different repository, so it should have no relevance to the first config file.

Unless, serving multiple repositories is for some reason no longer
supported or the new syntax for using sections in a common config file is now mandatory. I hadn't seen any indications that either were intended, hence my question.

Thanks to Bob Bowen

The way out of this without re-compiling is to now comment out each repo’s LogHistory. Great.

The next issue at least presented itself as an error! .. if that’s progress.

$ cvs -d:pserver:[email protected]:/ncc ls .
cvs ls: failed to create lock directory for `/ncc' (/ncc/#cvs.lock): Permission denied
cvs ls: failed to obtain dir lock in repository `/ncc'
cvs [ls aborted]: read lock failed - giving up

Yep, now the lock directory needs to be specified. Maybe I should have made one per directory although this is pretty much just a read-only anoncvs so I don’t think it matters. And looking back on the logs it was only used by a few people so, honestly that’s fine.

The final error goes back to something I must have figured out with a template that is now wiped out. I have the CVS book, but left it at the office, so I’m here just hacking as a guess, but there is no passwd file being copied into place.

Logging in to :pserver:[email protected]:2401/ncc
CVS password:
Fatal error, aborting.
anonymous: no such user

This is at least simple to take care of, Just copy one from an older repo to a central location and propagate it everywhere. There is no point in doing system authentication as again it’s readonly and I don’t want users on my cvs crap thing.

So in 3 easy lines to remediate the thing, it is:

find ./ -type d -name CVSROOT -exec sed -i 's/LogHistory\=TMAR/#LogHistory\=TMAR/g' {}/config \;
find ./ -type d -name CVSROOT -exec sed -i 's/#LockDir\=\/var\/lock\/cvs/LockDir\=\/var\/lock\/cvs/g' {}/config \;
find ./ -type d -name CVSROOT -exec cp /virtual/unix/SOURCE/cvs-passwd {}/passwd

Current repos include such hits as:

  • 32v
  • binutils
  • cblood
  • cci
  • coherent
  • Corridor8
  • CSRG
  • darwin0
  • darwinstep
  • djgppv1
  • dmsdos
  • doom
  • dynamips
  • frontvm
  • gas
  • gcc130-x68000
  • gcc1x
  • gcc2x
  • gdb
  • gnumach
  • gsmaster
  • hatari
  • linux
  • linux001
  • lites
  • mach
  • mach3
  • machki386
  • MacMiNT
  • MiNT
  • msdos-player
  • ncc
  • net2
  • nextstep33examples
  • ntsdk
  • os2sdk
  • pgp
  • plan9next
  • previous
  • qemu
  • quake1
  • quake2
  • research
  • rsaref
  • sbbs
  • simh
  • TekWar
  • tme
  • truecrypt
  • uae
  • Witchaven
  • WitchavenII
  • xinu
  • xnu

General instructions are still valid on My crappy CVS archive of old crap is now online via pserver!

$ cvs --version

Concurrent Versions System (CVS) 1.12.13-MirDebian-25 (client/server)
$ cvs -d:pserver:[email protected]:/research login
Logging in to :pserver:[email protected]:2401/research
CVS password:
$ cvs -d:pserver:[email protected]:/research ls .

If you wish to make an apple pie from scratch, you must first invent the universe.

Back in 1995 I bought this rather expensive, and ambitious book simply called: Developing Your Own 32-Bit Operating

And while it is a LONG read, it really is the embodiment of Apple pie from scratch. Rather than rely on open and available tools, the author Richard Burgess instead goes on to write his own assembler, compiler, and then onward to a simple message passing RTOS.

No doubt the price he paid for eschewing popular GNU tools, and having a non BSD/GPL license for the time is that it was quickly relegated to history as the inevitable rise of Linux took place.

Recently while reading a comment about PC-MOS/386 v5.01 final, I came back to MMURTL, which is now in the public domain.

For those wishing to look, not only is the source code and a few patches available on the site ipdatacorp.com, but so is a PDF of the 1st edition of the book.

While MMURTL may not have caught on in the marketplace of ideas, it’s still astounding to look at the volume of work produced, that even though open source tools and starting points were available (The book easily could have been using CMU Mach 3.0) instead it’s all written from scratch by a single person.

TheGrue is doing further work doucmented on the BBS, along with work on github.

Running SWGEmu Core3

You probably don’t want to do this. Unless you enjoy giant empty islands. Maybe you just want to play it on an inaccessible network. Maybe your social anxiety is so bad that you like the idea of playing a MMO alone. It’s probably not a good idea to do this, in that at the end you’ll get bored quickly, but here we go!

Using Ubuntu 16.04 the steps on github.com/TheAnswer/Core3 got me running quick enough. It is rather intense to built, and for the most part it’s pretty easy, although running documentation seems to be … elsewhere. I’m sure it is somewhere, but I have no idea where.

The big thing to do is update the galaxy binding in the mysql database to reflect either the LAN address for local play, or the WAN address if you are natting/hosting on the internet.

mysql -uswgemu -p123456 swgemu -e “update galaxy set address=’′ where galaxy_id=2;”

And for the heck of it, I thought I’d build swgemu for both 16 (swgemu-binary-Ubuntu_16.04.6_LTS_x86_64.tar.gz) & 18 (swgemu-binary-Ubuntu_18.04.2_LTS_x86_64.tar.gz). Keeping in mind for 18, that mysql was dumped for mariadb, so you need different packages. For a fresh 16 server, it’d go something like this:

apt-get install openssh-server
mkdir /tre
chown swgemu:swgemu /tre
(from a client machine)
pscp *tre [email protected]:/tre
apt-get install mysql-server screen libatomic1 libmysqlclient20 liblua5.3-0
tar -zxf swgemu-binary-Ubuntu_16.04.6_LTS_x86_64.tar.gz
cd swgemu
mysql -uswgemu -p123456 swgemu -e "update galaxy set address='' where galaxy_id=2;"

For version Ubuntu 18, you want the package mariadb-server & libmariadbclient18 instead of the mysql versions.

Make sure to set the TrePath!!!
vi conf/config.lua

Run the server, either under screen (./run.sh) or directly ./core3 if everything is going well, the [Core] will come up initialized..

(27 s) [AuctionManager] bazaar Checked 0 auction item(s) and updated 0 item(s)
(27 s) [AuctionManager] Bazaar terminal checks completed in 0ms
(27 s) [AuctionManager] Checking 0 vendor terminals
(27 s) [AuctionManager] vendor Checked 0 auction item(s) and updated 0 item(s)
(27 s) [AuctionManager] Vendor terminal checks completed in 0ms
(27 s) [AuctionManager] loaded auctionsMap of size: 0
(27 s) [FrsManager] ERROR - Unable to initialize frs manager, yavin4 disabled.
(27 s) [StatusServer] initialized
(27 s) [Core] initialized

After that, you can add the new server as a login server from the swgemu launcher, and start it up. By default it will allow anyone to create a user with any password.

self hosted swgemu!

And here we are, all alone.