Lately I’ve been experimenting with new batteries for my Epson PX-8′s (I have three PX-8′s now, it’s a worry I know.) Of the three’s original batteries, one still holds a reasonable charge, the other two however require the AC adapters to be permanently connected. This is not a huge issue but with high capacity NiMh batteries pretty cheap these days I decided to look into replacing the original NiCad’s.
The original NiCad’s are 4.8 V 1100 mAh packs, ideally I wanted replacements that were of equal or greater capacity. Having hunted around and looked at a myriad of options it became clear the most limiting factor was the size of the battery compartment on the PX-8. Initially I was tempted by a 4 pack of 1.2 V AA cells at 2700 mAh, however there was no way of squeezing these into the compartment even with a homemade pack. I also looked at new NiCad’s but really wanted to go with NiMh.
In the end I tried two options, a ready made four pack of Sanyo Eneloop AAA cells at 800 mAh and some loose Duracell AAA’s at 1200 mAh secured in a simple 4 cell battery holder. Both options are working well and lasting for what seems like forever.
I’m no expert on battery charging so don’t fully understand what the consequences will be of using the supplied Epson adapter and the PX-8′s charging circuit on the modern NiMh’s. From what I do understand the PX-8 will charge for 8 hours and then drop into trickle charge with its standard NiCad. If you disconnect the AC adapter and plug it in again the charge cycle will start again possibly leading to overcharging. The AC adapter is an unregulated 6 V 600 mAh model. (Epson HOOAAU-A)
As far as I can tell, the NiMh’s are taking somewhere in the region of 2 hours to fully charge which seems to me to be what’s considered fast charging.
With July rapidly approaching my thoughts are turning this year’s Retrochallenge. I have a number of possible avenues to explore. Continuing with the battery theme I really would like to try and revive my PF-10′s. I’m pretty sure the problem lies with dead sub batteries inside the units. The main batteries are easy to swap out, however the sub batteries are soldered to the logic boards and it’s been a long time since I’ve been near a soldering iron.
I also have a Commodore 128D which I’d like to get fully acquainted with including using it with CP/M, in fact it would be nice to try and get it talking to a PX-8. On that theme I’ve been experimenting with the PX-8 RS232 ports and quite fancy writing some sort of two player game with communication via this route. Decisions to be made.
I’ve been spending a fair amount of time messing around with the Amiga 1200 that I recovered from the loft a few weeks ago. It has been a little frustrating, I’d forgotten a lot about the Amiga and its idiosyncrasies and progress has been slow for several reasons that I’ll get in to below.
One of the main challenges I’ve found with retrocomputing is transferring files to and from your retro systems. With the Amiga 1200 this isn’t really an issue due to its PCMCIA slot which will happily read and write to standard compact flash cards with the appropriate adapter. A PCMCIA to CF adapter was therefore my first purchase (I later discovered I already had one grrrr.)
My next purchases were an IDE to CF adapter and some Kickstart 3.1 roms. Installing the latter was pretty easy although it’s important to note the manner in which the original chips are installed as there are more sockets than there are pins on the chips.
I then pulled out the original Seagate IDE hard disk, plugged in the IDE to CF adapter and added a SanDisk Extreme III 4GB CF card. I booted the system with my Workbench 3.1 floppy and set up the newly installed CF card.
I divided the card into a 200MB partition for Workbench and the rest as one large partition for games and data. After formatting the partitions (some considerable time) I made a fresh install of Workbench 3.1 and booted the system from the new CF drive. This whole process was a little tortuous as the Amiga kept crashing at various stages. At first I assumed the CF card was incompatible but I soon realised the 128MB SIM I’d installed was causing the problems. I swapped it out for a 4MB stick and the machine become much more stable.
The next challenge was installing AmigaOS 3.9 which is supplied on CD and at the time I didn’t have a compatible drive for the Amiga. Using a Mac I copied the contents of the CD onto a compact flash card in a drawer name AmigaOS3.9 and inserted it into the Amiga. I then fired up shell and entered the following command – ASSIGN AmigaOS3.9: cf0:AmigaOS3.9 and was then able to run the installer with the CF card mimicking the CD. However I ran into a number of problems with the installation and have since learnt that using a non-Amiga system to copy files or open archives destined for the Amiga can mess up the file permissions when you then try to use those files. After much fiddling I finally got a semi working installation of Amiga OS3.9.
I seem to have stopped using my Amiga just at the point that CD rom drives became quite widely used with the system, I personally never had one but wanted to add one now so I could install the OS properly. I ordered a buffered IDE interface and dug out an old Plextor external USB drive.
I opened up the back of the drive and disconnected the USB interface from the IDE connector on the drive and ran an IDE cable out of the box and into the Amiga. I had to make some changes to the Tooltypes of the CD driver that had been installed by OS3.9 to get it working:-
I now had a working CD ROM drive and was able to successfully install OS3.9 without problems and also install the Boing Bag 2 update. My next ambitions are to replace the external drive with an internal one, I already have a slim drive from an old Cubit box, whether I have the courage to cut a slot out of my 1200′s case is another matter, and Internet access. For now some Frontier Elite II.
I’ve been trawling through all my old equipment, trying to organise it in some meaningful manner. I decided to buy several clear storage cases in the hope of grouping related items together so I can easily select a box and its contents when I want to use certain hardware.
The process is going reasonably well although unsurprisingly I’ve underestimated the number of containers I require and one slightly irritating aspect has been finding lots of items that I didn’t realise I had and have bought duplicates of recently.
I did however unearth a D-link dwl G520+ wireless PCI card and my old Apple Airport Extreme unit. I installed the wireless card in my bridge machine which until now has lacked any form of networking and set up the Extreme to create a wireless network.
I was able to download drivers for the D-Link card and whilst I was at it I download drivers for the Leadtek Winfast Titanium 500 graphics card and Creative Labs Soundblaster Live which were already present in the bridge machine. All these drivers were still available from the respective manufacturer’s websites.
I have to say I’ve quite enjoyed using Windows 98 again, it’s relatively unfussy and very quick and snappy 0n the Pentium III I’m using. The driver installations went pretty smoothly and the D-Link card picked up the wireless network without fuss.
On firing up Internet Explorer I went into Tools/Internet Options/Connections and configured it to connect through my LAN however it wouldn’t connect to any web pages. After a bit of fiddling I entered ‘winipcfg’ in the Start/Run box and clicked on Release All and then Renew All, this did the trick, my freshly installed Windows 98 box was online.
This box now fulfils the list of criteria I set out for my perfect bridge machine:-
- Parellel Port
- Serial Port
- ISA Slot
- PCI Slots
- VGA & DVI
- CD Rom
- Floppy (5.25 & 3.5)
I thought it might be amusing at this stage to try Windows Update which took me to the relevant site but would always fail with an error when scanning the system. After searching a bit I found this site which has an unofficial pack of updates.
After installing these updates I was able to access Windows Update again and it worked so I took all the official updates I thought would be useful and installed them. Pleased with my progress I thought I’d party like it was 1999 and fire up an old game. First to hand was Destruction Derby which in fact harks all the way back to 1995.
Now, back to that packing and sorting…
I decided to have a dig around in the loft as I couldn’t remember exactly what was up there computer wise, I knew there was an Amiga 1200 and a CD32 but I was also surprised to find an Amiga 500 and a barely used Sony Playstation. I retrieved the A1200 and the A500, the first is in great shape, in fact it looks like new and it works, the hard drive even booting into Workbench on initial power up. The A500 is pretty grubby, very yellow and not working, giving only a flashing power LED and green screen. There was also an A590 external hard disk unit with it, I’d forgotten I had that.
The A1200 cost me a small fortune back in 1993, I ordered it with an 80mb drive and a Microbotics MX1230A accelerator board featuring a 68030 CPU, 68882 FPU and 4 Mb of additional RAM. It was and still is a gorgeous system, probably my second favourite retro system, pipped to the post only by the C64.
Thinking back to how much I used to dream about upgrading the RAM which was devilishly expensive in those days, it was odd to find a 128 Mbyte SIM in one of my piles of junk and simply plug it in. For some reason, in my mind, the A1200 still seems really powerful.
There were a couple of games on the drive, Sim City 2000 and Frontier, Elite II. Many, many hours were spent playing the latter which is one of my all time favourite games, despite the bugs. On researching the game I noticed you can download an OpenGL version here and play the game in high resolution under Windows or Linux which is pretty cool.
I also discovered there’s still a thriving community surrounding the A1200 with much ‘pimping’ of the original machines still going on. The most common upgrade seems to be a compact flash internal drive which I’m hoping to attempt. Others have added USB ports and even internal CD ROM drives.
During my Amiga years I still had delusions of becoming a digital graphic artist, I used to dream of ending up at somewhere like Pixar. With the 1200 I found a box of disks including Sculpt 3D and 4D and Deluxe Paint III and IV. I managed to recover some saved files from DPaint but no luck so far with the Sculpt files.
Dpaint produced .lbm bitmap files and after hunting around I found this site that allowed me to convert them to GIF’s. The second image was copied from a 1985 Tolkien calendar and the first from a book lent to me by Urbancamo called Space Wars, Worlds and Weapons. Very odd to see these again after all those years.
Well here it is, the first installment of Silent Running, a text adventure created using Inform. The initial idea was to create something that would run on my Epson PX-8 which is a CP/M based machine. The first speed bump was locating a Z-machine interpreter for CP/M until it was pointed out to me that as I had the original Zork games for CP/M I had a suitable interpreter.
The Zork games typically came as two files, for instance, Zork1.com and Zork1.dat, the .com file being the interpreter and the .dat file the story file. The interpreter supports version 3 story files and if you create a compatible story file you can rename it Zork1.dat then run Zork1.com and your game will load and run.
Needing to create version 3 story files I opted for Inform 5 as the compiler and was of course free to write the source code in any suitable text editor. Thus development has taken place on a variety of machines including the Atari Portfolio, Epson PX-8, Epson Equity LT and some more modern machines. I had hoped to compile the code on the Equity but I still haven’t had any success.
The game itself is heavily influenced in tone by Snowball from Level 9 which remains my fondest memory of text adventuring, that and Melbourne House’s The Hobbit. I would estimate that I’ve completed about a quarter of what I’d hoped, therefore there are a number of elements within the game that may currently seem like red herrings. The current goal is to achieve access to the biodome area of the freighter.
There will of course be many bugs, not the crash your system type, but responses to player input that are not catered for and the like. Once you’re in the world creating it it’s difficult to jump outside and imagine how others are going to interact with it, reports would be welcome.
I’ve been quite absorbed by this process which has been enjoyable although it has meant I haven’t had as much time to keep up with all the other entries as I’d have liked and I’m looking forward to doing that now.
You’ll need an interpreter should you wish to try the game, you should be able to find one here:-
If like me you need an interpreter for CP/M you can download Zork and the included interpreter here.
Finally resolved the issue that I’d passed on a few days ago. With some help from the chaps over at the interactive fiction forum I finally found a method to return the location of Huey, Dewey and Louie to the player when the player examines some monitors that are found around the Valley Forge. The final code was:-
Object monitors “bank of monitors”
with name “monitors” “monitor”,
description “There are three monitors, each one showing a live feed from the freighter’s maintenance drones.”,
found_in droneroom crewsmess,
[; examine: Print "^Huey is in:- ";Print (name)parent(drone1);Print "^Dewey is in:- ";Print (name)parent(drone2);Print "^Louie is in:- ";Print (name)parent(drone3);
has static controlled;
The next thing I’d like to resolve is having the drones follow you when instructed rather and having to ‘take’ them which is the current situation. Apart from that I realise I probably don’t have enough time left to sort out the various bugs and weird behaviour resulting from unexpected player input.
It’s Never Finished
Games are never finished. There’s always one more bug, or one more message which could be improved, or one more little cute reply to put it. Debugging is a creative process that adds to the life of the game.
In the case of his own game Curses he writes:-
The play-testing process has increased the code size of ‘Curses’ by about 50%: in other words, over a third of a game is devoted to ‘irrelvant’ features, blind alleys, flippant replies and the like.
I’ve learnt just how much I’d underestimated the time required for this stage of the development and it’s given me a new appreciation for how tightly coded the original Infocom games must have been.
I’ve made a fair bit of progress today, tidied up a fair amount of code, resolved a number of issues that were returning slightly odd results when the player did unexpected things. I came across some documentation that alluded to setting parameters for the target displays Sad I know but this was quite exciting given the limitations of the PX-8′s display and the fact that the only CP/M interpreter I have doesn’t as far as I know allow you to specify display settings.
I therefore compiled a version for the PX-8′s 80 column by 8 line display and while I was as it one for the PX-4′s 40 by 8 display. I transferred them over and… it didn’t work. At the moment I don’t know why it’s not working and I also don’t know why I took some video of it not working but I did.
With the deadline looming ambitions have been somewhat scaled back. Instead of attempting to finish the entire game it’s very much going to be a Silent Running (Part 1.) The process has reminded me of my school exam days where I would race through the exam in around a quarter of the allotted time and then spend the rest of the time writing out the original scribble in a more legible form. As I learn more elegant ways of doing things I have to spend time going back and updating the code.
However much of it remains inelegant, there’s one problem that I can’t seem to resolve which involves monitors I had intended to place in various locations that could be examined to reveal the current locations of the ships drones, Huey, Dewey and Louie, I’ve had to abandon this for now as it was taking up too much time. As an aside, I’d forgotten how quickly the hours pass when engaged in a task like this.
Of the several kludges I have resorted to, possibly the most Heath Robinson is using the Take and Drop routines to have the Drones follow the player character, in the process modifying the parser to say ‘You are carrying or being followed by’ in place of the standard ‘You are carrying,’ Ouch! Using ‘drop’ to have someone stop following is pretty poor but I’m confident given a bit more time I’ll crack that one.
Of the ideas that I’d mapped out in my mind I would guess I’m going to achieve about a quarter of what I’d hoped. The goal therefore of the first instalment will be to make it to the next area of the Valley Forge.
One thing all this time in front of the computer has allowed me to do is catch up on old Retrobits podcasts which I can’t recommend highly enough, great stuff Earl.
No progress on the Silent Running adventure for a couple of days. I got bogged down in trying to resolve a particular issue, realised it was time to walk away and come back fresh which hopefully I’ll do today or tomorrow.
Instead I’ve been messing around with the Equity, trying to understand what it’s capable of. My first experience with a PC as opposed to machines such as the Amiga and Commodore 64 was a Pentium 90 based machine with Windows 3.1, so the pre Pentium days passed me by.
I’ve been trying to compile the code I have written so far with the Equity with no luck as yet. As a point of interest the code compiles on a Core 2 Quad essentially instantaneously. On a Pentium 166 it takes a few seconds. On the Equity it’s taking around 4 minutes before failing on a specific library issue. I need to try the Minform library I mentioned in an earlier post next.
I also wanted to see what games would run on the Equity and found an early version of a Secret of Monkey Island demo which loads and runs. I was never really aware of the limited graphics abilities of the early PC’s having been spoilt by the abilities of the Amiga and its custom chips, it’s pretty basic stuff as I’m discovering.
The Equity has two option slots, one is currently occupied by the hard drive controller card and I believe the only other card produced specifically for the option slots by Epson was a modem card. Somewhat bizarrely one just came up on Ebay, unused, and new in the box so I snapped that up (only bidder) and it’s on its way.
I’ve established that the Infocom Z machine interpreter I have for CP/M is limited to version 3 story files and have therefore spent the last day or so trying to decide which course would be best to take for development of the game. I’ve opted for Inform version 5.5 for DOS which I downloaded at the excellent ifarchive. This is one of the last versions of Inform that will compile version 3 story files. I was advised by DavidK over at the interactive fiction forum that Inform 6.15 is actually the last version that supports version 3.
He was also kind enough to point me in the direction of Dave Bernazzani’s minform library which is a stripped down Inform Library created to allow small z3 files. Using the Inform Designers Manual by Graham Nelson I created a few rooms and objects, compiled and transferred the results to the PX-8. Using the trick of renaming the file zork1.dat I successfully ran the game which was a nice moment.
Despite my attempts to keep descriptions as short and concise as possible the PX-8′s display doesn’t really lend itself to the task at hand, the story file will however of course run on a wide variety of retro machines so I still hope to create a decent end product. I rather feel as though deciding to create a text adventure for the PX-8 was akin to deciding to create a new blend of tea for a chocolate tea pot but never mind.
Oh and before the pedants jump on me, I’m aware of the slightly odd notion of using compass bearings aboard a ship in orbit around Saturn but hey ho.
Here is some rather shaky footage of game running on the PX-8:-