6502.org Forum  Projects  Code  Resources  Tools  Forum
It is currently Thu Oct 23, 2014 5:52 am

All times are UTC




Post new topic Reply to topic  [ 16 posts ]  Go to page 1, 2  Next
Author Message
PostPosted: Sun Oct 06, 2013 10:57 am 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 3179
Location: England
This video was posted elsewhere by Jac Goudsmit - it shows the bootstrapping of an Altair 8800 clone
- first using front panel switches to input a short program to load from the serial port
- then loading a better loader which can apply checksums
- then loading BASIC (which presumably includes the necessary BIOS-like functions for I/O)
- finally loading a BASIC program, and running it

The serial port is connected to a teletype with paper tape reader - it's slow, but slow enough to get a feel for what's happening.

Note that the initial bootstrap loaded via the front panel is described in octal. So "256" and "333" are valid byte values.

Image


Top
 Profile  
 
PostPosted: Sun Oct 06, 2013 4:16 pm 
Offline
User avatar

Joined: Sun Jun 30, 2013 10:26 pm
Posts: 289
Location: Sacramento, CA, USA
Neat marriage of old and new. The teletype was a little before my time, but I was reminded of my tenth grade
trig teacher, Mrs. Hill. She had a small room added to the corner of her classroom, and it was well insulated,
because inside was a fully operational DEC pdp-8/a, with a slow, loud dot matrix printer, and a VERY LOUD card
reader. For those of you that have never heard one in action, it's roughly equivalent to a leaf blower stuck in a
ceiling fan. She made me system administrator, and I spent many hours in there, running classmate's card decks
and exploring all of the 8-inch floppies! The R MSBAT command unleashed the mighty sounds of the reader.

My hearing is not good. I like to blame the stereo in my first car for that, but I'm sure that the card reader had
a contribution as well.

Mike


Top
 Profile  
 
PostPosted: Sun Oct 06, 2013 10:47 pm 
Offline

Joined: Sat Dec 13, 2003 3:37 pm
Posts: 271
Keying in code from a toggle switch front panel is interesting once, maybe, If that.

My first computer experience was with am IMSAI 8080, and the biggest words on it were "DO NOT TURN OFF".

Next to the computer along with the open chassis (!!) monitor and keyboard, was the well worn boot strap listing. It was readily entered in to the monitor, in hex, and allowed us to load BASIC from tape.

On a lark, my friend and I decided to try to key that boot strap in from the front panel, and we were not successful. We never tried that again.

It is keen to note that few computers after the Altair and IMSAI had front panels.

None of my cars have, or had, a hand crank, though you can still push start a car with a manual transmission. My last three have automatics, so even that route is gone to me. Having kick started a few motorcycles in my life, including stubborn ones, I don't think I miss having to hand crank the car, not even once.

I'm still of the view to start newbies at a high level and work them down to the low, rather than the other way around. You don't introduce people to computer programming with assembly language, rather you start with very high level languages, and then the student can go deeper, and deeper to their level of interest. Success is easier at the higher level, and there is less detail to master, or mistake, so it's less frustrating.

That's just been my experience.


Top
 Profile  
 
PostPosted: Mon Oct 07, 2013 10:07 am 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 3179
Location: England
Well, I'd stick with bottom-up construction. From Nand to Tetris.

But that's not the point, really: there are a variety of points of view about how to proceed, and any number of threads to cover different tactics. If every one of us always re-posts our own preferences into every thread, then every thread will turn into the same circular discussion.

There will be no consensus, and there is unlikely to be any joint project. The way these things pan out is that one person picks up their tools and builds something. At the point that a prototype is taking shape, other people come on board, at which point the general direction of that particular project is set. A healthy result is to see several projects, each taking their own set of tradeoffs and their own goals.

Cheers
Ed


Top
 Profile  
 
PostPosted: Mon Oct 07, 2013 11:29 am 
Offline
User avatar

