Wozanium fix for new Apple 1 Program/Hack

It’s been a while since I found an Apple 1 program that didn’t run on the Brain Board/Wozanium, but there is a new program out for the Apple 1 that uses the ACI for audio out.

http://www.applefritter.com/content/8k-apple-i-ascii-graphics-lunar-lander-aci-audio-hack-0

Copied here, is my post on the Applefritter forum, describing the fix.

This program will not work as is, with versions Brain Board/Wozanium pack firmware less than version 5.2. There is an issue with the the gosubs 750s in the 900 range (at the end of the program). Those gosubs call directly into the original Cassette interface driver to generate sound. This driver is still present in the Wozanium PROM, but is incompatible with Apple II hardware and will crash the system.

There are several fixes available.

1) remove the call 750s at the end of the program. LInes 900 and 910.

2) Change the pokes in line 999 to call the Wozanium A2 cassette Driver at 0xd0d7:
999 POKE 750,169:POKE 752,32:POKE 753,215:POKE 754,208:POKE 755,96:RETURN

3) If you have a PROM burner, fix the Wozanium cassette driver to work with the A2 hardware by erasing a bit in the PROM – change location 0x01EA in PROM from 0xBC to 0xAC.

4) If you don’t have a PROM burner, send your board or prom back to me and I’ll erase the bit for you.

With fixes 2, 3 or 4 in place, you can attach a preamp to the cassette output of the Apple 2 and get the same sounds as if you were running on an actual Apple 1. It’s kind of funky because the A2 has a built in speaker, which is bypassed, but it works.

If you are running a Wozanium PROM image in an Apple II emulator either:
1) remove the call 750s at the end of the program. Lines 900 and 910.

2) change line 999 to call the Wozanium ACI driver at 0xd1d7:
999 POKE 750,169:POKE 752,32:POKE 753,215:POKE 754,209:POKE 755,96:RETURN

Finally if you don’t have a preamp for the cassette output, there is an inexpensive design on my website that will work for this application.
http://www.willegal.net/preamp/preamp.htm

Complete Information on MM5740 Keyboard Decoder Found!

I’ve done several online searches for a complete MM5740 data sheet over the last several years. There is a version that can be found on many of the data sheet archive search engines, but it is missing at least one page, containing crucial information. I knew it was part of National’s MOS/LSI data book from the mid ’70s, but I couldn’t locate an online version of that book, and I really didn’t want to buy a physical copy. One of the key questions that couldn’t be answered with the existing online data sheet, is what exactly is the difference between the AAC/AAD/AAE/AAF versions.

Finally while exploring the possibility of using an AVR as a replacement decoder for the MM5740, I did another search and the data book turned up as a PDF at bitsavers.org. The last page of the data sheet show that the AAE version has N-key rollover and the AAF version has 2-key rollover. Otherwise they are the same. This means that the AAF version should be usable in the Apple/Datanetics keyboards, only with the loss of the n-key rollover feature. Also, in this data book are some app notes, that provide information on the AAC and AAD versions. Those versions decode the matrix differently, in order to make using an external PROM decoder simpler. They will not be compatible with Apple/Datanetics keyboards.

Once I figure out the best way to cut it out of the complete data book, I’ll put a copy of the complete MM5740 data sheet and associated app notes up on one of my web pages. For now, you can try to download the complete National MOS/LSI data book from bitsavers.org. Recently, I’ve have trouble accessing that site, but if you are persistant, you should be able to get through.

Banner day for my retro-computing hobby – historic images added to website

An image of an original SCELBI stock certificate was sent to me about a week ago, by early SCELBI employee, Frank Zawacki. More about Frank and the image can be found on my SCELBI page.

http://www.willegal.net/scelbi/the8008andScelbi.html

Wendell Sander sent me an incredible scan of an original photo used in an early Apple 1 ad. A lower res image of this scan has been added to my registry page.

http://www.willegal.net/appleii/apple1-originals.htm

