Emulator Adventures on Atari !!
This is yet another article taken from the running order for the defunct Alive 15, a freshened up and make up painted corpse with a few new surgical extensions added to the extremities. Anyway I hope that reading it is more appealing than I've managed to make it sound. At the very least it's a useful refresher for a few things which might have been forgotten and overlooked, especially by PeP! CiH, Sept 2011, from the Sunrise Demo Party, Luton, England. (Subsequently and finally finished in November 2012!) X128.. Peter started his drive to get as many classic retro-platforms running on the CT60 series as possible last July, with his port of the well known 'X128' ZX Spectrum 128k emulator. In my opinion, this was over a decade overdue, as we had a very good Speccy 48k emulator hand-coded by Christian Peppermuller back in 1994, but he had ducked the whole 128k question before disappearing again. As events subsequently transpired, this was quite a big capability gap, as a whole new demo scene was built on the back of the 128k Speccy. With this emulator, and all the others under discussion during the course of this article. Events have moved on to the point where there is little gain to be had from hand-coding an emulator from scratch. At this point it is sensible to port over the code from something pre-existing, which has had years of work in getting it accurate already. Where that loses out, is that the hardware requirements are a lot heavier than in years past. On the other hand, a large proportion of the remaining active people have upgraded sufficiently by now. So the first version of X128 arrived on the 1st of July 2007. There have been several updates since. X128 works on a 'drag and drop' principle, in common with his other ports. So you take the applicable image file (.SNA or .TAP whatever) and drop it onto the .GTP application and it should run. The majority of the time it does, and the emulation seems to be accurate enough to play many of the most recent demos. Until the latest version, there was a difference from Peter's previous emulator ports, as this one ran in a window on the desktop, rather than going to fullscreen mode. This has been amended for the latest release version (5). It works primarily for Mint, but co-operates with Magic as well. For this emulation, and the ColEM and fMSX ports, the 'multitasking' aspect of their operation has been taken seriously, for at least under Mint it is possible to click on another application on the desktop whilst X128 is running if windowed, and the emulator will pause until the window it is running in is brought back out of the background. Compatibility appears to be good. The Speccy 128 has a cousin of the ST soundchip after all. I haven't as yet exhaustively tested it, and my testing tended to be demo-centred with only a few games tried. However, from memory, Captain Blood ran ok. (2011 note: I tried a few more demos on my revived CT60 and found that it made a fair fist of even the very difficult productions such as 'Mescaline' which needs very precise cycle accurate hardware emulation to carry off.) PeP has included what he terms as 'experimental' joystick drivers which have to be set up in a specific location within Mint. These are intended to work as universal drivers for his other emulator ports from here, including the MSX, ColecoVision and NES ports, and possibly others in the future too. In reality I haven't got around to setting these up just yet, so my reporting from the games side of things is limited, unless there was a keyboard option originally. Out of all of the emulators, Peter has done the most with X128, it is up to version 5, with a number of bugs removed, keyboard and joystick emulation fixed, and with the fullscreen mode, made a lot more responsive in general. ColEM... His next port, and a total surprise, was the 'ColEM' ColecoVision emulator. This is based on an emulator core written by Marat Fayzullin. The ColecoVision being a second generation Z80-based console, with graphical and sound capabilities pretty much on a par with a decent 8-bit home computer, closely matching early Sega hardware and the MSX series of computers. Like X128, ColEM is intended to be used primarily with freemint, but seems to be ok with MagiC as well. The method of operation and windowed output to the screen is identical to X128 as well. Here, the issue of joystick drivers is even more to the forefront, as this game console emulator will not be going anywhere without it. I got title screens and attract sequences from various games (Donkey Kong springs to mind) and this would be perfect with the Jagpad, but there are no demos or other non-gamepad using imagefiles to run on it. fMSX... The third port, released in a stunningly short timescale was the MSX emulator, fMSX, with the original core authored by the gentleman who wrote the ColEM emulator above. This operates in an absolutely identical manner to the two previously described, so no point in repeating oneself yet again. Or in Peters disclaimer "Usual stuff, jerky keyboard, joystick requires separate freemint driver etc, only runs in a window in 4 or 8 bit colour etc. Full screen drivers are almost ready, but not quite yet." He furthermore cautions, "I've never owned an MSX computer so I can't really tell if stuff is working as intended. YM sound seems to be emulated properly, but there is no support for other sound chips."
fMSX emulator running on my old CT60 system. From my limited testing, yes it seems to be ok. fSMX can support a variety of images, including floppy disk images and ROM image files. So far, I managed to get the .ROM files working ok, but the disk operating system still needs some further research and learning to get that to run properly. From my previous Alt Party experiences, the MSX could host some really wicked demos, the name 'Bandwagon' springing first to mind. fMSX emulates bother MSX 1 and MSX 2 series. So this is one to persist with. PeNES 0.01.. Some time later, in fact at the 2008 NAS in Sweden, Peter released the first version of his Nintendo Entertainment System (NES) emulator, the rather unfortunately named 'PeNes', giving rise to a whole bunch of jokes about 'playing' with it. It is based on the 'NESCore' emulation, currently has no sound, and uses the same Mint-embedded joystick routines. There is also keyboard support included for those of us who hate tinkering with mint directories! I haven't tested it yet, but I guess it works well enough on a CT60 class of Atari. It uses a common .NES image file format, which is handy. 2011 note:- When I tried to run this, it went to a TFT-unfriendly video mode (not VGA 60 Hz in other words) and bleated an 'out of frequency' message on the screen. However, when I got it to go windowed, it was persuaded to run some short demos and a longer production 'Quantum Disco Brothers' by Wamma. This mostly worked but I think something went wrong about two thirds of the way in? More time will need to be spent on this one as the 'experimental' nature was all too apparent! Other points of interest... I spotted a windowed version of his Sega Master System and Gamegear emulator (SMS) running in a windowed mode on his Hades system at Outline '08. This may have been rewritten to work in a fashion very similar to the X128 family? There was also a brief discussion on the CT60 forums on DHS in August last year about a possibility of porting a more efficient generic Z80 processor emulator for more general useage in many of his emulators. "There is another 68k Z80 engine that looks really promising. It's written by Gunter Woigk and emulates a 4Mhz Z80 on a 30Mhz 68030. So far I haven't managed to get it up and running, but if I do, I hope it could be modified to run with SMS, fMSX, x128, and other Z80-based emulators." If this were to get anywhere, and a lot depends on how much the existing emulator ports could be modified to take this new Z80 engine, then it would bring the likes of the TT and CT2 Falcon within reach of a decently running emulator, and at a push, other boosted Falcons as well. Peter was going to investigate further, depending on time factors, but we're not holding our breath! Whatever the future holds, I'm sure there will be still more to come!
And here's the surgical add-on bit. There hasn't been so much overt activity in the last few years, PeP concentrating on other things, the porting frenzy appears to be on hold at the moment. My favourite candidates would include things like a more finished Commodore 64 emulation, Amstrad CPC and BBC computer emulations, to pick a random few off the pile. He is still talking about redoing the ZX Spectrum 128 emulator with the optimised Z80 core. Maybe we should tweak his arm a bit at the next party we see him at? However, other things have been happening, the (relatively) vast power of the CT6x series gives access to ports of other interesting things such as the Sierra Online games engine. Also some of the older emulators still hold up well when new releases for the host platform arrived in the last couple of years. These are their stories. ScummVM.. ScummVM was tested with Atari hardware and others such as Aranym. We managed to get some initial success running on my old G4 PPC Mac and Aranym. This was also tested on my Centurbo 2 series as my CT60 was taking an extended 'holiday' at the time of initial testing back in 2011. The game we tried it with was 'Flight of the Amazon Queen'. This is very much an example of gameplay including movie style film-like intro animations.
King was having a Scumm-tastic time in the Amazon Queen adventure! The speeds definitely reflected the limited power of the systems they were first tested on. The opening movie sequences were embarrassingly slow at two or three frames a second and ran at a broadly similar speed on both machines. There is sound output. The original PeeCee soundcard is faithfully emulated as well. The music is subject to some slowdown and speech samples, where present, tend to stutter. ScummVM was even obliging enough to run itself off a CD-ROM on the real Atari. The game itself, a point and click arcade adventure style was slow but still reasonably playable. It also runs on my newer i5 powered Mac under Aranym and lately on my new CT60 with the CTCPI and Radeon extended screen modes. In both cases, the view is windowed and the game starting sequences are a bit faster than before, but still terribly slow, even taking this to the JIT version of Aranym. As the marginal improvement in performance does not bear any resemblance to the difference between the CT2 and CT60 power levels, further investigation is needed as to what is holding ScummVM back on the higher powered machines at this point. Top marks for the port co-operating with the CTPCI though. Bobs Stuff games for the ZX81.. There is a nice chap called Bob. He has an appetite for writing new games for old computers, such as the Sinclair Spectrum and latterly, the Sinclair ZX81. A website url will be provided for the end of this bit of the article. Anyway, there is already a ZX81 emulator for the Atari ST series and above from some time ago. This goes back to the early nineties, worked pretty decently on a bare ST or Falcon with the classic games that were available, and wasn't subsequently updated in any way. This didn't seem to matter too much for what was effectively a 'dead' system at the time. Later on, the drawbacks became more apparent. Newer stuff, or even those older pieces of software with special hacks to run things like 'high resolution' graphics preferred not to work here. The file naming convention was superceded, and so on. Bob started to release games for the ZX81 in 2010. I discovered the site when three or four games had already been made. Typical of the new breed, 'Virus' offers fast machine code action, blocky but attractively made graphics making the best use of the limited abilities of the ZX81's standard display modes, and gameplay which seems to be perfectly balanced between tension and action. ('Virus' in this case is NOT a port of the David Braben game by the way, but an overhead view shooter very much like the classic 'Into the Eagles Nest'.) Of course, this had to be tried out, so after redoing the filename extension from *.p to *.81 favoured by the old Atari emulator, it only went and bloody well worked! (Michael Caine voiceover off...) Responsiveness to this, and other games tried is good, even on a bog-standard Atari STE. In an email exchange with Bob, he indicated that a lot of the newer cycle-perfect emulators were perhaps not so good at playing the old games and he was pleased that we had got good results emulating on the Atari. This happy compatibility with the Atari's version of ZX81 emulation seems set to continue, and includes the latest release 'Noir Shapes'. This is an adaptation of an XBox 360 game called 'Cool Shapes', and is probably the nearest we'll get to any XBox 360 capabilities! Anyway, here's that URL, Bob's a great bloke. He's even done a ZX Spectrum side scroller shooter, like R-Type on Ascii drugs, called 'LumASCII'! http://www.bobs-stuff.co.uk/zx81.html CiH for Mag, in November 2012.
|