Joined: Tue Nov 16, 2010 8:00 am
Posts: 1335
Location: Gouda, The Netherlands
Bootstrapping with toggle switches may only be interesting to do once, but if the hardware is functional, you only need to do it once. After testing, the first real project would be to program some non-volatile memory, and then the toggle switches can be removed.


Top
 Profile  
 
PostPosted: Mon Oct 07, 2013 12:07 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 3179
Location: England
Absolutely!
Modifying the bootstrap would also be interesting as a learning experience. It's code that needs to be correct and is, ideally, small.


Top
 Profile  
 
PostPosted: Fri Oct 11, 2013 9:43 pm 
Offline
User avatar

Joined: Thu Jun 23, 2011 2:12 am
Posts: 46
Location: Mesa, Arizona
Hi guys,

The video isn't mine and has little to do with the 6502 (obviously) but I posted it because I had seen all the other videos that this guy (I think his name is Mike) made about his Altair clone project, and I thought they were really brilliant.

His Altair clone (which you can buy as a kit) uses flash ROM to emulate boot loaders and floppy drives so I think you don't have to toggle the boot loader for everything. I just thought it was cool that after he made a video where he loaded Basic via a PC with a terminal emulator, he decided to get a Teletype and show us how it was originally done.

When I studied computer science (1989-1993), Teletypes were already very outdated but my school had a lab with a few teletypes, just to teach students how RS-232 works. I thought they were amazing pieces of mechanics and I loved getting them to work just "talking" to each other, so I remember how the keys felt, how they couldn't even type in lower case etc. I only touched an Altair once -- briefly during the 2012 Maker Faire when Vince Briel had one on his table as a show piece to grab attention for his Altair 680 clone.

A lot of people nowadays aren't even aware that the old way to store a BASIC program was simply to do LIST while the paper tape writer was on, or to type NEW and then turn the paper tape reader on to retrieve it. The video explains why there is no LOAD or SAVE command in early versions of Microsoft Basic.

So yeah it's not all "real" but it's very close to how you would do this in 1975 or so -- After you sold your car to get the Altair and mortgaged your house to get the Teletype, that is :-)

===Jac


Top
 Profile  
 
PostPosted: Sat Oct 12, 2013 12:07 am 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 2624
Location: Rural Will County, Illinois USA
jac_goudsmit wrote:
When I studied computer science (1989-1993), Teletypes were already very outdated...

I used to fix those contraptions—long before you started computer science classes. :D

We had four of them aboard ship when I was in the Navy, connected to their respective equipment via a 20 milliamp current loop interface (RS-232 barely existed back then). Three were in the radio room and one was in the pilot house. As it was possible to connect more than one TTY to the current loop, the TTY in the pilot house could be put on the same current loop as a TTY that was receiving a message, thus repeating what the radio room TTY was doing. There was a small patch board that looked like a miniature telephone operator's switchboard for setting up current loops.

When a message had to be transmitted, a TTY would drive a "digital-to-analog" converter that would change the mark and space signals of the current loop to a frequency shift keying (FSK) signal, which was then run through encryption hardware. The FSK signal was passed to the transmitter and used to modulate the carrier. Single sideband (SSB) transmission was used to increase the signal's range, reduce interference and minimize the RF footprint, making interception of the message more difficult. In a sort of spread-spectrum arrangement, the signal would periodically alternate between the upper and lower sidebands to further complicate interception. An elaborate procedure was involved to keep transmitter and receiver in sync. Every so often, the sideband switch would get out of sync and the receiver would get gibberish.

In some cases when traffic was heavy and messages had to be sent many thousands of miles, requiring that the most powerful of the three available transmitters be used, independent sideband (ISB) was used to send two different messages from the same transmitter. This was basically SSB times two.

Generally speaking, the message to be sent would be punched into paper tape and then a radioman would run the paper tape through a tape reader to actually send the message. Doing so allowed the message to proofed and edited before sending, and (usually) avoided having a typo get in there. Virtually all communications related to ship's movement, fuel and ammunition status were handled this way, since the fleet's status at any given time was something that we didn't want the Soviets to know.

