Apple II emulation

I briefly looked into this, a little over a year ago. This time, I took a little more time and was more successful. I Found and downloaded two Linux emulators…microm8 and linapple.

The Apple II is so iconic…how could I not look into it? The TRS-80, Apple and Commodore Pet, were the 3 most popular computers that came out in the late 1970s. I was very interested in the Apple at the time, but the price was one deciding factor in choosing the TRS-80. For some reason I was never that interested in the Commodore Pet. I was later very interested in the Commodore 64 and also the Amiga. Strange thing I often forget the Pet, the 64 and the Amiga are from the same company.

This is my first go at Apple II emulation, so some mistakes and/or wrong guesses, are inevitable.

It seems to me that when you 1st start the Apple, it looks for a disk drive. If not there…you can press RESET to boot into BASIC. linApple works like this. microM8 doesn’t, instead you use their tacky looking intro screen.

microM8

microm8 made me a little nervous, because it was an executable and I saw no checksum. sha256sum?

I took a chance and ran it after disconnecting from the Internet. To me, the startup screen was too busy. Too many fonts and graphics. Like tacky early HTML web pages.

I typed and ran a simple BASIC program. The Apple II uses Applesoft BASIC.

10 I=I+1
20 PRINT I,
30 GOTO 10

Pressing CTRL+C stopped the infinite loop.

Because of my executable nervousness…I paused further exploration for now.

OK I saw a Tom’s Hardware review of this. So I tried it.

One thing I like (over linApple) is copy&paste…

copy…drag over text
paste…shift+CTRL+v

One thing I hate is their online requirement. You know just like a real Apple…NOT!

The have a large collection of software…BUT

You have to be online to access it. I hate control.

linapple

You compile it yourself…no provided executable. Still no checksums but it was on github, so that made me feel somewhat better.

So after playing a little bit, here are a few things I learned.

./linapple -f start fullscreen, the default startup screen is way too small…IMHO.
CTRL+F2 – to reset/reboot
F3 load a .dsk file
F6 toggle fullscreen
F12 exit

Typed in the same BASIC program above. But the output looked strange. Found out the RESET included loading a small program. So my program was mixed in with that program. So I had to type NEW first, before typing my program. Then the program run fine.

I made a slightly modified version of the above program…

10 FOR I=1 TO 20
20 PRINT i,
30 NEXT

It also worked.

Unfortunately, I wasn’t able to paste in that simple program above. And when I tried to copy my mouse pointer disappeared. Pressing F12 or F6 brought it back. Actually the rom intro screen says any function key will bring back the mouse pointer.

Evidently this emulator is mostly intended to run roms, and NOT program. Thankfully I was able to paste rather long programs into the TRS-80 emulator. Maybe cut&paste will work in the microm8 emulator. It does!

./linapple --autoboot --d1 ../share/linapple/Master.dsk

The above worked but not sure what the Master.dsk is/does.

I found…here a Donkey Kong rom .dsk [Donkey Kong (1983)(Atari).dsk]

I tried various command line ways to load the disk (below is a shortened no space version of the disk, I also tried surrounding the full name with double quotes)…

./linapple –autoboot –d1 ../share/roms/DonkeyKong.dsk

That didn’t work. Nothing, command line, so far has worked!

Note: linapple lives in /home/bill/Downloads/Computers/Emulation/Apple II/linapple/linapple-master/build/bin/

So I started linapple (from the bin subdirectory) like so…

./linapple -f –autoboot

At this point you can press F3 to load the Donkey Kong disk. You can choose (with the cursor) the full name with spaces and the parenthesis)

After loading the disk, press CTRL+F2 – to reset/reboot. And at that point the game begins! It’s not as good as my old 1982 ColecoVision version, but not bad. Far superior (at a higher cost) graphically to my TRS-80.

Note: As you can see from the Title bar it defaults to Apple //e emulation. The only way I see how to choose a specific Apple emulator, is in the linapple.conf file. I saw no command line option, which seems weird.