• Please review our updated Terms and Rules here

SCELBI Data Bus Oddities and Debug

We are indeed testing the card now!
I'll probably make some minor revisions.

I know one trace is mislabeled. But it's a control pin that isn't used anyway. I need to verify that my pins are actually aligned with the original TTY interface as the goal is for it to be a drop in replacement. Lastly I should probably move the decoupling cap. It's placed more for form than function which is dumb on my part. I will not apologize for the resistor placement though! But yeah it's supposed to look similar to the TTY board.

The 8008 emulator sounds cool! I'd be interested to check that out. Per the SCELBI, Mike definitely has a good board set if you ever get around to it. And I found some good sources for the chassis and front panel. Although I realize this is all in North America, and it's already an expensive enough project without shipping stuff across the pond.

I'm definitely enjoying learning more in depth how this system works. I'd definitely enjoy it more if I weren't stressed by a deadline LOL but oh well.
Next year if I have an exhibit, it will ONLY be systems I already have working BEFORE I sign up.
 
Update: I soldered the data wire back in place and it's outputting! But it's corrupted so presumably I need to tweak serial settings. But another meeting so that's for later. Still this is huge!
 
Onwards and upwards!

At least you have got something now...

I will ZIP up my MIL MOD8 emulator and send that to you. It uses a thing called MONITOR 8 (I will include the documentation for it as well). This is a very featured monitor containing an editor, assembler, disassembler, debugger etc. (probably not unlike MEA, but I have not compared their feature sets).

If you can post an oscilloscope trace of the serial data stream - with a detail of the timebase speed - I should be able to tell from that what the serial parameters are.

