On Sun, Oct 9, 2016 at 3:07 PM, Brad H <vintagecomputer at bettercomputing.net>
wrote:
-------- Original message --------
From: "Ian S. King" <isking at uw.edu>
Date: 2016-10-09 2:30 PM (GMT-08:00)
To: "General Discussion: On-Topic and Off-Topic Posts" <
cctalk at classiccmp.org>
Subject: Re: Twiggys [was: Re: ka... ching!]
On Sun, Oct 9, 2016 at 2:37 AM, Dave G4UGM <dave.g4ugm at gmail.com> wrote:
> -----Original Message-----
> From: cctalk [mailto:cctalk-bounces at
classiccmp.org] On Behalf Of Brad
H
Sent: 09
October 2016 07:41
To: General Discussion: On-Topic and Off-Topic Posts
<cctalk at classiccmp.org>; jwsmail at
jwsss.com
Subject: Re: Twiggys [was: Re: ka... ching!]
I'd like to learn more about programming, esp for my 6800. It'd be fun
to
test
its limits and see what uses I can find for the
graphics board I got. I
just don't
understand how they programmed the thing. All the
hex stuff throws me
off. :)
Does it have a serial interface and memory. In which case it was probably
programmed in Assembler.
When I started with 6800 board and 256 bytes of memory, and toggle
switches to load it I used to hand assemble the programs to get the
hex/binary.
I soon got bored of the toggle switches and built a little box with an
old
calculator keyboard and display and some TTL so I
could enter data
quickly.
Dave
I recently acquired a SWTPC 6800, a machine I remember from when it was
new. :-)
There are many programming environments available for it - I'm
working to get Forth running on mine, then I'll branch out.
It's been said that the 6800 inherited a lot of ideas from the PDP-8, and I
agree with that to some extent. The ISA is actually very clean and neat,
once you wrap your head around it - I used to program 6800 assembler
professionally, my first paid job as a programmer! Unlike the PDP-8, I/O
is memory-mapped. Depending on what monitor ROM you have (if any), you may
have different system services available. One very useful system is the
one that can read S-records from the serial input, allowing you to easily
transfer programs onto the machine.
If you want to grok the 6800 in fullness, there are online scans of
Motorola's programming manual for the device. Another great resource is
the
swtpc.com site, even if you don't have a SWTPC machine (what do you
have?).
Have fun with it! Cheers -- Ian
--
Ian S. King, MSIS, MSCS, Ph.D. Candidate
The Information School <http://ischool.uw.edu>
Dissertation: "Why the Conversation Mattered: Constructing a Sociotechnical
Narrative Through a Design Lens
Archivist, Voices From the Rwanda Tribunal <http://tribunalvoices.org>
Value Sensitive Design Research Lab <http://vsdesign.org>
University of Washington
There is an old Vulcan saying: "Only Nixon
>could go to China."
I've an original SWTPC 6800. Also have an ASCI System X and a Tektronix
6800 board bucket. Right now I'm enjoying working with the SWTPC. I'm
trying to deck it out as completely as one could have.
I don't quite understand assembly.. I assume to program in that, as with
BASIC you need to load an 'assembler' language first? I tried this with my
Digital Group system with 5 different tapes marked 'assembler' but never
got them to load. Not sure if I understand the concept.
The assembler is a program that transforms (somewhat) human-readable text
into machine code. There a few ways to go about structuring this
workflow. So far I've been using a cross-assembler that runs on a
different system - for example, the original UNIX was cross-assembled on a
GE-635 mainframe for its PDP-7 target. There are native assemblers as
well. These often assumed some sort of secondary store, whether punched
tape, magtape or disk, that might hold intermediate stages of assembly and
certainly the final product. A common workflow was:
- load native assembler program from <media>
- start native assembler program
- tell native assembler program where to find the source (which media)
- native assembler reads in source, transforms it to object (machine code),
sends the results to <media>
- programmer loads object from <media> and runs it
If you're loading an assembler program from tape, you probably need to give
the monitor a 'go' instruction once it's completed (that's how MIKBUG
works, anyway). The assembler may prompt for the input source or may just
assume that once you say 'go' a tape is loaded and ready to be read.
How do you create the source? If you're doing it natively, you need an
editor that runs on the platform and can send the resulting text to
<media>. Or again, you can write your assembly source on another platform
and create (or emulate) appropriate <media>.
I hope that helps. Cheers -- Ian
--
Ian S. King, MSIS, MSCS, Ph.D. Candidate
The Information School <http://ischool.uw.edu>
Dissertation: "Why the Conversation Mattered: Constructing a Sociotechnical
Narrative Through a Design Lens
Archivist, Voices From the Rwanda Tribunal <http://tribunalvoices.org>
Value Sensitive Design Research Lab <http://vsdesign.org>
University of Washington
There is an old Vulcan saying: "Only Nixon could go to China."