Also, earlier today, I was lucky enough to have a brief chat with Jon Titus of Mark-8 fame about an Apple ][ project I have had in the works for a while. Jon seems like a great guy and was very accommodating. Hopefully I’ll have time to make more headway on this Apple ][ project, so I can share the details with readers.

“Retro 1” Systems

Marty Ewer is now selling “Retro 1” systems on ebay for $249. They are fully tested Apple IIe computers equiped with my Brain Board. If you are looking for the easiest, least expensive way to an authentic Apple 1 experience, this may be it. In addition, you get a working Apple IIe in the bargain. Search for “Retro 1” under user “shockwavetechnologies” on ebay.

http://www.ebay.com/sch/shockwavetechnologies/m.html?_nkw=%22Retro+1%22&_sacat=0&_odkw=retro+1&_osacat=0&_trksid=p3911.c0.m270.l1313

Brain Board 74LS244 Grounding Issue

The Brain Board review in Juiced GS included a description of a bad 74LS244. I have had one other report of problems with the Brain Board in an Apple IIe. In that second case, I had that person send back his board, twice. Though I wasn’t able to reproduce the problem in my Apple IIe with his board, I tried two different repairs, the second of which seems to be successful. The first was a simple swap of the 74LS244, which helped, but didn’t completely eliminate the problem.

After further analysis, I determined that the grounding of the 74LS244 is less than optimal on the Brain Board and switching on of the 74LS244 causes a lot of noise on the ground. Apple boards that use a similar data bus driver circuit (Apple FW card & Super Serial) also exhibit this switching noise. The stock Brain Board is somewhat worse in this regard. I found that adding an additional ground wire on the 74LS244 reduces noise to levels lower than the Apple FW board and appears to solve the problem.

This intermittent operation is typically seen as random characters input while at the console prompt, while not actually typing on the keyboard. If you notice this problem, add a wire between the ground pin of the 74LS244 and the ground lead of the decoupling cap near the other end of the edge connector.

Here is an image of a board with the fix applied.

brainboard 74LS244 ground wire fix

brainboard 74LS244 ground wire fix

One more word about this problem. Though I didn’t know of any issue with the ground, when laying out the production Brain Board, I considered shortening the ground connection to the 74LS244, running it across the center of the board, instead of the top. This change might have prevented this issue. However, I decided that, since, in several years of operation of the prototype “Brain Board”, I had seen no issues, that it was unnecessary. This is a case where the “if it ain’t broke, don’t fix it” approach, was the wrong approach. For now, the one wire fix will have to do. If I make another run of these boards, the ground trace will be widened and rerouted using the shortened path I considered before.

Also because of this issue, I’m going to have to make major changes to the layout of the protoboard that I have described earlier in this blog.

Wozanium Pack Source Code and Rom File Suitable for A2 Emulators Released

Ken Gagne was kind enough to take some Brain Boards out to K-fest and sold them at the vendor fair. Do to these extra K-Fest sales, I’ve now managed to cover my costs in producing the “Brain Board”. Thanks to everyone that has purchased one (or more) of these units.

Because I’ve covered my cost, and it might be interesting to some folks, I’m now releasing the source code for the Wozanium pack.

Also included, is a ROM file suitable for emulators, such as Virtual II. This allows you to run and debug Apple 1 software in the Apple II emulator environment. Just select the .ROM file as the ROM for your machine and reset your virtual machine. Just as in the Brain Board, right arrow will clear the screen. With Virtual II, you can download AIF files of A1 basic and assembly language programs and run them in your emulated Apple II, using the emulated cassette interface built into Virtual II. Note that this ROM version does not include the ACI driver at C100, so you must enter the Cassette driver by entering “D000R”, instead.

You can build the source with the 6502 DASM cross assembler.
Use the following command line:
“dasm a2a1emulv5_1.asm -DBLD4ROMBD=0 -DHUSTNBASIC=0 -oa2a1rbh.o -la2a1rbh.lst”

Included in this zip is

* a1basic-universal.asm – Apple 1 BASIC modified to run on Brainboard/Wozanium (note copyright at beginning of this file)
* COPYING.txt – GNU lincense for rest of Wozanium pack
* a2a1emulv5_1.asm – Wozanium source code
* a2a1emulv5_1.lst – Listing
* a2a1emulv5_1.o – Object file
* a2a1emulv5_1.rom – 12K rom file that can be used with A2 emulators, such as Virtual II.

Click a2a1emulv5_1.zip to download Version 5.1.

More about the Brain Board can be found at:
http://www.willegal.net/appleii/brainboard.htm

Whacky 8008/Scelbi Emulator Project

Before I actually build a pilot batch of the Hobby cards that I have been designing, I need some pilot projects to try it out with.

One of these projects is kind of off the wall. I’m working on an 8008/Scelbi emulator that runs in a Unix type shell. Eventually I’ll port this to the 6502 and be able to run it on the Apple II. The 1MHZ 6502 in the Apple II is well over 5 times faster than an 500KHZ 8008, so this isn’t as crazy as it first seems.

Eventually a brain board version seems like it would make sense. In order to get the full Scelbi effect, I’ll also need to build a replica Scelbi front panel. This is where the hobby board comes in – as the hobby board becomes the interface to the replica Scelbi front panel from the Apple II runing the Scelbi emulator in the brain board. wow -I’ll be surprised if anyone made sense of that last statement when they first read it.

If you don’t know what a Scelbi is, check out the wikipedia entry.