Incidentally (whilst looking on my iMac, I realised I had the source code for the oscilloscope/keyboard P76 ROM (if you fancy making one of those when you have recovered!). I have no idea where I got that source from though...

The SCELBAL TTY interface is 1 start bit 8 data bits (including the parity bit as data bit 7) and 2 stop bits (for a total of 1+8+2 = 11 bits) transmitting at 10 characters per second. 10 * 11 bits = 110 bits/second = 110 BAUD. This is with a master clock frequency of 500 kHz. This doesn't guarantee that the TTY ROM is the same...

Dave
 
Last edited:
This is with 7 bits of data (originally I had it set to 8) and no parity. 2 stop bits.
I get this 'I' before the new line and carriage return. (Which with the SCELBI are intended to be literal)
I tried different parity schemes but still saw the I. Dunno why. Also when it first started it printed some weird stuff before printing the '>'
Another thing is whenever it prints the address number in this screenshot below it stops until I press space (or probably any key) before printing data. I don't know that that's intentional.
So maybe I still have something wrong. But overall it's working!

1750282529422.png

I don't think I want to mess with the scopewriter or keyboard. But that's cool that you have the source code! I didn't even know anyone had the ROM at all for that. But yeah I plan to stick with serial since it's easy. Also my oscilloscope isn't very pleasant in X-Y mode anyway. It only uses the top half of the screen for some reason so it's really squished.

Thanks again!
 
Well done that man!

I think the 'I' is some random rubbish going back to the SCELBI on the receive line:

1750285418007.png

It is not unusual to observe initial random characters using a bit-banged serial port.

I have got no idea where I even got the oscilloscope listing from! I might assemble it (to make a new P76 ROM) and upload the assembler source and HEX files for others to use.

I will print out the TTY ROM and disassemble it to see what is going on. Perhaps I will get the source for that disassembled as well.

Well, I hope you enjoy your exhibition and that your machine stays running!

let's have a go at SCELBAL when you get back and you have a relatively stable machine...

Dave
 
Ah that makes sense. I need to read the manual. I might print it out.
I'll be sure to bring extra RAM chips with me. If I get bored maybe I'll write up an auto-hotkey script to type SCELBAL into the monitor for me. But the tape adapter is definitely in the future!
Thanks again! You aren't just helping me, but also helping to make it possible for many others to get a chance to experience the SCELBI first hand. (And the Altair!)
 
El blobo!

I have a disassembled TTY ROM now that can be reassembled to generate the same HEX file that I started with.

Just going through commenting it now...

Mike has a memtest program on his website. Perhaps the next thing would be to use the memtest program to checkout your system over an extended time?

Dave
 
“But yeah, I guess my 8008-1 wasn't happy for some reason. No 800kHz for me then if I need to use my 8008 regular.”

Oddly enough, I am building an expanded version of a Jim Loos based 8008 SBC and it can run at 500 or 750 khz. The only issue I’m having is that the reset circuit doesn’t always want to reset at 750khz. I run the clock through a 1mhz oscillator to a 74LS74 flip flop or with a 12 mhz oscillator divided down with a 4040 to the 7474 (osc swap and a jumper). I could not find a 12.8 mhz oscillator. Of course, you need to modify the bit banging serial I/O for this. And, the RAM and ROM I’m using are much faster in access times than a SCELBI built period correct.

In some books it is implied that the clocks and 8008 bus signals get even more critical at 800 khz with the -1 version of the chip. In my case I’m sure that wire wrapping and a marginal -9 volt supply aren’t helping. But my 8008-1’s (all of them) run just fine at 500 khz.
 
I tested MEA under Mike's SCELBI 8B Emulator and it did not stop when performing the 'F' command that you used back in post #104.

I looked at the serial configuration within Mike's emulator and noticed that the input MSB was SET and the output MSB was CLEAR. Not sure whether these would have any effect though on what you are observing.

Dave
 
I have entered the oscilloscope and keyboard listing file I have into the online assembler (asm80.com) and modified it for their syntax.

It assembles without errors.

I now have to compare my assembled TTY hex file against the original ROM contents, and compare the assembled oscilloscope listing file against my original listing file that I have.

I will enhance the rather meagre comments in both before releasing the source.

Dave
 
“But yeah, I guess my 8008-1 wasn't happy for some reason. No 800kHz for me then if I need to use my 8008 regular.”

Oddly enough, I am building an expanded version of a Jim Loos based 8008 SBC and it can run at 500 or 750 khz. The only issue I’m having is that the reset circuit doesn’t always want to reset at 750khz. I run the clock through a 1mhz oscillator to a 74LS74 flip flop or with a 12 mhz oscillator divided down with a 4040 to the 7474 (osc swap and a jumper). I could not find a 12.8 mhz oscillator. Of course, you need to modify the bit banging serial I/O for this. And, the RAM and ROM I’m using are much faster in access times than a SCELBI built period correct.

In some books it is implied that the clocks and 8008 bus signals get even more critical at 800 khz with the -1 version of the chip. In my case I’m sure that wire wrapping and a marginal -9 volt supply aren’t helping. But my 8008-1’s (all of them) run just fine at 500 khz.

That seems like a cool project! I'd love to see how that turns out!

Unfortunately even at 500kHz my 8008-1 was unhappy. I might need go get another to see if it's some compatibility or a bad chip. If it's a bad chip I'll get to do some overclocking shenanigans.

Speaking of, with Dave's disassembly work, it may be very doable to get TTY and tape working correctly. Probably even faster than 110 baud. I know Mike has reported success at 2400 baud on a 500kHz SCELBI. Maybe if we're lucky we can hit 4800 when clocked up. I doubt then that 9600 is achievable.

The disassembly work is super cool! I'm excited about that!

Also I'll post a picture of my table once it's set up today.
 
I hope the machines are behaving themselves!

I have generated the source code and HEX file for the SCELBI P76 Oscilloscope ROM from the listing file I have. I have found that the 'starburst' entries for the '@', '%', '&' and '?' characters are the same (0,0) - so this looks incorrect. However, it was like this in the original ROM listing file, so I have retained the values until I build my SCELBI and check it out! If the character starburst codes should be different, I will updated the source code appropriately.

I have checked the image produced by the assembler (see asm80.com) and it aligns exactly with my listing file.

The entry points into the ROM appear to agree with the TTY ROM that I have disassembled. I will be posting the source for this ROM presently.

Dave
 

Attachments

I didn't want to jinx it, but all three systems managed to hold up for the whole show!

I'll definitely be interested to take a look at your work on this.
 
>>> but all three systems managed to hold up for the whole show!

Excellent news. Sounds like you had a good time.

I have almost finished my TTY disassembly. Most of the coding appears to follow the example in the I/O section of the SCELBAL manual (with a few tweaks).

There is (however) some additional code for (what looks like) a non-echo receive mode. However, there doesn't appear to be any way of entering this from the P76 ROM code itself?

Just got to add my comments to this before publishing.

Dave
 
I did some work on the Scelbi code some years back when I wrote my simulator. Not sure if this will help, but here's my TTY code disassembly.
 

Attachments

Both of our files look the same (from a disassembly perspective)...

That's good to know!

It looks like you just replace the 'READ vector' with either the receive with (or without) echo - depending upon whether you have a full duplex or a half duplex TTY.

Dave
 
I think my future plans for the SCELBI are as follows:

1. New power cord
2. Get the tape interface working
3. 800 kHz!!!

I'll make a separate thread for number three to document it. But that will require:

1. Researching the 8008-1 and making sure there's nothing fundamentally different. Mine wasn't working right and maybe it's broken. Maybe it's not. Someone at VCF mentioned something about a "serial" vs "parallel" version of the 8008 and IDK what they were talking about.

2. If I can't find any info that there is a difference: buy another 8008-1

3. Make sure the system is stable at 500kHz

4. Clock up to 800kHz

5. Leverage your disassembly of the TTY code to adjust it for 800kHz

6. Further adjust it for the highest standard baud rate I can pull off.

7. Adjust the tape interface code to run at the normal speed. I think it'd be good to keep this compatible.

I have other responsibilities, so I'll try and keep this from sitting on the back burner indefinitely, but it will NOT be as fast progress as this debug has been. Thank you both for your disassembly efforts which will help greatly!

Oh also! I started working on transcribing the SCELBI-8H User Manual. My girlfriend loves to type stuff though and has said she'd really love to work on that. It'd be good to have a parsable document and one that can be printed super cleanly.

I'll share anything the two of us create of course for others to use.
 
Back
Top