[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)