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=’192.168.13.128′ 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
./sqlstuff.sh
mysql -uswgemu -p123456 swgemu -e "update galaxy set address='192.168.13.128' 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.

Just picked up a sealed copy of Captain Blood!

31 years old!

It’s from Italy, and apparently was originally boxed for the Amiga, and then re-purposed for the Commodore 64. Compared to American ‘big box’ releases of the era, it’s a tiny box. A few of my SIM games are behind, it along with some DVD cases I picked up in China.

29,900 Lira?

I guess the price makes sense if the final exchange rate of the Lira was
1,276:1 USD
back in the winter of 1988, making this copy $23 USD. Although I’m pretty sure when I bought mine I had to pay some $40 CAD. Yay.

I don’t think Captain blood really made it to tape, so it’s really not all that surprising then that this disk version has sat in it’s box for so long. Every time I’d seen anything Commodore in Italy or even the EU it was always tape. Such a shame too, as that means no Infocom.

Normally I wouldn’t even bother with something like this, as I have images for every release there was, but this is a sealed copy. Apparently there is a poster inside of many of the European releases. Although I’m unsure if this one does. It’s been sealed for some 31 years so far. Although it’d make a great poster to frame.

I’ve been trying to clean up the Mega ST I have, but it appears to be dead. Nothing seems to be on the video out, and it’s not lighting up or spinning the disk. I guess this means I’ll need some kind of logic probe. Well after I find my volt meter to see if I’m getting the correct voltage. The Atari doesn’t seem so complicated so I guess an ATX power supply can be rigged to output the 5/12v.

After tracking down the library source, I’ve focused my GCC stuff on version 1.30 as it’s the same base version that was used in the x68000 port, and didn’t suffer from any struct packing that I remember. And of course the never ending stress of day jobs.

So the Infocom source code base was just ‘released’.

https://twitter.com/textfiles/status/1118005126457888768

So I woke up to this incredible news. Jason Scott at the most excellent archive.org had just uploaded the old Infocom source code to github. It’s from the infamous ‘found hard disk’ that has been mentioned going back to the failed game ‘The restaurant at the end of the universe’.

So looking at the repos here, you can see the latest ones are all Infocom. It’s best to get them all via git for reason below:

git clone https://github.com/historicalsource/abyss.git
git clone https://github.com/historicalsource/amfv.git
git clone https://github.com/historicalsource/arthur.git
git clone https://github.com/historicalsource/ballyhoo.git
git clone https://github.com/historicalsource/beyondzork.git
git clone https://github.com/historicalsource/borderzone.git
git clone https://github.com/historicalsource/bureaucracy.git
git clone https://github.com/historicalsource/checkpoint.git
git clone https://github.com/historicalsource/cutthroats.git
git clone https://github.com/historicalsource/deadline.git
git clone https://github.com/historicalsource/enchanter.git
git clone https://github.com/historicalsource/hitchhikersguide.git
git clone https://github.com/historicalsource/hollywoodhijinx.git
git clone https://github.com/historicalsource/infidel.git
git clone https://github.com/historicalsource/infocom-sampler.git
git clone https://github.com/historicalsource/journey.git
git clone https://github.com/historicalsource/leathergoddesses-gold.git
git clone https://github.com/historicalsource/leathergoddesses.git
git clone https://github.com/historicalsource/lurkinghorror.git
git clone https://github.com/historicalsource/minizork-1982.git
git clone https://github.com/historicalsource/minizork-1987.git
git clone https://github.com/historicalsource/minizork2-1988.git
git clone https://github.com/historicalsource/moonmist.git
git clone https://github.com/historicalsource/nordandbert.git
git clone https://github.com/historicalsource/planetfall.git
git clone https://github.com/historicalsource/plunderedhearts.git
git clone https://github.com/historicalsource/restaurant.git
git clone https://github.com/historicalsource/seastalker.git
git clone https://github.com/historicalsource/sherlock.git
git clone https://github.com/historicalsource/shogun.git
git clone https://github.com/historicalsource/sorcerer.git
git clone https://github.com/historicalsource/spellbreaker.git
git clone https://github.com/historicalsource/starcross.git
git clone https://github.com/historicalsource/stationfall.git
git clone https://github.com/historicalsource/suspect.git
git clone https://github.com/historicalsource/suspended.git
git clone https://github.com/historicalsource/trinity.git
git clone https://github.com/historicalsource/wishbringer.git
git clone https://github.com/historicalsource/witness.git
git clone https://github.com/historicalsource/zork-german.git
git clone https://github.com/historicalsource/zork.git
git clone https://github.com/historicalsource/zork1.git
git clone https://github.com/historicalsource/zork2.git
git clone https://github.com/historicalsource/zork3.git
git clone https://github.com/historicalsource/zorkzero.git

