Tuesday, 29 May 2018

System Profile: Acer AcerMate 386/20N [Part Two]

So, now that we know the physical ins and outs of the AcerMate 386/20N, let's put a system together around it. As I mentioned, this system very closely resembles the first PC I had, despite the latter having a 25MHz AMD CPU. The joy of retro computing is the ability to put together a system that is a significant upgrade over the original thanks to (most) old hardware being more affordable now than it was back then (or by having more money now than back then). So let's look at the original specifications of my first PC and compare them with this new system:

Component Ambra Acermate
CPU Am386SX/25 i386SX/20
RAM 2MB 4MB
Floppy Drive 3.5" 1.44MB 3.5" 1.44MB
Hard Drive 40MB Connor 500MB Seagate
Sound Card Adlib Clone Sound Blaster 16
Speakers Generic Passive Altec Lansing Active
Monitor Ambra 640x480 Iiyama 800x600
Graphics Card Paradise VGA 512KB Acumos AVGA-1 256KB
Other Cards N/A 3Com Ethernet
DOS 5.0 6.22
Windows 3.1 3.11
Controllers Gravis Gamepad, CH Flightstick Gravis Gamepad, Logitech Wingman

As you can see, there is little difference between the two systems. My original system was eventually upgraded with an optical drive at some point but, as you can see, that's not an option in the AcerMate's case so I'm relegated to using a parallel model if I choose to go that way but, to be fair, 99% of the games I played on my first PC were floppy-based. The most significant differences are storage and audio. It was only when I got a 486 that CD-based games really came to the fore.

Setting this machine up as a usable gaming system was never my intention. It was only by listing all the games I played on my first PC (in the first entry on this system) that I got that retro buzz and decided to actually use it. Plus my kids (and my younger brother!) have shown great interest in the games of the 1992 era. Let's take a look at each of the components listed above.

System Unit & Motherboard

