SCELBI App Progress on Oscilloscope Interface

January 15th, 2017
SCELBI APP with Oscilloscope Display Interface

SCELBI APP with Oscilloscope Display Interface

I haven’t been getting very far in improving the SCELBI Oscilloscope software drivers. I think I was blocked, because I prefer not to spend time debugging software with actual vintage hardware. Emulators are so much easier to work with. Finally I bit the bullet and started work on adding Oscilloscope Interface emulator to my 8008 emulator.

I spent a marathon session working on this over the last day and half. This is a work in progress, but at least the 8008 driver I used to initially check out the real thing displays a few characters.

The interesting thing is that the part I feared the most, using the OS/X toolbox to draw the characters, actually has been the easiest part of this effort. OS/X embeds vector graphics primatives into the operating system, so drawing characters with vectors turned out to be pretty simple. Interfacing to the 8008 I/O instruction emulator also has proved to be pretty straight forward. Adding a tab to switch between TTY and Oscilloscope windows, was almost trivial.

I need to emulate the dynamic nature of the oscilloscope interface in order to make the emulator work right. Updating, erasing and changing the display is taking a lot of effort. Keep in mind that with the oscilloscope display, if the 8008 stops driving the output, the display disappears. The operation of the real thing is pretty dynamic, which isn’t something that computer displays do very naturally. There is some kind of animation support built into the OS/X toolbox, but I’m not sure I’m up for finding out if that will make my life easier.

Once I got started on this, I have been thinking about emulating scope controls, as well. By the time I’m done, I’ll might add some simple horizontal and vertical scaling controls, and perhaps some positioning controls. How much I do, if anything, remains to be seen.

SCELBI Keyboard and Oscilloscope PCBs now available

December 28th, 2016

Interface PCBs

Interface PCBs


Note that this is a challenging project and at this point, documentation is not organized. You can download schematics and SCELBI documents from scelbi.com. Documentation is sparse, a few notes scattered among the MEA and SCELBI sales documents. My blog contains some of what I have learned, but not all of it.

The oscilloscope digital card requires rework, which is documented (incorrectly at this point) on my blog. I needed to make changes to the keyboard interface to make my PS/2 keyboard adapter work, and I’ve bypassed a resistor on the oscilloscope analog board in order to make blanking work better with my Tektronix 465. All that said, as far as I can tell at this point, the boards do match the original SCELBI designs.

Software is a work in progress. I’m working on the MEA compatible EPROM code this week. It will be quite different than the example code that I posted on my blog a few days ago.

Cost is $75 for the set of three boards.

I you are not in the USA, add $15 for international shipping.

Send email to mike@willegal.net for more information

PS/2 Adapter Software and Hardware CAD Files Now Available for Free Download

December 26th, 2016

Go to my PS/2 adapter web page to find the links.

http://www.willegal.net/appleii/appleii-kb-int.htm

Support will be very limited. The firmware is actually rather sophisticated for what this device does. Understand that it is completely in assembler, and if you desire to make changes, it would be best if you were familiar with coding in assembler for micro-controllers.

Some scripts are included in the software package that are used to download the firmware, calibrate the built in RC oscillator and burn the fuses using a USB programmer called AVRdude. Fuses and EEprom must be programmed correctly or the micro-controller may not function correctly. The A version of the Atmel at tiny 2313 has not been tested. I have been using ATTINY2313V-10PU.

The CAD program I used to create the PCB is called Osmond PCB. I have also included GERBER and Postscript files. You must accept all risk associated with creating PCBs using any of these files.

Oscope Displays Several Lines of Text Which Were Input By the Keyboard Interface

December 24th, 2016
Several Lines of Text

Several Lines of Text

I had to change resistor R33 on the analog board to 0 ohms in order to make blanking work reasonably well, but it’s still not perfect. Your mileage may vary depending upon the exact scope that you connect to this interface. I’d like to move onto focussing on getting some real software working, but I have one more significant issue to resolve. I think that the loading of the latches off the data bus is a little flakey, which is causing some flickering of the display. I also have to investigate the artifact at the top of the screen a little more.

In case you are interested, here is the driver that was used to generate the display in the picture. Keep in mind that it is a very much a work in the progress.
oscope-keyboard driver

Huzzah – Legible Scope Output

December 19th, 2016
Legible Scope Output

Legible Scope Output