NEW the ‘gold’ versions of various games, these are the ones with built in help systems

git clone https://github.com/historicalsource/wishbringer-gold.git
git clone https://github.com/historicalsource/planetfall-gold.git
git clone https://github.com/historicalsource/zork1-gold.git
git clone https://github.com/historicalsource/hitchhikersguide-gold.git

The reason being of course that if there are multiple versions they are stacked. Now why is this important? Who cares? it’s all in ZILL which there is no compiler for, as the TOPS-20 tools are still lost?

Enter ZILF!

Written by Jesse McGrew in an apparent vacuum, this toolchain can Z3 machine based ZIL source code. Yes that’s right it’s a compiler!

I know Zork will get all the headlines, but back the 80’s I preferred Planetfall. I’m not even going to talk about the insanity that was the Hitchhiker’s guide to the galaxy.

Zilf is really only suited for Z3 compilation, and looking at planetfall there are two commits of note:

$ git log| tail -11
commit e85ca899aac575e74a4b3845f44d09a891c1563a
Author: historicalsource <[email protected]>
Date:   Sat Apr 13 21:35:51 2019 -0400

    Final Revision

commit 281bd3417faada8011397244d4bfaad562cb7bfc
Author: historicalsource <[email protected]>
Date:   Sat Apr 13 21:34:42 2019 -0400

    Revision 37 (Original Source)

The source for the Final version won’t build with ZILF. However the Revision 37 source will!

$ git checkout 281bd3417faada8011397244d4bfaad562cb7bfc
Note: checking out '281bd3417faada8011397244d4bfaad562cb7bfc'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at 281bd34... Revision 37 (Original Source)

Ok, now let’s trash the directory! (you did backup the repo first, right?)

C:\temp\zilf\zilf-0.8\planetfall>..\bin\Zilf planetfall.zil
ZILF 0.8 built 3/19/2017 1:34:17 PM
Planetfall

[warning MDL0417] C:\temp\zilf\zilf-0.8\planetfall\MISC.zil:509: ROUTINE: only 3 routine arguments allowed in V3, so last 2 "OPT" arguments will never be passed
  in INSERT-FILE called at planetfall.zil:14
  in IFILE called at planetfall.zil:25
[warning ZIL0208] C:\temp\zilf\zilf-0.8\planetfall\SYNTAX.zil:143: preaction routine mismatch for 'V?ZAP': using PRE-ZAP as before
[error ZIL0113] C:\temp\zilf\zilf-0.8\planetfall\MISC.zil:150: SETG: argument 1: bare atom argument must be a variable name
[error ZIL0113] C:\temp\zilf\zilf-0.8\planetfall\MISC.zil:315: SETG: argument 1: bare atom argument must be a variable name
[error ZIL0113] C:\temp\zilf\zilf-0.8\planetfall\MISC.zil:317: SETG: argument 1: bare atom argument must be a variable name
[error ZIL0113] C:\temp\zilf\zilf-0.8\planetfall\MISC.zil:319: SETG: argument 1: bare atom argument must be a variable name
[warning ZIL0504] C:\temp\zilf\zilf-0.8\planetfall\PARSER.zil:244: treating SET to 0 as true here
[warning ZIL0502] C:\temp\zilf\zilf-0.8\planetfall\VERBS.zil:156: RETURN value ignored: block is in void context
[warning ZIL0204] C:\temp\zilf\zilf-0.8\planetfall\VERBS.zil:1879: no such global variable 'WHERE', using the local instead
[warning ZIL0505] C:\temp\zilf\zilf-0.8\planetfall\COMPTWO.zil:3035: COND: clauses after else part will never be evaluated
[warning ZIL0308] <top level>: too many parts of speech for 'PORT': Object (C:\temp\zilf\zilf-0.8\planetfall\GLOBALS.zil:78), Adjective (C:\temp\zilf\zilf-0.8\planetfall\GLOBALS.zil:224), Direction (C:\temp\zilf\zilf-0.8\planetfall\GLOBALS.zil:11)
[warning ZIL0306] C:\temp\zilf\zilf-0.8\planetfall\GLOBALS.zil:224: discarding the Adjective part of speech for 'PORT'
[warning ZIL0308] <top level>: too many parts of speech for 'BRUSH': Object (C:\temp\zilf\zilf-0.8\planetfall\GLOBALS.zil:548), Adjective (C:\temp\zilf\zilf-0.8\planetfall\GLOBALS.zil:549), Verb (C:\temp\zilf\zilf-0.8\planetfall\SYNTAX.zil:283)
[warning ZIL0306] C:\temp\zilf\zilf-0.8\planetfall\GLOBALS.zil:549: discarding the Adjective part of speech for 'BRUSH'
10 warnings
4 errors

