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.

One project complete – Datanetics PCBs sold out

Finally, I sold the last of the 10 Datanetics PCBs that I had made last year. I don’t expect to make another run of these since the market for them is so tiny. I guess about the only way that that another run would happen, is if someone is willing to buy an entire batch and finances the whole thing.

I am glad I did this project, as now I have a nice matching keyboard for my personal Mimeo 1.

The one thing that surprised me about this project, is that no owners of original Apple 1s that needed a matching keyboard bought a PCB to build up. Original keyboards appropriate for Apple 1’s are extremely rare and a number of the original Apple 1s don’t have the original keyboards. I’m learning that many people get enjoyment out of owning, admiring and preserving original artifacts, without the risk of operating them. Other people, like myself, get more satisfaction out of operating the old style gear. I think that there is an important place for both types of people in this hobby.

Though the Datanetics keyboard project was a money loser, I am really glad that John Calande talked me into doing it. He also lent me the original Datanetics keyboard he owns, which greatly facilitated this project. Also thanks to Mike Gregory for fabricating the brackets and stiffeners.

Scelbi Layout Started

It looks like I’ll be putting the per cycle Scelbi emulator on hold for a while, since I just started on this:

first draft of IC, resistor and cap placement

first draft of IC, resistor and cap placement

This is what the first rough draft of IC, resistor and cap placement for a replica Scelbi CPU card looks like. In the past, once I’ve started on layout, everything else usually goes on hold for a number of months.

Scelbi/8008 OS/X Emulator Updated

Several serious bugs resolved including:

  • A problem with the 8008 subtract instruction that didn’t correct set the carry bit. This prevented Scebal Basic programs from being larger than 256 bytes.
  • Several problems with serial input/output that could cause pasted or typed input and/or output from behaving correctly
  • Max paste buffer size was increased to 4k bytes, in order to allow pasting of complete or at least large portions of BASIC programs directly into the emulator
  • For instructions and download links see my previous post:http://www.willegal.net/blog/?p=1705

    For fun, try booting up Scebal and running this program:http://99-bottles-of-beer.net/language-scelbal-2472.html

    I’ve also been working on the per cycle emulator so that I can make the emulated toggle switches and leds work correctly.

    Mimeo 1 Availability in the Future

    Here is how I currently manage Mimeo 1 kit availability.

  • In order to keep costs down, I restock component parts only when I run low or completely out of parts. Number of kits available, depends upon if I just ran out of some component or another, and how low the inventory is of all the rest of the required components. Keep in mind that there are 69 different component types in a Mimeo, so I’m usually running low on something. I rarely have on hand complete part kits for more than 3 or 4 units at a time. Frequently I’m down to one or two kits of parts on hand. The good news is that most part types can be restocked within a month.
  • Even though the volume of kits sold is very low, this process is very time consuming. Just as bad for me, the effort required is very dependent on the frequency and timing of Mimeo 1 kit purchases. This makes it very hard to make consistent progress on new projects (like the Scelbi).

  • I would love to move to a batch system, but component availability is so erratic for some of the more hard to find components, that often I will jump on an opportunity to buy a cache of those components at a good price. This makes putting together batches of kits hard to do, since the size of inventory of the various component types is all over the map. Instead of making batches, starting next year, I’ll will probably be less aggressive about keeping Mimeo kits available, especially if I’m busy with a new project. So what I’m saying is that starting next year, Mimeo kits are just as likely to be out of stock as in stock. And they may stay out of stock for a while, if I’m busy trying to make progress on a new project.
  • Scelbi 8H/8B- looking for information

    I’ve been bitten by the Scelbi bug and am working with a small team of folks to seriously investigate the possibilities of doing a limited edition reproduction of the Scelbi 8H and/or 8B.

    Data mining on internet and preliminary “networking” has yielded some good scans of the the main plug in cards, some schematics, scans of the Scelbal manual, etc. However I’m still looking for more information, in particular detailed information on the following.

    1)power supply
    2)TTY interface
    3)cassette interface
    4)the oscilloscope output interface
    4)backplane and I/O connections
    5)software
    6)differences between the 8H and 8B
    7)ROM cards
    8)main and expansion enclosures
    9)documentation

    If you have any information on any of the above, or want to contribute in other ways, let me know.

    While we gather information, I will continue to work on the Mac OS/X 8008/Scelbi emulator. See my recent blog post for information on this emulator.

    http://www.willegal.net/blog/?p=1705

    Version 0.1 (pre-alpha) OS/X Scelbi emulator available

    For the past several months, I have been working on a Scelbi/8008 emulator for Mac OS/X. Here is the first published screen shot of the running app. In this shot it is running Scelbal (Scelbi 8008 Basic).

    Scelbi App version 0.1 Screen Shot

    Scelbi App version 0.1 Screen Shot


    At this time, there are currently 5 mostly working controls available with this app. All other controls either do nothing or react unpredictably.

  • The Memory->Clear menu function will clear 8008 memory to zeros
  • The Memory->Load menu function can be used to load 8008 memory with an intel hex formatted file. I have a copy of scelbal (Scelbi Basic) in this format available to download here. Other 8008 programs could be loaded, but the current assumption is that the PC is set to location 0x40 during reset.
  • The “INT” button will stop and reset the 8008, setting registers to zero, except for the program counter which is initialized to 0x0040. This is not the authentic use of the button, but it was handy for the initial bare bones implementation of this emulator
  • The “RUN” button will start the 8008, or if it is already running, do nothing.
  • The terminal section at the bottom of the window emulates a bit banged serial interface compatible with drivers commonly found with Scelbal. Input is expected to be in upper case. If this window does not respond to input, either the 8008 is stopped, or not currently monitoring the serial port or you have found a bug in the app. Note that unlike a real serial port, input to the port from the keyboard is queued to a length of 256 characters. Overflow conditions are not currently handled gracefully.

    You can download a copy of this app and try it for yourself, but keep in mind that the app is in early prototype stage. It is likely to behave unpredictably, hang and/or crash from time to time.

    The Scelbi/8008 emulation app can be downloaded from here.

    To run Scelbal (basic), do the following.

  • start the Scelbi app
  • clear 8008 memory (optional)
  • load 8008 memory with Scelbal.hex
  • click on the “RUN” button – you should see a “READY” message
  • type “SCR” – this clear’s Scelbal variables – if you don’t do this before entering your program weird things will start happening
  • you can now enter a basic program or basic commands directly
  • Be aware that there are several common 2 character error messages in Scelbal including “BG” for two big and “SY” for syntax error.

    The performance is throttled to approximately actual speed of a 500kHZ 8008. Try executing a “FOR” loop of 0 to 100 to get an idea of the incredibly slow performance of an 8008 running Scelbal. The first version of the 8008 emulator that I had running in a Unix shell environment was approximately 500 times faster than an actual 8008, and even that felt slow!

    The current implementation emulates the 8008 instruction by instruction. If I find the time and energy, I’ll convert it to a cycle accurate emulation and complete the hook up the Scelbi front panel depicted at the top of the app’s window.

    Have fun with it and be sure to let me know what you think.