Still an artifact at the top, and I frequently see some dots flash on the screen (not seen in this image), but I’d say I”m almost there.

I had a couple of issues that had to be solved to get to this level.

The big one was that I had inverted the logic for displaying vectors. I had programmed ones in the registers to display lines and zeros to suppress vectors. The problem with that logic was that all the vectors that repositioned the cursor to the next position were enabled with this logic. I had to invert the output and use zeros to turn on vectors. Once I fixed this, I could easily adjust my Tektronix 465 to suppress vectors that were not to be displayed.

The second issue was that my rework instructions were wrong and had pins 1 and 3 swapped on Z3. This kept vector B2 enabled all the time.

Next step is to add the keyboard driver and check the vectors that I have programmed for the other characters and make sure the remaining lines and columns look OK.

SCELBI o-scope

December 18th, 2016

I reversed the Y axis connections and tweaked the software some more.

This picture demonstrates that one remaining issue is related to the Z Axis. First 5 characters on first line are supposed to be starburst, space, A, Z, 0 and 9.

Z Axis Issues

Z Axis Issues

Seems like hooking the Z axis to my scope with a 10x scope probe causes a lot of latency in Z axis display, due to RC delay in the Z. The lag causes a line to be displayed, to actually not show, but the next line will show. Changing the probe to 1X causes Z axis to completely not function. Could be my Tektronix 465 isn’t compatible with the SCELBI design. I’ll have to investigate both the scope and the SCELBI O-scope implementation in order to find a good fix.

End of an Era for Me

December 17th, 2016

As look back at some of the blog postings I made during the early days of the Mimeo project, the excitement I felt, could be easily discerned. For better or worse, after nearly 7 years, that excitement is no longer there, and it’s time to move the project over to someone who has a strong passion for that landmark system.

I’ve transitioned Mimeo 1 sales to Corey Cohen. I’m sure he will do a great job selling and supporting people interested in building reproduction Apple 1 Computers.

Since first making them available in March of 2010, I’ve sold 167 Mimeo PCBs, the first few as part of a kit, even a few that were completely assembled and tested. I have greatly enjoyed the entire process from creating the PCBs in the first place, to fixing a few boards that customers needed help with. Especially gratifying, has been the great relationship that I have established with all the people that I have made contact with over the years. One thing that I never expected, when starting this project, was the amazing contacts I made with so many people associated with Apple during those early years.

However, the learning part of the process, which is one of things that keeps me interested in my hobbies, has not been there over the past few years. It is time to move the sales over to Corey, who has unbelievable enthusiasm and knowledge for and about those milestone computers.

SCELBI PCBS

I will continue to sell SCELBI PCBs, as I am still excited about working on that system and learning a lot, while doing it. Blog followers will know that the Oscilloscope Interface PCBs, the last SCELBI boards that need to be reproduced, will soon become available to interested parties. I have some ideas for some even more obscure reproduction vintage computer projects. However, the Oscilloscope interface must be completed, before I move on to those projects.

Other Products

Other products I have sold in the past, will only be continue to be sold if I have remaining inventory in stock.