C:\temp\zilf\zilf-0.8\planetfall>dir *zap
 Volume in drive C is BOOTCAMP
 Volume Serial Number is 903B-72D4

 Directory of C:\temp\zilf\zilf-0.8\planetfall

04/17/2019  08:32 PM           247,803 planetfall.zap
04/17/2019  08:32 PM           162,476 planetfall_data.zap
04/17/2019  08:32 PM             1,336 planetfall_freq.zap
04/17/2019  08:32 PM            40,495 planetfall_str.zap
               4 File(s)        452,110 bytes
               0 Dir(s)  238,542,704,640 bytes free

C:\temp\zilf\zilf-0.8\planetfall>..\bin\zapf planetfall.zap
ZAPF 0.8
Reading planetfall.zap
Reading planetfall_freq.zap
Reading planetfall_data.zap
Reading planetfall_str.zap
Measuring..
Assembling
Wrote 121952 bytes to planetfall.z3

Sure it said 4 errors, but it compiled! Using a z3 or higher interpreter we can load up Planetfall

Planetfall!

At first glance it may look the same, but check the serial number. 190417. That’s today!

I’ve played it about 1/5th of the way though. There is a walkthru here.

There seems to be so much in flux about this source dump. replicate while you can!

Found more system16 source

It gets a little confusing as they are all version 0.82 the real way to tell them apart is the date

What is cool about these versions is that they do have some audio capabilities, although they are so old that they do rely on sampled sounds for:

  • Alien Syndrome
  • Altered Beast
  • Golden Axe
  • Shadow Dancer
  • Shinobi
  • Wrestle War

But it’s from 1999 and that was the state of emulation.

0.82 is basically where the project had left off, and was of course supplanted by MAME. There was preliminary work on AfterBurner 2, although there is from the looks of it a bad/partial ROM dump to blame for the most part. It’s unplayable but it sort of runs the demo.

0.82 does however emulate a strange version of OutRun. Namely that it lacks shifter support all together. So hold down the accelerator and take off!

Notable things is the inclusion of Neill Corlett’s Starscream for 68000 emulation, Neil Bradley’s Mz80, Jarek Burczynski’s YM2151. Which reflects many components of the era that would find their way into MAME.

Which of course speaks to another thing, that tracking down ROMs for these ancient pre-mame emulators is getting impossible with vague names, and no timestamps.

Btw, there is two excellent pages where you can get all the roms supported
by this emulator, these pages are :
http://www.davesclassics.com by Conjurer
and
http://www.emuviews.com by JoseQ

Which naturally, are lost to the mists of time.

I’ve been able to run it under DOSBox, Qemu and VMWare. For VMWare, be sure to enable Sound Blaster emulation, and set the BLASTER environment variable to:

SET BLASTER=A220 I5 D1 H7 P330 T6

The video mode for the start screen doesn’t render on VMWare or Qemu, so in that case I just start it with the following batch file

system16 %1.gcs -notitle -old2151 -noarcade %2 %3 %4 %5 %6

And away it goes!

I don’t have the FPS stats as it’ll crash when going to the menu to exit, and I didn’t hack up the source that much at the moment (caught another flu…). But Qemu 0.90 feels a LOT more fluid playing outrun than VMWare or DOSBox on my 2006 Mac Pro. Although on my 32 core Xeon monster it plays great on everything. I guess if you have at least 3Ghz and your CPU is less than 8 years old it’ll be fine for running nested emulation along with emulating 2 68000’s a z80, and a ym2151. Or just run a native build of MAME! Or if you really want low lag Outrun, use Cannonball!

And thanks again to Thierry Lescot for letting me redistribute this

Wasting some cycles on FrontVM

Frontier!

