Memorabilia 2 – Apple ][

It’s been 20 years ago.

apple-invadersOn July 3, 1994 I subscribed for a small contest organized by RAI Radio Televisione Italiana. Anyone may submit his own software creation, and the prize was a TeleText module for PC.

I sent them my “Apple ][ emulator for PC” and I was awarded.

At that time, Internet still wasn’t known and most TV’s embed TeleText module, capable of receiving data on-the-air. Software broadcasting seemed as an unbelievable thing…then, in a few years, many of us were opening a web browser for surfing on the Internet.

 

My “real” Apple ][.

A step back to 1979.

My very first PC was a Commodore PET 2001: an unbelievable machine with a strange matrix-keyboard, a cassette-tape deck (storage) and a plain-green monitor on the top. Its engine was a 6502 CPU running at 1MHz and 8kB of RAM.

Yes, roughly an Arduino with an user-interface, but with the below exceptions:

  • an Arduino runs way faster;
  • the PET 2001 was particularly useful for the cold-winter days, due the relevant power consumption…

However, this PC was just for few months, then became too useless even for small games.

So, my “nominal” first PC was an Apple ][. In Europe it was marked “Europlus” (someone’d add “proudly built in Ireland”).

However, it came with the “usual” 6502 (actually an awesome CPU), still 1MHz, and 16kB of RAM (immediately upgraded to 48). The cassette-tape was replaced by a 5″ floppy-drive: each medium was capable of 140kB, that is probably less of this post. With a cost of 20000 Lire each (see below for a comparison), a Dysan floppy disk was the “best” on the market…at least for the humans.

I learn a lot on my Apple 2, both software and hardware.

With release of the Apple 2, the Cupertino-guys gave full-featured manuals, detailed hardware schematics, as well as ROM “BIOS” assembly dump. There was no point in the machine that wasn’t well known: hacking it was a real pleasure!

And I did it!…so many times!

Please, notice on the last picture the assembler listing signed by my myth, Steve Wozniak!

I designed several I/O hardware modules, where the most difficult part was the reproduction of the male-connection header: the PCB was the only way.

Along the huge yet worldwide success of Apple ][, they released the Apple //e, which started to fall fairly into the closeness, and so always more. That was the decay of the Apple company, and the rise of the IBM-PC, which moved in the same way as its predecessor: give away schematics and BIOS listings!
I still own my original Apple ][.

 

My “fake” Apple ][ (the emulator).

The advent of PC-XT changes almost everything but the general PC diffusion.

Whereas in the early ’80 there were maybe a dozen students having a PC at home (out of about 1500 of the tech high-school I was), within as low as ten years almost everyone own a PC in their house: mostly an IBM PC-compatible.

However, the Apple ][ was still in my heart!

 

Due to university guidelines, I started to learn Pascal and Fortran. However, Fortran was awful, but (Turbo-) Pascal was awesome, instead. I loved it so much that literally was able to create anything. Whereas the standard Pascal can’t reach something, just open an “asm” island, and mix high-level with assembler code.

No complex “includes”, “.h” or whatever, which I always hated and *still* hate. What are used for? I mean thirty years ago, where the PC resources are very limited, but…today?

I mean, no wonders at all that behind the success of C# there’s the creator of Turbo Pascal: Anders Hejlsberg.

 

So what?

Since my desktop wasn’t enough to place both the old Apple ][ and the PC-AT, the most “reasonable” decision was: “just create an Apple ][ emulator running in the PC-AT!”

It was the early ’90, and I own a 386 machine (I don’t remember the actual CPU speed). However, I loved coding this mixture of “Pasc-asm” that the result was still one of my best creation ever.

Below there is a piece of assembler related to the LDA (immediate) and LDA (indirect, X):

@LDASS: mov     bx, es:[si+1]
        mov     di, bx
        and     di, $FC00
        shr     di, 9
        call    word ptr @LOCRD [di]
        sahf
        mov     cl, es:[bx]
        inc     cl
        dec     cl
        lahf
        add     si, 3
        jmp     @RET
@LDAIX: mov     bx, es:[si+1]
        add     bl, dl
        xor     bh, bh
        mov     bx, es:[bx]
        mov     di, bx
        and     di, $FC00
        shr     di, 9
        call    word ptr @LOCRD [di]
        sahf
        mov     cl, es:[bx]
        inc     cl
        dec     cl
        lahf
        add     si, 2
        jmp     @RET

 

 

Keep going on in the box!

I was able to rescue the old emulator application running even on my today’s Windows 8 64-bit machine. It seems that the old-DOS programs aren’t working in a 64-bit environment, but there’s a solution: DosBox.

DosBox, as always, is the result of a crew of heroes, who thankfully remember that there are still people asking for dinosaur’s stuffs…dino, maybe, but still valuable!

I actually had no problems installing and running my application: I was a bit worried because the total NON-abstraction on write data on video, but…it worked well!

Enjoy this piece of history!

 

 

The price of an Apple ][ computer.

Here is the complete price details of the Apple ][ products, taken from a magazine of the november 1980.

vlcsnap-2014-07-20-07h30m13s160

NOTE: “IVA” is VAT, which was 15% in 1980.

Now, according to this reference, the salary of a generic factory worker was roughly 400.000 Lire. It means that an Apple ][ had an equivalent cost as 5 times a worker salary!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s