I presently have stock of the following

  • Brain Boards
  • Swift Cards
  • I am sold out of the following:

  • Apple II, rev 0 boards
  • SuperProto boards
  • PS/2 keyboard adapters.
  • Datanetics Keyboard PCB
  • The PS/2 Keyboard Adapter

    The PS/2 keyboard adapter is a little bit of a special item to me. When I had those PCBs made, because of economies of scale, I had 150 fabricated. I never thought I’d sell all of them. In the end, I sold over 140 those little dongles, using the others for a number of my own special projects. Though they probably exist, I have never heard of a PS/2 keyboard that it didn’t work with. It was designed to operate with Apple 1 and Apple II computers. As I originally hoped, people adapted the design to a number of systems beyond that. The firmware has had minor firmware features and improvements made over the years, but the basic design hasn’t changed over all these years.

    There have been a number of other PS/2 keyboard to parallel ASCII keyboard adapters designed over the years, some coming before, and inspiring my adapter. Though it could certainly be improved further, I sincerely believe my version is currently the best of the breed.

    When I get the time to add them to my web site, I will be releasing to the public domain, with no restrictions, all design files, including firmware and PCB CAD files. You will be able to do what you want with it, make copies for sale, improve it, or just study the design for your own purposes.

    SCELBI Oscope – Why the Y axis is upside down

    December 12th, 2016

    I finally took the time to figure out why the Oscope Y axis is upside down. It all stems from an error in the schematics.

    Analog Schematic Error

    Analog Schematic Error

    If you look closely at this cropped image of the schematic, you will notice that pin 4 of the Y axis op-amp is labelled (+) while pin 4 of the X axis op-amp is labelled (-). Both can’t be correct, as op-amps all have a negative and positive input. Here is the pinout of the SN72741 from the TI data sheet showing that the correct labelling of pin 4 should always be (-).

    SN72741 Package

    SN72741 Package

    The X and Y, plus and minus inputs to the analog board come directly from the digital board. If you look look at the digital and analog board schematics, the X and Y outputs match up nicely with the analog board inputs.

  • Xp is pin B-W on the digital board and connects to pin W on the analog board
  • Xm is pin B-Z on the digital board and connects to pin Z on the analog board
  • Yp is pin B-Y on the digital board and connects to pin Y on the analog board
  • Ym is pin B-X on the digital board and connects to pin X on the analog board
  • Digital Board X and Y Outputs

    Digital Board X and Y Outputs

    There is an image showing how I connected them in a previous blog post. Pins W, X, Y and Z are to the far right in the following image.

    Edge Connectors Wired

    Edge Connectors Wired

    Overall, it looks like a very clean solution. The problem is that the mislabelling of pin 4 and pin 5 of the Y axis op-amp caused the Y inputs to also be labelled backwards on the analog card schematic. Therefore, Y plus is really connected to Y minus and visa versa. The solution is to cross the connections for Y plus and minus between the digital and analog boards.

    I would have to assume that this swapping was done when constructing the original SCELBI Oscilloscope Interfaces, but I don’t have access to an original unit to confirm. The images I have, don’t show the connections between boards, so I can’t go on that. I would also assume that the intention of the design was to make connecting the boards easy, and if enough units were built, that Y minus and Y plus would be swapped on the PCB, so that connecting the digital to analog board, would be more straight forward. My guess is that so few oscilloscope cards were made, that this change was never made.

    Fortunately, I’m pretty sure that I will be able to swap these connections, without dissassembling the entire Oscilloscope Interface.

    More Scope Progress

    December 11th, 2016

    Here, I finally have multiple lines of star bursts displayed.

    Multiple Lines with SCELBI Oscope Output

    Multiple Lines with SCELBI Oscope Output

    My problem was that I had the input port data bus hooked up wrong. When I connected it, I assumed that the edge connector would be wired from data bit 0 to data bit 7 in order, but that wasn’t the case. I also had to turn off the invert switch on the scope. The problem with inverted characters will have to be investigated further.

    I also have a good understanding of adjustments for Horizontal Width (R10), Horizontal Speed Balance (R6), Vertical Speed Balance (r17) and Tilt (R20). The speed balance adjustments are necessary to make sure that movements left and right are at the same speed and movements up and down are at the same speed.

    I still need to figure out what’s happening at the beginning of each line and at the beginning of the page.

    The driver implementation is being investigated. It promises to be a serious challenge to fit it in 256 bytes, as half of it will be taken up by an ASCII to 2 byte output table.

    One Line Of Star Bursts

    December 7th, 2016

    The SCELBI Scope project is not revealing it’s secrets easily. With some tweaks of the pots and some new software I now have a line of star bursts. Dumping the entire pre formatted buffer in one shot seems like the way to go. I inverted the display by using the invert button on my oscilloscope. I’ll look into the implementation more thoroughly later on.

    One Line of Star Bursts

    One Line of Star Bursts

    It looks a bit better in real life. Next step is to figure out how to make multiple lines work. The software I wrote is supposed to print 5 lines, just like the MEA manual says it supports. One page is reserved for the scope output buffer. With 2 bytes per displayed character, 20 characters per line and 5 lines, that takes up 200 bytes. Right now, I’m automatically adding 2 extra bytes per line for the LF and end of page functions. That brings buffer consumption up to 210 bytes.

    It’s going to be a real challenge to fit the software for the both the scope and keyboard displays in 256 bytes. Currently almost half of the 256 bytes is consumed just by the ASCII to a 2 byte code table in my implementation. I do think that with some clever coding, I should be able to free up a few bytes from that table and I’ll probably need it.