For reception, the process was reversed. The incoming SSB or ISB signal was received, decrypted and sent to a current loop. Any time I was in the radio room and a message came in, the start-up of a TTY always startled me. Those things made quite a bit of racket when operating.

It all seems so archaic now, but was state-of-the-art 50 years ago.

_________________
x86? We ain't got no x86. We don't need no stinking x86!


Top
 Profile  
 
PostPosted: Fri Oct 18, 2013 9:36 am 
Offline
User avatar

Joined: Tue Nov 16, 2010 8:00 am
Posts: 1335
Location: Gouda, The Netherlands
Here's another bootstrap video, using a 6809: http://www.youtube.com/watch?v=IXu8P2qGoj8


Top
 Profile  
 
PostPosted: Fri Oct 18, 2013 3:51 pm 
Offline
User avatar

Joined: Thu Jun 23, 2011 2:12 am
Posts: 46
Location: Mesa, Arizona
I've been following "74hc595" on Youtube for a long time but I didn't even remember seeing that video. Thanks for posting!

All those videos of toggling boot code into a front panel makes me want to implement a front panel for my own project too (or maybe emulate one with video and a mouse, so I don't have to change the hardware :-)

===Jac


Top
 Profile  
 
PostPosted: Wed Oct 23, 2013 7:06 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 3179
Location: England
Yes, thanks Arlet, that breadboarded minimal 6809 with a smart front panel is very nice!


Top
 Profile  
 
PostPosted: Fri Nov 29, 2013 7:33 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 3179
Location: England
Speaking of toggles, for some time I've been trying to find pictures or the identity of a single board machine from the 70s which had toggle switches along the bottom edge.

Today, it came to me, in this article celebrating the tragically short life of John Miller-Kirkpatrick, who made the SCRUMPI series of kits a little before Sinclair's MK14 and for a very good price. Also in this article a mention of the System 68, a 6800-based design published in Electronics Today International.

Image

Image


Top
 Profile  
 
PostPosted: Sun Dec 01, 2013 10:39 am 
Offline
User avatar

Joined: Sun Oct 13, 2013 2:58 pm
Posts: 124
Location: Switzerland
Very nice example, however this computer had a huge PROM (512bytes) for that time. Remembering my first experience with real computers, a 512byte boot PROM would have been pure luxury. On one of our PDP11/70 there was only a very small ROM (in fact it was a diode matrix!) that allowed to boot from few selected devices only. But you still had to enter the start address via the toggle switches. But in some cases you wanted to boot the computer from a peripheral device that was not included in the diode matrix, so you had to enter a bootstrap loader via the toggle switches into the RAM. Fortunately, a PDP11/70 was a very flexible computer and IO devices supported DMA. So what you typically had to enter was a small bootprogramm that set the IO Registers of the device to load the first block to RAM, start IO, wait on completion, and in case IO completed without error jump to the boot block just loaded. So this ended in some very small bootstrap programs. That's also the reason a small diode matrix did the job very well in 99% of the cases.

In any case these toggle switches came in very handy when your OS crashed and the crash-dump routine was corrupted. Ah those old days.


Top
 Profile  
 
PostPosted: Sun Dec 01, 2013 11:27 am 
Offline
User avatar

Joined: Fri Oct 31, 2003 10:00 pm
Posts: 102
Location: Netherlands
The OSI300 is a romless 6502 machine trainer.

http://www.earlycomputers.com/cgi-bin/item-report-main.cgi?20040601

Basically, a 6502 with some RAM , some switches (awkward one to be honest) and some circuitry to enter data into ram.

I ahev rebuilt it once on breadboard but lost the circuit diagram. Theere were vaque plans by me and Vince Vriel to make a kit, it never happened.

_________________
Hans

http://retro.hansotten.nl


Top
 Profile  
 
PostPosted: Sun Dec 01, 2013 2:50 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 3179
Location: England
That's a beauty Hans! And the schematic is almost readable from the pcb ...
(Nice bootstrapping story, cbscpe)
Cheers
Ed


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 16 posts ]  Go to page 1, 2  Next

All times are UTC


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: