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.

    Civil War Olive Green

    Based on some new photoshop experiments, I’m starting to think I was off on my Civil War Carriage Olive Green assessment. Check out my updated page.

    http://www.willegal.net/iron_brigade/olivepaint.htm

    Also note that I discovered a new City Point Photo on the National Archives pages.

    Napoleon on the ordnance wharf at City Point

    Napoleon on the ordnance wharf at City Point

    This is listed as at unknown location, but it clearly is taken on the ordnance wharf at City Point. You can even see lettering on the carriage that indicates that it came from Washington Arsenel to City Point. The Library of Congress call number is: LC-B811-2582

    A while back I found a photo at the National Archives that was identified as taken at City Point, but was actually taken at Belle Plain. I send an email to the administrators and they said they didn’t have time to verify my assertion and make a change. This item can be found on the National Archives website by searching for ARC identifier 529319.

    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.

    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

    A 6800 based Apple-1 in the future?

    Looks like Eric of http://whats.all.this.brouhaha.com/ is working on a 6800 Monitor for the Apple 1. Several people have talked to me about doing this in the past, but it looks like Eric is really doing it as part of the annual retro-challenge. The obvious question is whether Eric or someone else will configure a physical clone of an Apple 1 for a 6800 and see if the hardware really works as designed.

    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.