Although not in horrid condition, it took a bit of work to get this system looking cosmetically better. As there is a little case discolouration I would like to Retr0bright it at some point but that can wait. Instead I focused on doing a solid cosmetic clean of the case and the internals. I completely dismantled the case by removing all the components, cables and motherboard. I put the case itself into the dishwasher with a detergent tablet on a quick wash (so it doesn't include the drying cycle and doesn't get too hot. This actually made little or no difference to the state of the case so I resorted to scrubbing it with a scouring pad in some warm soapy water in the sink. This did a great job.

You can see from previous photos (especially close-up ones) that the motherboard was very dusty. I've got a thing about dusty or grubby tech so I removed all the chips, submerged it in the soapy water, and used a soft paintbrush to go over the board and between the components. After giving it a good rinse and leaving it to dry, it looked good as new in the morning. You may have noticed that this board uses crappy plastic clips to retain the SIMMs. Fortunately, these aren't as crispy as I have seen on other boards so hopefully they won't crumble. There's always the glue gun...

Before: grubby
After: shiny

Chipset

One thing I didn't mention at all in part one is the chipset. As you can see from the picture above, the layout of this board is incredibly simple. Aside from the CPU and the GPU, there are very few other chips on the board. The chip just to the left of the acuMOS graphics chip is Acer model M5105, which is the I/O controller, and can be found on a number of ISA drive / comms controllers of the time. We then have the big chip in the middle. This obviously integrates all of the remaining core functions such as RAM controller, bus arbiter and such. But wait, creating an entire chipset is a pretty big undertaking for a PC manufacturer, isn't it? You would think so until you notice that Acer had a subsidiary called Acer Labs Inc. or ALi. Yep, that's the same ALi that created the legendary ALADDiN V chipset for Super Socket 7 motherboards and, before that, the M1489 chipset that was popular on 486 boards. the M1209 was their first ever integrated chipset. Cool. Evidently their need to create a highly integrated controller for this small-footprint, low-cost PC expanded their remit.

While checking out the newly-clean board, I noticed a few other features I'd missed the first time around:


J20 is unlabelled, so its function remains unknown. J4 obviously allows you to disable the internal VGA in the event of installing a separate (presumably better) display adaptor. J7 is obviously a boring security feature, but J8 is much more curious. Finding information on IRQ9 was tricky, but I found an archived page that goes into some detail. It's seemingly a compatibility feature, a hangover from the EGA days, so probably never needed in this setting.

System Fan

I noticed that the solitary fan in this system was quite loud. When lubrication didn't make any difference I decided just to unplug it a) because of the noise and b) because all it seemed to be doing was blowing dust and dirt onto the RAM. Most 386 systems didn't have fans of any kind except, perhaps for the PSU. In this particular case I was wrong. After coming back to the system at a later point, I started experiencing all sorts of instability problems, mostly related to the RAM and it not being recognised. It seems the fan isn't optional after all. Once I reinstalled it, the system settled down.

Power Supply Unit

The PSU was also pretty filthy inside, so I got the baby wipes out and used a screwdriver to drag it between the components and clean the PCB as I didn't much fancy submerging it:

Before: grubby [source: author]
After: spanky [source: author]
Yeah, so no one's going to see the inside of the PSU but, given it's the only component of the system that gets warm, I'd like to extend its life as much as possible by removing the layer of brown insulation.

CPU

As you can see, this processor runs 5MHz slower than my first system and, as it's an SX, is cacheless so there are extremely limited options for performance gains. I remember 25MHz being barely enough for some games so I would like to try and squeeze some better performance out of this system for absolute comfort. Wolfenstein 3D runs fine, and that's usually a good test of a system from this era. As soon as you get into texture-mapped graphics though, things crawl. I'm thinking of Microprose's F1GP and Blake Stone in particular, and I even remember Indianapolis 500 being a bit jerky because of all those polygons.

The simplest option is also the least likely to happen. Cyrix (and probably others) made 386-to-486 upgrades that snapped onto the top of a 386SX. Apparently they use the co-pro pin to disable the 386 and let the new CPU take over. This doesn't work on the 16MHz model, as it lacks this pin. These upgrades are, however, super super rare and I've never seen one in the wild. Unless I pay an exorbitant amount or get extremely lucky, it ain't happening.

The more likely option (also more tricky and makes less difference) is via a crystal upgrade. I noted in part one that the motherboard has factory-set options (in lieu of jumpers) to set the speed at 16MHz or 20MHz depending on which crystal and which CPU are installed. Obviously my board has a 40MHz crystal so I could, theoretically, swap this for a 50MHz crystal, effectively overclocking. I don't have one of these right now but perhaps I could salvage one at some point.

Audio

Initially, in 1993, I had no sound card at all, so it was PC speaker all the way. I got into an argument with someone on YouTube a while back who was trying to argue that the Amiga was technically superior in every way to the PC as a gaming machine. There really wasn't any argument - he's right. But when it comes to nostalgia, superiority has nothing to do with it. Yes, the PC speaker has a very limited skill set, but it's what I grew up with. Grabbing a power up on Duke Nukem makes the best noise.

I then got the Adlib clone so although that earned me synthesised music and SFX, there was no digitised sound. I used to love going round my mate's house because he had a Sound Blaster on his 486 PS/2 and we used to insult Dr. Sbaitso and play Rebel Assault endlessly - that game evokes many memories for me, mainly because of the FMV and the fact it was the first game exclusively on CD-ROM. I didn't get a Sound Blaster until I built my 486 system in 1995 and things had moved on by that time, so it will be good to go back to all the first games I played and hear them with digitised sound effects.

I'd managed to pick up an SB16 model CT1740 from eBay for a very good price indeed, and this is the perfect system for it.


It uses the YMF262 chip for FM sounds, which is preferable to the later models that used Creative's own version of synthesis. It also has the manual volume adjustment on the back, which is an essential oldskool feature as far as I'm concerned, and adds to the authenticity of this system. I had a minor issue accommodating this card in the system, as it seems to have low tolerance for cards with many ports on the back. I had to remove one of the screw-posts (maybe they're not called that) from the game port to get it to fit, but it worked.


One thing I also nearly did was add a Roland Sound Canvas for MIDI audio. Now, much as I craved General MIDI in my games back then when I couldn't have it, including it now would create a very different feel to the system. That's why I'll stick with FM, because I truly love some of the FM music from games back then, where I don't have the same feelings for the MIDI renditions. I now don't know which system I would include the SC-50 in, as I have an AWE64 for that, technically. Meh...

Output will be handled by a pair of Altec Lansing speakers that I recently picked up for £10 from a local seller. I never had powered speakers back then, just a crappy little passive pair, so it'll be good to hear the FM sound a lot 'bigger'. I even managed to get the matching sub-woofer at a later point.

Storage

Hilariously, the Acer came with its original Conner CP3000 42MB hard drive. That's a little too much nostalgia for me. I've got a decent stock of hard drives of various capacity so I chucked something random in there, preferring quicker access times and more storage space than the authentic 1993 experience. Before installing it, I put the drive in a different PC and copied over all the games I wanted, so I could avoid transferring files as much as possible; my network sucks and there was no way I was going to transfer via floppy disk. INTERSVR an alternative, as I have null modem cables. Once that was done, It was ready to go - all I needed to do was install the operating system and the drivers!


This is the only current photo I have of the completed system, not powered on unfortunately. I think a video would be the best format for profiling this system in action. Obviously ignore the Sound Canvas under the monitor. The mouse is a classic, and so is the keyboard with nice clicky ALPS switches.

PC CGA / EGA On A Commodore 1084 Monitor?

The oldest video connector most people have seen on a PC is VGA:

VGA D-sub connection (15 pin) [source: Wikimedia]
Although it has largely been phased out now and replaced with HDMI/Displayport and/or DVI, some devices, such as projectors and TVs, can afford to include it where space is not a premium. Another connector you may have seen on laptops or some PCs is composite video, using an RCA connector. This provides a low-quality connection, which is rubbish for something like word processing, but may be acceptable for watching DVDs.


So what sort of connection did old computers use for 'high' resolutions back in the day? If you've heard of VGA, you've probably heard of EGA and maybe even CGA. It depends on how old the games are that you have played, as many would ask you what type of graphics card you had upon loading. But if you only ever played these games on a newer VGA PC or an emulator, you will have never got involved with the actual physical connections. This brings us to something that baffled me when I first saw it on a Commodore 1084 monitor a couple of years ago.

Obsolete != Useless

I had never seen a 9-pin video connector before and my first thought was "well, that's not compatible with anything I've got..." but I have learned time and time again that this is a stupid thought, particularly as a rationale for not keeping something old. The truth at the time, although I didn't yet know it, was "that's not compatible with anything I've got yet". Both CGA and its successor EGA used a DE-9 port to connect the graphics card to a monitor (or composite to a TV). Yep, same shell size as VGA, but 9 pins instead of 15.

I had no computer of this era and was naive as to what peripherals I would need in order to get one up and running as an when I acquired one so, when I recently bought a Zenith XT clone (there are some things worth forking out for), I realised that I had gotten really lucky in finding the Commodore monitor, without even realising it (aside from the fact that I also now own two Amiga 500s, neither working). I initially got video working over composite for diagnostic purposes, but obviously I would want to use digital RGB aka TTL RGB (transistor to transistor logic) or even analogue RGB for a higher quality picture (and colour). As luck would have it, I had purchased an EGA cable from eBay a couple of years ago.

D-Subs

A selection of cables. All the same? Assume nothing...
But it didn't work. So I dug through my cable collection and ended up with 3 different ones, all using a DE-9 connector. I mean DB-9. Well, technically that's not the correct name but so what - that's what everyone else calls it and if you call it DE-9, you are either going to be 'corrected' by the ignorant, or confuse the naive. Either way, there's no honour in using the correct assignment here. It's called a 'D' connector because it resembles a D when you put it on its side, and 'E' is the code for the size of the shell. So a VGA connector should correctly be referred to as DE-15, as it has the same shell size, but a different amount of pins. You'll also hear these connectors being called 'D-sub', short for D-subminiature, as these were the smallest computer connections of their kind when they were introduced in the early '60s. This is obviously hilarious in the context of, say, Lightning cables.

Some D-sub connectors and their
names [source: Wikipedia]
It is unusual for these connectors to be referred to by their 'codename' at all but, if they are, you will hear all of them prefixed with DB in 99% of cases. For example, DA-15 is more commonly called a 'game port' but is also the port used for AUI, a type of old network connection, and beige Macintosh CRT monitors. Potential confusion. This is particularly true of the DB-9 connector because you will see it everywhere. It's on your telly, it's on projectors, it's on old PCs, sometimes in male and female format, and other random bits of hardware. But it's not the same port in every case. Most commonly the connection retains its original application, which was for the transmission of digital data. You may have heard of Recommended Standard RS-232, which is the technical name for a 'serial port' and the method used to communicate between devices. This includes modems, printers, mice and other peripherals. But I'm not getting into that right now. Or ever. Probably.

So, yes, among the many applications of the DB-9 port is RGB. What, you say? Video over serial? Not quite.

VGA != EGA

First of all, don't think you can just make or buy an adaptor to change a DB-9 into a DB-15 so you can plug in your nice flat screen monitor, TV, or even CRT. Newer monitors complying to VGA standards do not support the same frequencies defined by CGA and the pin assignment is different. "But I can play VGA games on my VGA monitor!". Uh, yeah, your VGA graphics card supports EGA because it's backwards compatible, but only at the software level. The VGA card and the VGA monitor are designed to communicate in the same way. VGA didn't even exist back in '84 when EGA was introduced, so it doesn't support it. Plus, VGA uses analogue signals, where CGA/EGA use digital. Yes. In summary:

VGA PC + VGA Monitor = Success
VGA PC + EGA Monitor = Failure
EGA PC + VGA Monitor = Failure
EGA PC + EGA Monitor = Success

EGA and CGA (and MDA before them) are extremely similar. You can use the same monitors and cables interchangeably (mostly). So, unless you have some fancy multisync monitor, you'll have to buy (or construct) a box of electronic trickery to convert the signal to work with VGA. These ain't cheap, so not an option if you're brassic. As with anything else in this game, you're better off with the actual old hardware, particularly if it's lying around in someone's loft or a box of cables in someone's office. Finding it is the hard part.

Let's try to stick with the matter at hand: you've got a CGA or EGA card in your PC and you've got a compatible monitor. All you need now is a cable to connect them together. I tried the 'EGA' cable I bought online (at least that's what it was listed as) and it didn't work. At this point I don't know what the problem is, but it could be:

a) the cable
b) the monitor
c) the graphics card