A while ago I had chased FrontVM to moretom.net and found 2 links. One from 2003 which is a dead link, and the 2004 version which was archived by the wayback machine!

It was an interesting build, as it still used 68000 emulation from Hatari/UAE this pre-dates the 68000 to C or i386 ASM. However since it ran (mostly) the original code, it was more ‘feature complete’, although loading save games is broken for some reason (I think the decryption was not disassembled correctly). It was actually a stupid file mode setting. I just updated the source & put out a new binary, testing save games between Linux &Windows.

Anyways, it originally built on Cygwin, so I filled in the missing bits, and have it building on both MinGW & Visual C++

Parked outside Willow in the Ross 154 system

So yeah, it’s Frontier, for the AtariST with the OS & Hardware calls abstracted, still running the 68000 code under emulation. I think it’s an interesting thing, but that’s me.

I put it and the other original versions I found over on sourceforge.net

Download Frontvm

Oddly enough it’s already been downloaded, so go figure.

Elder Scrolls 25th Anniversary

For those who are interested in ‘free’ giveaway type things, Bethesda is giving away The Elder Scrolls III: Morrowind. Just use the code
TES25TH-MORROWIND on their store thing here.

You have until the 31st!

Since I already have an account from the Fallout 76 debacle, no biggie for me.

Also for the MS-DOS fans out there, you can get Arena & Daggerfall with no registration required!

Enjoy!

Hypnospace Outlaw

Hypnos desktop

It’s an interesting twist on the typical point & click adventure game. How so? Well simply put it’s all based on web technology! With a big emphasis on that late 90’s vibe! Complete with ‘desktop pets’ animated GIFs, blinking text, and embedded MIDI (and even more sophisticated music).

While it’s obviously not real, the entire ‘web’ is stored locally (even in it’s own lore), it’s still fun to dig around in.

You play as an “Enforcer” basically it’s like back to the AOL days of walled gardens being patrolled by unpaid volunteers. Look for banned content and flag it appropriately. As the game progresses things go off the rails, near riots, helicopter crashes, amputations, culminating in a Y2K crash that kills people.

I totally missed out on this being a crowdfunded thing, and found out from Steam recommendations of all things.

Even for the aesthetic alone, I think it’s worth it. Some of the game play is too much wrapped up into it’s own lore, so paying attention is kind of important.

SharpShooter3D

When the best friend becomes an enemy, and the main villain becomes you yourself and blood flows like a river, someone will definitely have to answer the main question – Who is behind the awakening of ancient evil and is there still a chance for humanity?

PUBLISHER:Dagestan Technology
DEVELOPER:HeadHuntersGames

I saw this ‘gem’ pop up on steam for $3.50 HKD (so $0.50 USD?) and thought what the hell let’s try it out. SharpShooter3D is well, a DooM mod of sorts, but it also feels a lot like Duke3D with the inclusion of vehicles and ‘moving room/vehicles’ like train cars. At it’s heart is GZDoom 3.3.2 which states in the license:

Parts of the voxel code in the software renderer use code from the
BUILD engine by Ken Silverman and are used under the terms of the
GPL v3 with permission.

Well isn’t that cool! The best of Duke3D and Doom! All in one.

It captures the imagined feel of the eastern block, old factories, nuclear power plants, lots of guys in trainers & Adidas all over the place, along with copious alcohol and milk (yes milk is the health thing here!).

Not to mention the punk sound track is pretty good for such a seemingly ‘low end offer’. Had this come out 20 years ago, it really would have set the world on fire, and probably set off quite the few controversy, but today it’s a discount mod that no doubt the devs did put a bit of work into.

I have no idea if the game is 90% off for the rest of the world, but I’d say it’s worth a look at the price.

New Year! New Machine!

24 cores!

New format for stuff too!

I picked up an ‘interesting Chinese motherboard, a dual LGA2011 board, some DD3 ECC memory, and 2 of the cheapest ‘widest’ chips I could find, the 6 core E5-2620 v2. The board cost me $200 US, the memory was $90 and the CPU’s were $40. Although the board is E-ATX, and that means I’ll need to get a new case as it won’t fit anything I have lying around.

I think I finally got the hang of Vegas. It’s taken far too long to get here, but I was hoping to have received the board much quicker as it shipped from 30km from here, but they did their best to NOT ship to Hong Kong.

I know it’s far too long, and far too maranding. Oh well it’s late and I’m just babbling like crazy.