[HN Gopher] Dunfield 6809 Portable
       ___________________________________________________________________
        
       Dunfield 6809 Portable
        
       Author : buescher
       Score  : 77 points
       Date   : 2021-02-04 13:02 UTC (1 days ago)
        
 (HTM) web link (dunfield.classiccmp.org)
 (TXT) w3m dump (dunfield.classiccmp.org)
        
       | pacaro wrote:
       | A friend and I have discussed doing something similar (i.e a
       | luggable system in a wooden box) with rPI and a commodity 1080P
       | display. We were thinking more of a campaign furniture aesthetic
       | though
        
         | tyingq wrote:
         | An old Kaypro case would be heavy, but a pretty easy retrofit.
         | You could fit a nice LCD in the spot where the 9 inch diagonal
         | CRT goes. You could also have someone "chop" the depth of the
         | case pretty cheaply at a metal shop.
        
       | korethr wrote:
       | The cool thing is, if you were able to source the chips today,
       | you could probably build a clone of this system yourself.
        
       | dboreham wrote:
       | Good times. So much nicer to code for vs 6502 and Z80.
        
         | jonsen wrote:
         | I agree and I can tell, I once ported a 6809 program to Z80.
        
       | tyingq wrote:
       | A 6-chip 6809 SBC that runs BASIC:
       | http://searle.x10host.com/6809/Simple6809.html
        
       | localhost wrote:
       | This reminds me of a brief fling that I had with a SuperPET back
       | in the 80s. [1] 96KB RAM and an enormous ROM (48K!) with all the
       | Waterloo languages (microAPL, microFORTRAN, microBASIC,
       | microPASCAL, microCOBOL) in it!
       | 
       | I never really wrote any ASM for it though, but it inspired me to
       | write a p-code based runtime that had 16 bit registers for the
       | 6502.
       | 
       | [1] https://en.wikipedia.org/wiki/Commodore_PET#superpet
        
         | microtherion wrote:
         | I wrote a FORTH for the SuperPET (sold as a Waterloo "Micro
         | Mainframe" here).
         | 
         | The 96KB were done in a rather weird way, because there were
         | really only 32KB of contiguous address space available once you
         | accounted for ROM, and both the 6502 and 6809 had a 64KB
         | address space anyway. So the SuperPET had 32KB contiguous RAM
         | in the lower half of the address space, and 64KB of paged RAM
         | occupying a 4KB address range somewhere in the upper half of
         | the address space. The code for the Waterloo languages
         | typically ran in paged RAM, split into 4KB segment, and when it
         | needed to jump from one page to another, it used some
         | trampoline routine to switch the page and jump back.
         | 
         | For FORTH, I used a simpler scheme: I ran in contiguous RAM and
         | used the paged RAM for the FORTH explicit virtual memory
         | system, because there you only needed to guarantee access to
         | one page at a time so it mapped onto the hardware without much
         | sweat.
        
       | Simplicitas wrote:
       | I love this story!
        
       | EvanAnderson wrote:
       | I love absolutely everything about this. I get the same feeling
       | of admiration and envy from this that I get from machinists who
       | build tooling and fixtures that they then use to make parts. This
       | system feels like a serious tool the author built to do real
       | work.
       | 
       | The author's simulator runs fine on a 32-bit Windows machine. I
       | would expect it to run under DOSBox just fine.
       | 
       | The simulator's text user interface is also superb. Getting the
       | machine running with the full OS was very straightforward (run
       | "D6809.COM W=CUBIX.DDI" to start with the OS disk mounted
       | read/write).
        
       | anonymousiam wrote:
       | Did a lot of embedded 6809 assembly for satellite ground station
       | equipment in the 1980s. I really enjoyed coding for that
       | platform. Some of the things that set it apart from contemporary
       | 8-bit processors:
       | 
       | Multiple stack registers for complex argument passing.
       | 
       | Internal 16-bit registers.
       | 
       | (Integer) Multiply/Divide.
       | 
       | Sign extension (SEX instruction!)
       | 
       | Years later I did some embedded OS/9 (Not the Apple OS, but the
       | Microware one.) The target was actually a 68k, but the OS had
       | been ported from the original 6809 platform. It was pretty
       | powerful for the day and although not completely POSIX compliant,
       | it was very POSIX-like.
        
         | jhallenworld wrote:
         | I also wrote a lot of 6809 assembly in the 80s- for broadcast
         | character generators. I wrote a multi-tasking operating system
         | for it at one point- I used the DP register to point to per-
         | task local storage (exactly like errno in multi-tasking UNIX).
         | 
         | My co-workers went nuts with the PC-relative capabilities, but
         | I didn't bother- those addressing modes were pretty slow.
         | 
         | We had a cool piece of hardware: an in-circuit emulator. The
         | 6809 version of this one:
         | 
         | http://www.decadecounter.com/vta/articleview.php?item=1064
         | 
         | That thing was the bomb, because it had trace memory so you
         | could watch what led up to an interrupt causing your system to
         | crash. Non-symbolic though, you needed the linker map and
         | assembly listings by your side to do anything.
        
           | anonymousiam wrote:
           | There were some great tools for that platform. I used a
           | different brand ICE, but also an HP1630D logic analyzer with
           | a processor chip-clip and a built-in disassembler so you
           | could see where your code failed. (Worked great for finding
           | hardware problems too.)
        
             | jhallenworld wrote:
             | So if all you have is a Tek 465 scope, you can make a poor-
             | man's logic analyzer by connecting an oscillator to the
             | reset pin, and trigger off of this pin on the scope. Then
             | use the delayed sweep knob to scan through the bus, one or
             | two bits at a time.
        
               | ddingus wrote:
               | This is a cool trick! I plan to try it next chance I have
               | my Tek 4 channel out for a play.
        
           | buescher wrote:
           | That emulator looks amazing. It must have cost a fortune at
           | the time!
        
             | jhallenworld wrote:
             | Here is another site with links to a price list:
             | 
             | http://www.iobium.com/applied_microsystems_em189_e.htm
             | 
             | $3750 in 1983.. $10,106 in today's money..
        
           | AnimalMuppet wrote:
           | > I also wrote a lot of 6809 assembly in the 80s- for
           | broadcast character generators.
           | 
           | I got into broadcast character generators in 1989. Mind
           | telling me who you worked for, and what you worked on?
        
             | jhallenworld wrote:
             | Video Data Systems- a small company in Hauppauge, NY. They
             | made titlers "Chyrons", ad machines and community bulletin
             | board things, oh and the NY Off Track Betting video stuff.
             | 
             | Oh, I bet you had this experience: 100s of monitors whining
             | at near 15734 Hz, damaging your young ears..
        
               | AnimalMuppet wrote:
               | I worked for Quanta in Salt Lake. They made the Delta
               | character generator, and the Orion, and some others
               | before my time.
               | 
               | Yeah, I've heard that whine. Haven't heard it in years,
               | though. Both monitors and my ears have changed...
               | 
               | Did you ever go to the National Association of
               | Broadcasters trade show? _That_ was loud. Hundreds of
               | monitors, but dozens of booths, each trying to play
               | catchy audio loud to attract attention.
        
               | LocalH wrote:
               | I used to work with a QCG-500 at a local TV station about
               | twenty years ago. I can still pick out the way certain
               | fonts looked at certain sizes on that thing. It
               | eventually got replaced by a Chyron Maxine.
               | 
               | Prosumer and professional character generators are
               | woefully underdocumented. Anyone wanna donate any old
               | functional ones to me? I'll set up and make a Youtube
               | series about them lol. I'd love to see them eventually be
               | emulated in the way that classic game consoles and home
               | computers have been.
               | 
               | I'm 40 years old and I can _still hear flyback_. I
               | actually have a Roku Express+ hooked up to a 27 "
               | Trinitron. I miss the days of CRTs, except for their
               | weight.
        
         | colejohnson66 wrote:
         | > Internal 16-bit registers.
         | 
         | What does this mean? Aren't all registers (for any mainstream
         | processor) internal?
        
           | canadian_tired wrote:
           | It is really an 8-bit CPU from a bus (external connections)
           | perspective...but internally, there were 16 bit registers
           | (sort of...) Perhaps this was why he made the distinction.
        
             | jhallenworld wrote:
             | It's the link between 8-bit and 16-bit: at least that's
             | what Motorola marketing said, look at the cover of this
             | book:
             | 
             | https://www.amazon.com/MOTOROLA-MC6809E-MICROPROCESSOR-
             | PROGR...
        
           | jacquesm wrote:
           | The 6809 and the 6502 had a 'fast register file' page aka the
           | 'zero' page on the 6502 which could be relocated anywhere in
           | memory in the 6809. These were looked at as an external
           | extension of the register set and lots of instructions could
           | use the data there as 8 or 16 bit data or pointers.
        
         | jonsen wrote:
         | > (Integer) Multiply/Divide.
         | 
         | As I remember it, it had the instruction MUL, which did 8 by 8
         | bit unsigned multiply, but no divide.
         | 
         | Maybe the Hitachi CMOS version had it? I know this version had
         | undocumented additional instructions.
         | 
         | EDIT: WP says it had hardware division:
         | 
         | https://en.m.wikipedia.org/wiki/Hitachi_6309
        
           | ddingus wrote:
           | I just got one of these on a flash sale Color Computer
           | upgrade kit. Should be fun to bang around on one of these
           | days.
        
             | HeyLaughingBoy wrote:
             | Then you need to know POKE 65495,0 :-)
        
               | ddingus wrote:
               | Indeed.
               | 
               | I just got a nice, old CRT for use with my retro
               | machines. A CoCo upgrade and jam session is in my future.
        
           | jacquesm wrote:
           | That is exactly correct. You beat me by 60 seconds, while
           | writing up my comment, I saw yours after posting.
           | Interesting, I wonder how many neurons I'm wasting on useless
           | 8 bit instruction set trivia.
        
             | jonsen wrote:
             | Same here :), but a beauty like 6809 is worth remembering.
        
         | Mountain_Skies wrote:
         | Wonder how difficult it would have been to get OS/9 or Flex
         | running on a custom build like this.
        
           | jacquesm wrote:
           | OS/9 should be trivial to port, it was written with that goal
           | in mind.
        
           | buescher wrote:
           | Probably not too hard. There's a port of NitrOS-9 to this
           | crazy thing, for example: https://www.frontiernet.net/~mmarle
           | tte/Cloud-9/Hardware/Libe...
           | 
           | I haven't tried his CUBIX on his emulator yet, but there's a
           | certain richness to systems that start with a full fledged
           | debugger on the bare metal. And he's got his own assembler,
           | Forth, BASIC, APL, C compiler...
        
         | Stratoscope wrote:
         | > _Sign extension (SEX instruction!)_
         | 
         | We were definitely into SEX in those days.
         | 
         | In the late 1970s I was working at Tymshare, and one of my
         | tasks was maintaining the assembler and linker. (I think this
         | was on the PDP-10 but it could have been another machine.)
         | 
         | We wanted a "weak external" feature, somewhat akin to a "weak
         | reference" in modern languages: instead of failing to build if
         | the external symbol was not defined in another object file, it
         | would link OK but leave a null value that you would check at
         | runtime.
         | 
         | The assembly directive for a regular external was EXTERN. I
         | thought of calling the weak external WEXTERN but that looked
         | silly. So I decided to call them Secondary Externals, with the
         | directive being SEXTERN.
         | 
         | And as far as I know, no one complained!
        
         | jacquesm wrote:
         | There is no divide instruction. You had to write a subroutine
         | for that, you could mask it as a macro on a half decent
         | assembler but the CPU did not have it natively, it did have 8x8
         | multiply.
        
       | Mountain_Skies wrote:
       | What a nice build though it does look like you might get stabbed
       | in the wrist by the latches when typing on it. Good reason to
       | wear a sweat shirt while using it.
        
       | ddingus wrote:
       | The 6809 is a gem. So much fun to program in assembly.
       | 
       | Someone should do a Ben Eater style kit. I am very tempted!
        
         | Simplicitas wrote:
         | that would nice
        
       | tasty_freeze wrote:
       | Byte magazine had an article back in the day where one of the
       | designers talked about their decision process and intent while
       | designing.
       | 
       | Luckily, someone has already scanned that article. In fact, it
       | looks like they recreated the article:
       | 
       | https://cdn.hackaday.io/files/460001968064000/byte_6809_arti...
        
         | Narishma wrote:
         | Here's the original article, in three parts:
         | 
         | https://archive.org/details/byte-magazine-1979-01/page/n15/m...
         | 
         | https://archive.org/details/byte-magazine-1979-02/page/n33/m...
         | 
         | https://archive.org/details/byte-magazine-1979-03/page/n47/m...
        
           | illys wrote:
           | Aside the article, the computers depicted in the ads are
           | amazing!
        
       | ezequiel-garzon wrote:
       | I remember seeing an ad of an Apple computer, possibly from the
       | 80's, that was sold as portable but putting together the whole
       | package resulted in a huge cube. Does anybody know the model
       | number, or have a link to the add?
        
       | elvis70 wrote:
       | For what it's worth, the source code of OmegaSoft Pascal, a
       | Pascal cross-compiler with linker/assembler/... for OS9/68000
       | targeting the 6809, is available: http://pascal-
       | central.com/omega.html
       | 
       | Direct link to the archive:
       | http://www.certsoft.com/PXK9_OS9_Source.zip
       | 
       | This seems to have been written in Pascal (Modula?).
        
       ___________________________________________________________________
       (page generated 2021-02-05 23:01 UTC)