I've written a separate post on identifying / troubleshooting cables so I'm obviously not going to go over all that again am I. My initial problem was not knowing which cable was which, further exacerbated by needing one that was male to female. In the end I identified the correct cable (a 'straight through' serial extension cable) and modified another so that I could change the gender of one end. The cable worked fine after quite a bit of resoldering, as I had a scrolling picture at first. This was to do with the sync wire not being connected properly.

This is where I learned some more about the differences between CGA and EGA, and the 1084 monitor.

EGA on a 1084? Nope!

I was getting CGA output on the 1084 fine. But, as everyone knows, CGA is ugly as hell (actually, hell has a higher resolution and more colours so it's uglier than hell). Colours were missing. Although it was semi-correct because the palette was better, I wasn't getting the full 16 simultaneous colour that EGA provides over CGA's 4. As previously mentioned, here's the pinouts:


The cable I had made only had 7 wires. I needed all 9 pins connected, which would give me a cable that supported both CGA and EGA and could be used with either graphics standard. I needed a spare shell, and I needed a cable with 9 wires. Time to get the wire cutters out.



Hah - turns out that null modem cable wasn't so useless after all! Made the 9 pin cable: no change. At this point I was confused. The Amiga can display up to 32 colours simultaneously in standard modes, so I knew it wasn't a limitation of the monitor. Or was it? I'm not sure what made me realise it, but the problem was glaringly obvious once I'd realised where to look. I knew the pinout of the graphics cards, I knew the pinout of my cable... what about the pinout of the monitor? Service manual, come hither!


So, very similar indeed to CGA (almost identical, in fact) and none of the additional pins required for EGA at all. No wonder the signal wasn't being recognised. As things stood, I didn't yet have a cable for connecting my Amiga to the 1084, so I checked out its own video pinout. It uses a proprietary 23-pin d-sub. If you want to take a butchers, click here [source: pinouts.ru]. The Amiga can output analogue and digital RGB, but analogue is superior as it can display up to 4096 colours, where digital is limited to 16. The connector also provides power and other signals for external genlock devices (e.g. video capture / editing hardware), but only the pins specified in the analogue pinout above need to be connected to the 1084.

Ah well, looks like I'm sticking with good ol' CGA for the XT - EGA monitors are hard to come by...

Sources:
https://gona.mactar.hu/Commodore/monitor/Commodore_monitors_by_model_number.html
https://en.wikipedia.org/wiki/D-subminiature

Friday, 11 May 2018

Make Your Original Xbox Super! Part Two: Softmodding

Step One: Get Your Shit Together

You need a list of things (a mixture of hardware and software) in order to mod your Xbox. You may have some of them lying around the house already. Some can be obtained cheaply or borrowed, and some can be downloaded. As such, it’s taken for granted that you have a PC, and you obviously save a chunk of dough if you’ve already got an actual Xbox. Check dem ting off this list:

Original Xbox (£0-£50)
Xbox to USB adaptor (£5)
Memory stick (£0-£10)
One of 3 required games (£5)
A softmod package (£0)
Xplorer360 Software Package (£0)

Let’s look at each of these items in detail:

Original Xbox:

The Xbox is only so modifiable because Microsoft somehow let a few errors creep into the programming of its software, and the hardware was also relatively easy to hack. These vulnerabilities were then exploited by certain wily folk, who discovered they could run their own code on the console. Microsoft, however, eventually got wise to these techniques and tried to fix the errors. As a result, there are various versions of the Xbox, from 1.0 to 1.6. A 1.6 Xbox cannot be easily modded, so you need to make sure you’ve got one of the previous versions. If you don’t have an Xbox but you’d like one, you can get them second-hand for very little these days. Use the table below to find out what version you’ve got or take a look at this site, which has more info. Ideally your Xbox will be connected to the Internet so that it can be updated, and you should have local network access to it as well (just plug it into your network / router / wifi hub using Ethernet).

Mfg. DateRev. Location
01/2001–10/20021.0 Hungary
11/2002–04/20031.1 Hungary, Mexico
05/2003–03/20041.2 - 1.5 China
04/2004–?1.6 China, Taiwan

Xbox to USB Adaptor


You’ll need one of these in order to plug a normal memory stick into your Xbox. You can make one (if you’re bored, really skint, or a glutton for punishment), or just buy one from somewhere like eBay or Amazon. Just make sure it's Xbox to female USB.

Flash Drive:

The Xbox has built-in support for USB flash memory drives, and there is a list of devices that are known to work / not work if you don’t have one. Fortunately, most people have at least one lying around, but it has to be one you don’t mind erasing, of course. You could even borrow one from a friend. If yours isn’t on the list, give it a go and see if it works.

The way to do this is to plug it in to the Xbox (via your USB adaptor) and select the Memory option on the Xbox’s main menu (the dashboard you see on startup). If it works, you’ll be told the memory you’ve inserted isn’t recognised and has been erased. I used a random memory card reader with a compact flash card and it worked a treat.

One of 3 Required Games

There are 3 well-known Xbox games that can take advantage of its vulnerabilities. They are:
MechAssault
(original only MS02301L)
007: Agent Under Fire
(original or Platinum version 1448517)
Splinter Cell (any version)
The numbers noted are the serial numbers identifying the version of the game that you need (usually printed on the inner ring of the game disc). Particularly where MechAssault is concerned (one of Microsoft’s own games – hilarious!), you must ensure it’s the original version as, like the Xbox, it was rereleased in a fixed state once MS discovered their mistake. This website has a good guide on how to identify the right versions. If you’ve already got one of these games, wahey; you just saved yourself a fiver. If you don’t, try local 2nd hand games shops or eBay.

A Softmod Package

I say ‘a softmod package’ like there’s an option. There is, but Krazie’s Ndure Pack is pretty much the softmod to get for ease of use and flexibility, and the one we’ll be using here. Depending on the game you’re using, download the appropriate savegame data below (from this helpful site), in preparation for the next step of this guide.

Disclaimer: these files are not hosted by me so you are taking the usual risks downloading them, and should therefore take the usual precautions prior to unpacking them. Please leave a comment if the links break so I can update them.

Splinter Cell (NTSC Version)
Splinter Cell (PAL Version)
007: Agent Under Fire
MechAssault

These files are packed in a .rar archive, which is like a .zip archive but Windows doesn't have the ability built-in to unpack them. I recommend 7-zip, which is free. If you don't know which version to download, use the link at the top of the list.

Xplorer360

The Xbox uses a different filesystem to a PC (i.e. they speak different languages), so you need a translator program to copy the softmod onto your flash drive. Xplorer360 is that translator and can be downloaded from the very reliable afterdawn website. Yes, it's designed for the Xbox360, but that's okay.

Step two: Do The Mod

The first thing is to check the version of the Xbox’s built-in software (the dashboard), as it has to be up to date for the mod to work. If you’ve never connected to Xbox Live (you won’t have an Xbox Live option on your dashboard), the chances are your dash is the original version that it shipped with. To find out what version you’re running, choose Settings from the dash menu, then choose System Info.


The first thing you’ll see is a copyright notice, which will scroll down to eventually give you two numbers, labelled K (Kernel) and D (Dashboard): the dash number is the one we’re interested in. The latest version is 1.00.5960.01 (or just 5960). If your number is lower, your dash needs updating. If it’s not, you can skip this step.




The following guide shows how to do it with MechAssault, but any Live-enabled game will be able to perform the update. Just use the same principles as below:
  1. Insert the game and it will autorun. Skip the intro sequences by pressing one of the buttons on the controller.
  2. At the main menu, choose Multiplayer and press A.
  3. Choose Xbox Live from the next menu and press A.
  4. Press the X button to create an account. We won’t actually be creating an account, so don’t worry about getting your credit card out. You’ll get a message about being rebooted into the Xbox Dashboard. Click A to continue.
  5. Once your Xbox reboots, you’ll be told your dash needs updating. From this point just follow the prompts. You may be asked to update and reboot a couple of times. Just keep on until you end up with the Welcome to Xbox Live screen.
  6. At this point, eject the game, and you should find yourself back at the dash, with a nice new Xbox Live menu item added.
  7. Go back into Settings and System Info, and check your new D version number: it should be 5960.


If you haven’t already, it’s now time to set up your flash drive:
  • Firstly, make sure you’ve taken anything off the drive that you need – it’s going to get wiped. Now plug your flash drive into the Xbox, using your USB adaptor.
  • Choose Memory from the dash menu. If your drive has been recognised, you’ll get a message about it not being recognised, and that it has been erased.
Bingo – you have an Xbox-formatted flash drive. Now we need to copy the softmod files onto it:
  1. Plug the flash drive into your PC and open Xplorer360.
  2. From the Drive menu, choose Harddrive or Memcard. The program will search your computer for Xbox-formatted drives and, hopefully, Partition 0 will appear in left-hand pane. If it doesn’t, your flash drive either hasn’t been formatted properly by the Xbox, or isn’t being recognised by your computer. If so, try the steps above again, or a different USB port (or a different PC).
  3. Extract the contents of the softmod you downloaded before. Drag the numbered folder (e.g. 4d530017 for MechAssault) into right-hand pane of Xplorer360. You’ll see a message saying the files are being injected into the memcard, and a progress bar will be shown.
  4. Close Xplorer360 and safely eject your flash drive. Plug it back into your Xbox.
  5. Now go back into Memory from the dash, and choose Controller 1 as your memory device (or whichever port you've plugged it into). Memory Unit 1A should be shown. Scroll down to the MechAssault gamesave (MechAssault, 1 save, 377 blocks), then scroll right so it says MechAssault, Run Linux.
  6. Press A on your controller and choose Copy. The Xbox hard disk will automatically be selected as a destination. Press A again and the copy will begin.

The softmod files have now been copied to your Xbox hard disk and, like a Trojan horse, its contents are ready to pounce on your Xbox and make it super:


  1. Insert your game again (MechAssault in this case).
  2. Once you get the game menu, choose Campaign and select Run Linux. UnleashX will run.
  3. Congratulations – you’re running Krazie Tools on your Xbox! First you have to back up the eeprom. This is a very important step, as it will allow you to restore your Xbox should it all go a bit wrong, and it will also allow you to upgrade your hard drive. You won’t be able to continue without doing it anyway so choose the first option on the menu: 1st Backup eeprom.
  4. In the next menu, choose Backup eeprom. You’ll receive a message about where you can find your eeprom once its backed up. Your Xbox will reboot into EvoX, and you’ll be presented with a menu at the bottom of the screen. Choose to Backup eeprom – it doesn’t take more than a second. Once that’s done return to main menu.
  5. The eeprom is now backed up to a folder on your Xbox hard disk. We can back this up using FTP in a minute, but if you want you can choose the 2nd menu option, and copy the eeprom to a memory unit for safe keeping (recommended - then you can copy it to your PC). Once you’re done, select Basic Install from the menu.
  6. Next you’ll be asked if you want EvoX or UnleashX as your dashboard. It doesn’t really matter: both are replacement dashboards. Both allow you to run programs (such as XBMC, emulators, etc.) and both act as FTP servers. I prefer UnleashX.
  7. You’ll be given some information about your dashboard needing to be up to date, and that you can customise the installation further at a later point. Choose Yes, and on the next two screens choose Yes and OK respectively.
  8. If you managed to update your dash earlier, you’ll now receive confirmation of this. Choose Yes again, and then OK on the next screen, presuming your eeprom backup went to plan.


Now that the relevant checks have been made, the installation will begin and progress will be shown. This takes about 2 minutes. Once it’s done, you’ll be told to turn off your Xbox. Turn it back on using the eject button, and remove your game. UnleashX will load again, and ask you to press A. Your C drive will now be shadowed (an important step, but you don’t really need to be aware of it). Press OK when prompted. This part of the process takes about a minute.

Once that’s done, you’ll get a message saying your Xbox is completely modded. Congratulations! Click OK on that message, and on the next one. The last screen asks you not to delete the gamesave you transferred to the internal hard disk – heed this advice. Click OK, and your Xbox will restart into your shiny new dash.

If you transferred the eeprom backup to your flash drive, copy this onto your computer and keep it somewhere very safe. If you didn’t, let’s do it now:
  1. Your Xbox needs to be networked, so if it isn’t already, plug it into your network. With UnleashX running, look at the bottom-right hand corner of the Xbox screen: you should have a number such as 192.168.1.3 or 10.0.0.3, depending on how your network is set up. This is the Xbox’s IP address.
  2. Fire up your favourite FTP client on a PC that's also connected to the network. A good free solution is FileZilla. In the Host box, type in the IP address of your Xbox (if you really know what you’re doing, you’ll have given it a DNS name already).
  3. The Username is xbox and the Password is also xbox. Ignore the Port box, and click Quickconnect.
  4. In the left-hand pane, you’ll have a list of your computer’s drive letters, with the Xbox’s on the right. Double-click E on the Xbox.
  5. Double-click the backups folder and you’ll see a folder called eeprom. Now, on the left, browse to the location on your computer where you want to save the backup. You can now drag the 
  6. eeprom folder onto your computer. It should only take a matter of seconds to complete.

With that step done, your Xbox is now all yours. Next you can upgrade your hard drive and install a more feature-filled dash like Xbox Media Centre (XBMC).

Sources

http://www.informit.com/articles/article.aspx?p=367210

http://www.cc.gatech.edu:80/~ranma1/softmodding_xbox.html (via archive.org)


Sunday, 29 April 2018

Make Your Original Xbox Super! Part One: Intro

(These guides were originally written back in 2008 but never published. Until now...)
Introduction: What Can You Do?

So you’ve got an original Xbox. You probably quite liked it, maybe even loved it at one point. Note the past tense: the Xbox has been around for over 6 years, and things have moved on a lot since then. Taking one look at games on the PS3 and 360 says it all, but the classic Xbox still has life in it, and you can make it do things you didn’t even know possible. You do this by modifying it.

The first step you'll need to do before making any modifications is to 'unlock' the console. There are two main routes to this: hardware or software. Modding the hardware requires buying a piece of kit (known as a ‘chip’ or ‘modchip’), opening your Xbox and, in some cases, doing some soldering. This is beyond the scope of most casual gamers. The softmod route is open to all and requires no particular expertise.

You may already know that the Xbox is just a Pentium III based PC under its dark green skin. The advantage of this is that lots of people know how to program software for a PC and, as a result, it stands as perhaps the most modifiable consoles ever produced. The Sega Dreamcast had a similar advantage, as it was developed to run a version of Microsoft’s Windows CE operating system. One thing the Xbox definitely can’t do, ironically, is run Windows.

Here’s a run down of what you can do with your softmodded Xbox:
  • Run game backups from the hard disk (they load faster)
  • Upgrade the hard disk (more storage)
  • Install Linux (turn the Xbox into a PC)
  • Install media centre software (music, photo & video library)
  • Emulate other consoles (such as the SNES, Megadrive, N64, etc.)
Given that there are loads of guides on the web on how to mod your Xbox, you may question my motivation to write another one. Well, the aim of this one is to:
  • Keep guides for the most popular mods in one place
  • Keep the technical steps and language as simple as possible from start to finish
  • Provide links to all the software (as much as is possible)
  • Keep the cost as low as possible
Any feedback you’d like to offer would be greatly appreciated, so I can improve this guide for other people. So, without further ado, let’s softmod your Xbox!

Wednesday, 19 July 2017

The History of the Personal Computer - Part One: Before The IBM PC

Pretty much every home has a PC these days. Technically you have one in your hand in the form of a smartphone, depending on what your definition of 'personal computer' is. The lines used to be a lot clearer: presently you have a choice of a Mac or a PC. Macs are also PCs but no one calls them that. Macs weren't even called 'Macs' originally, they were 'Apples'. And why can't you still buy a PC from IBM these days, when they invented the PC to begin with? Or can you and did they? When you start to ask questions like this, it becomes clear that very few people know the full history of how PCs came to be a household item, after quotes like "I think there is a world market for maybe five computers" from Thomas Watson, president of IBM in 1943. To be fair, computers were as big as houses back then but, even in 1977, after the personal computer had come into being, the founder of one of the biggest computer manufacturers in history said "There is no reason anyone would want a computer in their home." How wrong he was...

Charles Babbage's Difference Engine
[source: computerhistory.org]
The history of computing arguably begins with the abacus, as computers were originally intended for one thing only: not to make our lives easier, but to solve problems. We humans have always been aware of our limitations: that there are certain tasks that we are largely incapable of completing accurately, reliably and in a timely manner (aside from the occasional exception). When Charles Babbage invented his Difference Engine in the 1820s, it was to solve a specific problem. Mathematics was used widely in science, engineering and navigation and the slide rule was the 'calculator' of the time. The device has limitations, however, so tables of numbers such a logarithms and trigonometric functions were pre-calculated (by people called 'computers') and printed so that answers could be looked up quickly when they were needed. Problems emerged with these 'log tables' because of errors - multiple publishers offered different solutions to the same equation and this is a significant issue when you're trying to navigate a ship. The Difference Engine was specifically designed to solve this problem, by calculating these logs accurately and even printing them onto conveniently-sized sheets. Unfortunately Babbage's invention was well ahead of its time and wasn't recognised for its potential so he was unable to secure the funding required.

Intel's 4004 [source: cpu-zone.com]
I'm going to skip most of the 20th century, because this is the history of personal computing. Although significant developments did indeed take place in the field of computing, particularly in the miniaturisation of components, prior to the 1960s, The PC largely came about thanks to the invention of the microprocessor. The first computers were mechanical devices. Following the introduction of electricity, experimentation led to many interesting discoveries, but very few applications. As early as the late 1800s, ways to manipulate the flow of electrons were being discovered, leading to the invention of the vacuum tube in 1907 and thus the next generation of computers. The reason I'm mentioning this is that it's the precursor to perhaps the most significant discovery of all - the semiconductor. A semiconductor is a material that can both conduct and insulate, depending on certain conditions. Being able to manipulate electrons on a microscopic scale led to the invention of the integrated circuit and thus the microprocessor. It is the birth of this device that shifted computer usage from terminals and mainframes into the hands of individuals.

Frederico Faggin [source: bbci]
Pretty much one man, Frederico Faggin, and one company, Intel, are responsible for the first commercially-available, one-chip CPU, the 4004. Although they were supposed to just be making a bespoke chip for a Japanese calculator company, they ended up with something more general-purpose that could be programmed. They proved this by using one of their own chips to aid the process of making further CPUs in the Intellec 4 computer. The chip was also used in the first microprocessor-controlled pinball machine. Although small computers did exist prior to the invention of the microprocessor, such as the Kenbak-1, they were slow, cumbersome, used many chips and weren't particularly versatile.

The premise of a personal computer is one that can be used by an individual, is easy to use, and is cheap enough for a person to buy. Before this time, computers were generally huge, expensive, and owned by companies or institutions. If someone wanted to use a computer privately, they had to buy time credits to use one. Bill Gates famously began his computing career by hacking such a computer so he could use it for free. This is another premise of the PC: if it doesn't do what you want it to do, find a way to make it so!

The MCM/70 [source: wikimedia]
One of the first computers that was described as 'personal' was the MCM/70, which was demonstrated to the press in September 1973 (although not commercially available until a year later). It was based on Intel's successor to the 4004, the 8008, and was designed to solve the inefficiency of multiple users sharing processing time on a mainframe. As far as I can tell the MCM/70 only had one use - to write programs in APL, a scientific language used for complex calculations and mathematical analysis. As such, most users were still big companies and the military i.e. the same types of users that were on mainframes previously. The only thing that really qualifies the MCM/70 as 'personal' is in the literal sense, as it didn't make computing available to the masses.

The MITS Altair 8800
[source: altairclone.com]
That honour goes to the Altair 8800, a computer you could build from a kit. It was based on Intel's latest CPU, the 8080, as the MITS engineers felt the 8008 was not powerful enough. Although low sales were expectated, the Altair was snapped up by hundreds of thousands of hobbyists. One key aspect of the Altair was its bus (the way data travels between the CPU, the RAM and other components). Completely by accident, the computer had to be designed in such a way that all these components were on removable boards. This led to the use of something called a 'backplane'; a dedicated circuit board with connector sockets on it so that cards could be plugged in, expanding the functionality of the computer. The S-100 bus was born and became the de-facto standard on subsequent PCs for a number of years. It allowed many computers to use the same hardware add-ons, and was technically the first standard many manufacturers claimed 'compatibility' with.

Using the Altair was an experience that most people will never have to endure. Commands were fed into the computer by configuring the switches on the front panel so they corresponded with whichever opcode (from a list of instructions the CPU can carry out) the user wanted. Some data would then usually be entered and so on. You would eventually receive visual output in the form of an array of LEDs on the front panel and you would have to attach a terminal if you wanted to view output on a screen. Altair BASIC, the computer's programming language, was written by a couple of guys called Bill Gates and Paul Allen from a company called Micro-Soft.

Anyway, the Altair sold many more than was expected, and basically kicked off the microcomputer revolution from which all others followed. Being able to write and read machine language in binary, however, restricted these 'first generation' PCs from achieving wide popularity, limiting their audience largely to hobbyists and scientists. In the following months, rapid advances in technology, along with low component prices, made it possible for the next generation to introduce a keyboard and a monitor for input and output of human language. BASIC found itself as the standard for programming, and computers could now plug into a regular TV.

An original Apple I [source: wb.com]
The first meeting of the Homebrew Computer Club took place in March 1975 in Silicon Valley and was initially formed to help Altair owners build their kit. It also attracted a number of enthusiasts with a background in electronic engineering and programming. One of those enthusiasts was Steve Wozniak. He, like Gates, also got into trouble at school for hacking the institution's computer system but eventually graduated from University and got a job at Hewlett Packard designing calculators. After seeing the Altair, Woz designed the first Apple computer in 1976, financing and constructing the first 50 boards with the help of his friend, Steve Jobs. Only 200 were made in total before the Apple II was introduced a year later.

1977 was the year the personal computer really came into being and, depending on who you ask, one of the following three computers has a claim as the first genuine PC:

The Apple ][
[source: computerhistory.org]

The first Apple was not a 'proper' computer. It didn't have a case, a keyboard or a power supply. The second Apple did. Most importantly, where hobbyists had been the previous market of small computer makers, the Apple II was aimed at businesses and home users. It could be connected to a standard TV, included a pair of paddles for gaming and could display colour, which was unheard of among consumer-grade computers. The inclusion of Apple's version of BASIC in the computer allowed users to write their own programs without having to buy any additional software, and a cassette deck could be used to store data. The Apple ][ was also the first computer that had a 'killer app' i.e. a piece of software that was so useful you bought the computer just to have it. That software was Visicalc, the first digital spreadsheet. It caused an explosion of sales: between September 1977 and September 1980, this one computer took Apple's sales figures from $775,000 to $118 million, and the rest is history.

The Commodore PET

[source: deusm.com]
Folklore has it that Steve Jobs attempted to sell the Apple ][ concept to Commodore, a major manufacturer of calculators at the time. They considered Jobs' offer to be too expensive and Commodore's notorious owner Jack Tramiel demanded that his engineers come up with their own computer in 6 months. The PET 2001 was the first all-in-one home computer, with a built-in monitor and tape drive. Where the Apple ][ sold well to home users, the PET took a stranglehold on the North American education market, thanks to its rugged build quality.

The Tandy TRS-80

[source: wikimedia.org]
The final member of the 'Trinity of 1977' was the TRS-80. You've probably heard of Radio Shack, perhaps by watching the film Short Circuit or something like that, who had a chain of over 3,000 electronics stores in North America owned by Tandy. Again, the Altair provided the inspiration behind this computer, which started development in 1976 and was originally meant to be a kit. Based on the fact that 'too many people can't solder', Tandy's engineers decided instead to create a pre-assembled computer. Their timing was perfect. It seemed everyone wanted a computer in 1977, and Radio Shack stores took a quarter of a million of advanced orders. Thanks to having its own factories, distribution networks and retail stores, Tandy were able to get their new computer out of the doors by Christmas and apparently outselling the Apple ][ by a factor of 3,

Sources

Thursday, 29 June 2017

System Profile: Acer AcerMate 386SX/20N [Part One]


A few years ago I acquired a 386 system for 99p from eBay. It was an Acer AcerMate 386SX/20N. I don't know why I got so excited about it - I think it was because it very closely matched the spec of my first PC, which was an Ambra 386SX/25 with 2MB RAM and a 40MB hard drive. I played A LOT of games on that system so this one would make an excellent replacement. This system was a very similar spec and even came with Windows 3.11 installed, along with DOS 5.0.

The seller's pics intrigued me because there was an expansion card in one of the 2 ISA slots, but I couldn't quite tell what it was. It looked like a sound card of some vintage, as it had a DB-9 port and what looked like two 3.5mm jacks. I was wrong. It was an 8-bit network card with an AUI port and two holes in the shield (for activity LEDs, presumably). Nevermind. (I have since replaced this with a 3Com Ethernet card.) Nonetheless, this turned out to be quite an intriguing system.



Its design is completely modular and you can remove all serviceable parts without the need of a single tool. There are two catches under the front panel that allow it to be rotated up and removed.


Once this is gone, the top case needs to be unlocked via the two blue sliding catches on either side. I would worry about these in the long-term, as they are a bit stiff and could be broken if the plastic becomes brittle. With a bit of a shove, the top case slides backwards and lifts off.


This allows easy access to the RAM slots. The expansion slots are located on a riser in-keeping with the small form factor.



Note the metal bar passing alongside the speaker, by the floppy disk - this is the mechanical power switch for the system.


The drive cage and proprietary power supply can also be easily removed from here, revealing the motherboard, which appears to be LPX, but is referred to as 'proprietary' in The PC Engineer's Reference Book [source: hp64000.net].


Note the use of what appears to be an MCA slot for the ISA riser. There were a lot of these floating about when non-IBM MCA systems didn't materialise in any great number but slot-makers had already manufactured a butt-load. They were also used for VESA Local Bus. Also note the empty sockets next to the BIOS ROM chips. More on those later. Also, it needs a good clean.

All the elements of the system are integrated into the board:
  • Intel 386SX 20MHz CPU with socket for co-pro
  • Dallas RTC (which I replaced as it had a flat battery)
  • 1MB RAM on-board (I think) plus 4 slots for 30 pin SIMMS
  • Acumos AVGA1A video chipset with 256KB memory
  • Floppy drive controller (3.5" floppy drive included, 2nd drive optional)
  • Fixed disk controller (3.5" Connor drive included, optional upgrade)
  • 2x ISA slots
  • PS/2 mouse and keyboard
  • DE-9 serial
  • DB-25 serial
  • DB-25 parallel
  • DE-15 VGA
  • Fan header (for the single fan blowing over the RAM)
Even power for the drives is distributed, via a Molex connector, from the motherboard itself rather than the PSU, something I've never seen elsewhere. The PSU is a 43W Delta unit with passthrough for monitor (which I opted not to take from the seller - I think it was faulty and I don't need anymore CRTs).

Lots of people complain about the Dallas real time clock, but they're not that much of a pain. Of course, compared to a coin cell, they're less convenient and more expensive, but they're a hell of a lot better than a barrel battery as there's zero risk of the board being corroded to death.

There are some extra features on the motherboard that are hard-wired:

J15 - CPU Speed Selector
I'm guessing that there was a 16MHz variant of this system and that this jumper was set at the factory depending on which model was installed. The CPU crystal dictates the speed and the jumper controls some kind of divider. Given that it's located on the opposite side of the board that would make sense. This makes me wonder whether I could replace the 40MHz crystal for a 50MHz one to overclock to 25MHz (although I believe AMD CPUs of this class behave better when overclocked).


These ones are interesting. Aside from the typo (it should say 'precharge'), J13 is for another factory-set option. I know that CAS and RAS are to do with how frequently the RAM is refreshed, and a bit of digging pointed me in the direction of this patent, detailing the 'invention' of half-wait states. The explanation for this is that integer wait states were previously adequate for CPU speeds but, with the advent of faster 286 models and the 386, performance gains could be had by using N+0.5 wait states, where N is a whole value between 0 and 4. Given that this board is set to the quicker '1/2T' setting, I would guess this was set according to the CPU speed being 16 or 20MHz.


Having written the above, I rediscovered this post by a Chilean member of the Vogons forum. He found a Unisys PC apparently with the exact same Acer board within it, complete with typo and everything. His system, however, came with the 16MHz CPU, 32MHz crystal and, sure enough, it's set to 1T:

[source: user 133MHz via Vogons forum]
Interestingly these systems appear to use the old method of using two chips for the BIOS ROM, one for odd bits and one for even. I understand that this was IBM's solution to providing 16-bit access to 8-bit chips when the 286-based AT was introduced. Why they didn't just use a 16-bit EPROM is unusual.

There are also sockets for 'Shell ROM' and 'DOS ROM' to the right of the BIOS. I can't find any info whatsoever on what a shell ROM would do but, given that it's just the *nix term for 'command interpreter', I'm guessing this system could support an embedded version of either Linux or DOS. Without documentation it's hard to tell.

And that brings me onto my next point. The strangest thing about this system is the apparent complete lack of documentation available. In fact this is page is probably the most comprehensive source of info on AcerMate systems anywhere on the Internet. Considering it's from a major manufacturer, who are still going today, you would think that a manual would have survived somewhere in some form. My search will continue but, for now, the only documented record of a manual is in the State Library of Queensland in Brisbane. The lack of an electronic copy suggests a lack of surviving units and, therefore, a lack of end-user enthusiasm for these machines. This general lack of information, the modular design, form factor, and budget pricing suggest that this system was picked up by businesses who wanted to equip a workforce cheaply. Given that governments, businesses and corporations tend to write off and recycle most of their old kit, that would explain the lack of these systems in the wild. The only references I've found to this class of system so far in the press are the following:

[source: Computerworld, 11th May 1992]
[source: InfoWorld 27th July 1992]

So it appears that the network card it came with was a stock option on the N model and I have subsequently upgraded the hard drive to a larger model, but the BIOS restricts the size to 500MB.

At least I managed to find some technical documentation detailing the jumpers on the board:
[source: The PC Engineer's Reference Book Volume 2: Motherboards]

This means I have the option to upgrade the Acumos chipset (later acquired by Cirrus Logic) by disabling the internal graphics but no other options to speak of. And I don't know whether I would call any ISA alternative an 'upgrade'.


The BIOS itself is nice and simple. It's by Acer themselves, rather than AMI or Phoenix, and provides not only the usual configuration options but also a low level format option for the hard drive, should one be installed. Interestingly, PCem has the 25MHz model of the AcerMate on the list of machines it can emulate, although it looks like the graphics chipset differs [source: bitbucket.com].

Later models based on the 486 and beyond had a slightly more standard case, which could accommodate a CD drive plus another 5.25" device (or a 3.5" device in a bracket). Note the unusual placement of the hard drive in the final pic.

Acer AcerMate 600 [source: izhevsk.ru]

Internal view of RAM, CPU and ISA slots [source: izhevsk.ru]

Top-down view illustrating placement of components, including what appears to be a Sound Blaster 1.5 [source: izhevsk.ru]
Despite the lack of official information, it seems there are a lot of AcerMates floating about the Internets, particularly in Russian museums it seems. I found another article here, written by a Russian enthusiast, which sheds a little light on why these systems seem to be so prevalent in Russia. While retelling the ramblings of the friend he acquired his AcerMate 450s from, he says 'then followed the story that this Acer was at a time in any financial institution (maybe even the ministry?), the bank and the FSB, and even in all these places at once'. Google translate not doing the Russian language any justice whatsoever, but giving my theory of who bought these systems some credence.

In terms of the games I would play on this system, this would be based on what I played on my first computer in 1993 and in 1994 prior to upgrading. Most are early VGA games, plus some EGA examples, that ran quite comfortably. Given that the 486 had been around for about 4 years by this point, and the Pentium was not far off, games were already starting to push the limits of the hardware and some were appearing on CD-ROM. As a result, I played quite a few games that didn't perform brilliantly on my lowly 25MHz 386, so they would perform even less well on this Acer system. Plus I only had a 40MB hard drive so was limited in what I could install. Anyway, here's a list of games with links to the excellent mobygames.com and the year they were released, with some images:

Beneath A Steel Sky Car & Driver Alien Carnage
CD-Man Duke Nukem F29 Retaliator
Grand Prix Circuit Jazz Jackrabbit Lemmings
Major Stryker Paranoid Sensible Soccer
Speedball II T2: The Arcade Game Wolfenstein 3D


Alien Breed (1993)
Alien Carnage aka Halloween Harry (1993)
Alone in the Dark (1992)
Beneath a Steel Sky (1994)
Bio Menace (1993)
Cannon Fodder (1993)
Car and Driver (1992)
CD-Man (1992)
Commander Keen Series (1992)
Desert Strike (1994)
Doom (yes, really, but in a postage stamp) (1993)
Duke Nukem Series (1991)
F117A Stealth Fighter 2.0 (1992)
F29 Retaliator (1990)
Formula One Grand Prix (1992)
Freddy Pharkas: Frontier Pharmacist (1993)
Grand Prix Circuit (1988)
Hocus Pocus (1994)
Indianapolis 500: The Simulation (1989)
Jazz Jackrabbit (1994)
Jetfighter II: Advanced Tactical Fighter (1990)
Knights of the Sky (1990)
Krusty's Super Fun House (1992)
Lemmings (1991)
Lotus: The Ultimate Challenge (1993)
Major Stryker (1993)
MegaRace (1993)
Mortal Kombat (1993)
Paranoid (1993)
Pinball Fantasies (1994)
Project-X (1994)
Seal Team (1993)
Sensible Soccer (1993)
Spear of Destiny (1992)
Spectre (1992)
Speedball II: Brutal Deluxe (1991)
Syndicate (1993)
T2: The Arcade Game (1993)
The Duel: Test Drive II (1989)
Theme Park (1994)
Wacky Wheels (1994)
Wolfenstein 3D (1992)
X-Wing (1993)
Zone 66 (1993)
Zool (1993)