http://www.deater.net/weave/vmwprod/lemm/ Apple ][ "Lemmings" Proof of Concept This page is about a proof of concept to see if the 1991 game Lemmings could run on an Apple II computer from 1977. This is not a full version of the game, it's just the first ten levels with various changes in gameplay due to Apple II limitations. [lemm2] --------------------------------------------------------------------- Details I was watching a 30-year anniversary video on Lemmings and then a dangerous thing happened, I realized the colors weren't that far off of the Apple II hires palette. So I took a break from my Peasant's Quest project and used all my newfound hi-res graphics skills to see what I could implement. --------------------------------------------------------------------- Videos Capture of version 1.00 on an actual Apple IIe platinum: --------------------------------------------------------------------- Screenshots Note: these were captured with the AppleWin emulator. Level intro screen. On an Apple IIe you get this nice impossible graphics/text split (assuming your emulator supports the VBLANK register): [lemm1] Various levels. Fully playable (though limited to a single screen): [lemm_l1_sc] [lemm_l2_sc] [lemm_l3_sc] [lemm_l4_sc] [lemm_l5_sc] [lemm_l6_sc] [lemm_l7_sc] [lemm_l8_sc] [lemm_l9_sc] [lemm_l10_s] Beating a level: [lemm3] Hard to see, but the destroy-them-all button works and I even implemented some particle effects for the explosion. It's hard to see in the videos as the combination composite->HDMI->USB conversion is really bad at fine details like single-pixel wide particles. [lemm5] Playing on real hardware with an actual CRT, using an actual floppy. That's not artificial aging on the floppy label, rather my laser printer is low on toner. [actual_crt] [lemmings_d] --------------------------------------------------------------------- System Requirements * Any sort of Apple II with 48k RAM should work (II/II+/IIe) * For sound/music you'll need 64k of RAM * For music (and accurate clock) you'll need a Mockingboard sound card * For the split-screen intro messages you'll need a IIe * Should also run on IIc or IIgs but not tested as often --------------------------------------------------------------------- How can I play it? * You can download the image below and then try running it on a real machine. * You can download the image and run it on an emulator. There are many out there, I use Applewin under WINE on Linux (be sure to enable Mockingboard under sound support). * In theory you might be able to play it in your browser at the internet archive here: Apple II Lemm at the Internet Archive --------------------------------------------------------------------- Downloads Disk Image * Here is the disk image for v1.01 (13 April 2022) lemm.dsk (140k) Source * You can find it in the full git repository here: You'll need cc65 to build it. https://github.com/deater/dos33fsprogs/games/lemm You can also read some developer notes in the README. --------------------------------------------------------------------- Controls * WASD or arrow keys move the pointer * space or return selects * 1-8 are shortcuts to choose jobs * J toggles joystick support (not well tested) * ! cheats * ESC quits * On title screen 1-9 selects start level --------------------------------------------------------------------- Expansion Packs Now I have the engine done it's relatively straightforward to make some level expansion packs. * Homestar Runner Expansion --------------------------------------------------------------------- Mini-faq * Q. Are you going to make the full game? A. No. * Q. Can you make more levels? A. Ten fit nicely on one floppy. The levels in the original game do repeat (same background, different number of jobs available, also music repeats eventually) and I could probably hack something up with that, but in the end if you want to try different ways to beat a level feel free to use '!' to cheat and use what jobs you want. * Q. Was it hard to write this? A. Yes, though it went faster than previous projects because I'm amassing a huge amount of useful Apple II code. * Q. Is this the first 8-bit version A. No, it's not even the first 6502 version. There were Commodore 64 versions and Nintendo NES versions. There was even a ZX Spectrum version. I'd like to think this compares favorably to some of those. * Q. Wasn't there already an Apple II Lemmings? A. Sort of like the Portal situation there was a 1980s game with the same name as a later much more popular game. * Q. No, I meant for the Apple IIgs. A. Well yes, but that's a much more powerful machine with larger RAM, graphics, sound, and disk space, and needless to say won't play on my Apple II+. Although LemminGS itself was an unofficial port by Brutal Deluxe. * Q. Should I be impressed by this? Lemmings is an old game. A. If you weren't around back in the 80s, it's hard to describe how quickly computer hardware improved. Lemmings originally was written in 1991 for OCS Amiga and ran on other 16-bit machines. The hardware in the Apple II (mostly unchanged from the original release in 1977) is a much slower, 8-bit, memory-constrained machine with absolutely no graphics acceleration. Atari 8-bit and Commodore 64 have things like hardware sprites and scrolling and timers and vblank interrupts. The Apple II is just a 6502 hacked up with some 7400 series logic gates and a glorified TV-typewriter for graphics output. * Q. Wouldn't this look better in double-hires? A. Yes, an Apple IIe with 128k of RAM can do a double-hires mode with 16 colors that would probably be a bit closer to the original. However if you thought getting good graphics going on HGR was bad, it's possibly exponentially worse with DHGR. Also, I like running my games on older machines like the II+. It's an extra challenge, and also I can avoid comparisons from the Commodore 64 people. * Q. Can I at least play with a mouse? A. Currently there is no mouse support. Mouse is a challenege, especially as usually mice live in Slot #4 and would conflict with the mockingboard. For now you're stuck with the keyboard (or try the experimental joystick support). * Q. But the keyboard support is so bad... A. Yes, that's due to Apple II/II+ keyboard hardware being awful. I could probably do something better on IIe/IIc, or even on II+ by using Mockingboard timers. I'll have to think about it. * Q. Did you write the music? A. No, this is using music by Justin Scharvona from the Atari ST port. Someone had captured the music as YM5 files, which I have a player for (the Atari ST sound chip is more or less the same as the AY-3-8910 chip found on a Mockingboard). * Q. Why are the job numbers oddly offset? A. Apple II graphics happen in multiples of 7 pixels (actually it's even more annoying, it's multiples of 3.5 with color clash). I used the DOS/Amiga graphics as a base and they do things in multiples of 8, so things don't line up. It would take a lot of code to make a number-printing routine that can span 8-pixel blocks. Alternately (and probably a better solution) would just be to squish the job graphics to be 7-pixels wide but that would be extra work. * Q. Is the original author aware of this? A. Yes, so you can probably stop tagging him when I post things. Previous demakes I've done were of US or French games, places with Apple II nostalgia. I don't think many people in Scotland had Apple IIs so this is probably less interesting to them. --------------------------------------------------------------------- Development Notes 13 April 2022 -- Version 1.01 Updated so Apple IIc support works (at least under MAME). This includes Mockingboard music and the extremely touchy VBLANK split/ screen effect. I also tested IIgs support, it seems relatively OK but it also runs fast unless you drop it into compat mode. 13 April 2022 -- Version 1.00 Added animations, and fixed explosions, plus you can play through all 10 levels. I'm going to declare this version 1.0. 4 April 2022 -- Version 0.08 Fix a few regrettable crashing / glitching bugs. Shouldn't be able to crash things anymore by the pointer or lemmings going off the edge of the screen. 3 April 2022 -- Version 0.07 The various jobs should all be more or less functioning, though builders aren't quite like the actual game. The game actually tracks how many of each job you have left and enforces the limits. It prints these too, though they are not aligned well with the graphics due to Apple II 7-pixel alignment issues. A test/cheat mode was added (exclamation point) that gives you more jobs. 31 March 2022 -- Version 0.06 All the jobs are implemented, though the builders need a lot of work, and climbers can vault over blockers. Also have 10 levels now. 28 March 2022 -- Version 0.05 Added level6. Blockers and miners are now more or less implemented. 25 March 2022 -- Version 0.04 More improvements. Can now make floaters, so you can beat level 2. 23 March 2022 -- Version 0.03 Added proper printing of end levels and percentages. Can have up to 10 lemmings on screen at a time (game can do even more, though eventually it gets really flickery). They'll splat now if they fall too far. 20 March 2022 -- Version 0.02 Have backgrounds/music for 5 levels now. Still only one lemming, with digger the only ability. Wasted some time having fun letting the digger try to escape off the screen into main RAM, which ineevitably led to him becoming a being of pure energy before saying something about "ROD" before crashing the system. 15 March 2022 -- Version 0.01 Finally got it released, in the end getting things to fit in 24k was more of a challenge than expected. Of course there's more room than than in RAM/Disk but coding up that extra support code would take a while. ? March 2022 Got the music to play. I could only find YM music, not pt3, so it needs considerable RAM to play. Put it in the language card limiting it to 12k which is about 15s of music at 50Hz, so have to swap out/ decompress the raw samples on the fly behind the scene. It takes more than 20s to decompress a 512 frame chunk so the gameplay will pause briefly when this happens, but at least the sound doesn't glitch. 4 March 2022 Started work on this. Probably have better things I should be working on. --------------------------------------------------------------------- Other Apple II Demakes --------------------------------------------------------------------- Other VMW Software Demos --------------------------------------------------------------------- Other Apple2 Projects --------------------------------------------------------------------- Back to the VMW Software Productions Page