Pages

2013-08-23

Resurrecting the OS-9/68K (OSK) kernel using the FAME 68K Emulator

** NOTE ***

I know the code linked here has been broken for some time. Apparently the FAME emu, or (more likely) my abstraction on top of it, does not boot OS-9 properly on x86_64 Windows. I do intend to look into the issue (really!) but have been swamped by 'real life' the last while. I appreciate your patience; please check back periodically to see if I've finally fixed this to work on modern x86_64 Windoze installations and hopefully Linux, where I'm spending more time nowadays. -rlm

The Motorola 68000, sadly, is mostly a relic nowadays. It had a beautiful instruction set and a clean architecture, from software all the way down to the bus protocols. Alas, all good things must pass...

However, there was a damn good operating system written for this CPU which I just can't stand to see die slowly, rotting on lost floppy discs and SCSI drives. The OS of which I speak is the OS-9 RTOS by Microware: a microkernel which was originally written for the Motorola 6809 CPU as a contract from Motorola to showcase their new CPU (most famously used on the Tandy Color Computer, various GIMIX systems, the Sharp X68000 series in Japan, and the Fairlight/CMI synthesizers of the early 80s), then ported to the Motorola 68k series of processors, the x86, ARM and Hitachi SH series, amongst others.

This operating system has been really short-changed by history. Ask most programmers which consumer (non-mainframe/UNIX/'big-iron') system was able to do multitasking and/or timesharing; you'll usually get answers of the Commodore Amiga, or the PC, or the Mac. They're all wrong. OS-9 was doing this in 1979, before the Commodore 64 even existed, with a full-fledged UNIX-style shell environment and all of the flexibility that philosophy brought with it, in less than 64 kilobytes!

The folks at Microware really should be legends in the industry for their forward-thinking software. Applications, device drivers, the kernel, and even instances of devices were all modules using an object-based structure that could be configured at boot time, then subsequently reconfigured at run-time, as modules were added or removed, with no reboots. Hmm, it only took, what, twenty-plus years, for other mainstream desktop operating systems to achieve this (and imperfectly)?

With that in mind, I now place here a small lifeline for this amazing operating system in the hopes it will be preserved (and perhaps improved...)

OS-9/68k 'RUSSBOX' Emulator Proof of Concept

This uses the FAME/68K emulation library under Cygwin to boot an OS-9 68000 'idealized' abstract system of my own design (by 'abstract', I mean a system which doesn't correspond to any 'real' historical system and is as simple as possible for the purpose of booting OS-9).

--
BUILDING AND RUNNING THE RUSSBOX OS-9/68K (TEST EMULATION):

Requirements
--
Windows XP or Win7_x86 (32-bit)
cygwin (32-bit)

From the cygwin prompt in your home directory:

$ git clone git://tripe.blitter.com/os9_68k_sdk_v12.git MWOS
$ cd MWOS
[This gives the pristine MWOS OS-9/68k port dev tree, sans Hawk UI cruft, etc.]
$ git checkout origin/rlm-sys-1
[This switches to a branch which adds the virtual 'RUSSBOX' support files:
  MWOS/OS9/68000/PORTS/RUSSBOX - plus some .d/.a files to support the virtual
  hardware in higher directories within MWOS/...]

$ git submodule add git://tripe.blitter.com/rlm-sys-1.git \
     MWOS/OS9/68000/PORTS/RUSSBOX/rlm-sys-1
[This is the emulator itself, using FAME 68k library]

$ cd OS9/68000/PORTS/RUSSBOX

$ . ./mwos_env.sh

[open a second cygwin terminal]
$ cd MWOS/OS9/68000/PORTS/RUSSBOX/rlm-sys-1/
$ stty -echo -icanon -icrnl -inlcr min 1 && nc -u 127.0.0.1 8800

[return to first cygwin terminal]
./run.sh

[switch to second cygwin terminal]
[press ENTER]
[You should see a RomBug: prompt.]
[Type [.],[ENTER] to see 68k registers]
[Type [g],[ENTER] to start boot]
[After a few seconds you should see the OS-9 '$' prompt.]
[Type some common OS-9 commands, eg 'devs', 'free', 'mdir', 'dir']

NOTES

The backspace/del key doesn't work.. the terminal via UDP is primitive and the exact setup for 'stty' above can probably be improved to at least let through delete properly.

Typing CTRL-C on the OS-9 terminal also terminates the stty connection, rather than transmitting CTRL-C through to the OS-9 target.

** NOTE after typing CTRL-C to interrupt the UDP terminal, one must type blindly:

stty echo

.. to turn on echo for the cygwin shell again.

Eventually I would like to write a dedicated UDP terminal + emulator 'front panel' that can pass all ascii codes through properly, and integrate in other ways with the virtual target (such as some way to show the virtual framebuffer, I/O, etc.)

While rudimentary this serves as a demonstration that the FAME/68k emulation library is sufficiently accurate to fully bootstrap and run the OS-9 68000 kernel and as such we can preserve the OS-9/68k operating system in an environment which will never be subject to the ravages of time, dying hardware etc. :)

rlm-2013-08-22


UPDATE


For posterity and my own records, I am adding below the notes I made years ago on how to backup an RBF (disk) device from an OS-9/68000 machine to a Windows box over serial line via Kermit or ZModem. This was the best solution in my experience for imaging OS-9 disks, with the minor drawback that it requires a working OS-9/68000 box. Linux (and AFAIK Windows/DOS) really don't like 256-byte sector formats, so it's difficult to do from 'the other side'.

---
HOWTO: Transfer OS-9/68k disk images to a remote system

This HOWTO describes the procedure for transferring raw disk images from an
OS-9/68k system to another computer over serial port.

Hardware Required:
1. OS-9/68k target with one functioning serial port
2. Remote system with a terminal program and zmodem capability (I used
   Windows XP and ‘teraterm pro’)

Gathering information

First you must know the format of your OS-9 target’s disks.
[TODO: Quote microware /u0, /d0, /pc0 formats common to many systems]

A utility not included with OS-9 distributions officially, but essential
for managing different disk formats, is ‘dmode’. It can be found on
os9archive.rtsi.com
[http://os9archive.rtsi.com/index.php/os-9-archive-new/file/3913-os-9-archive]


Example for the WCP306:

wcp:dir /hs0

                       	Directory of /hs0 00:13:10
CMDS        	MODS        	OS9Boot     	SYS         	USR
WCP306.readme   init.ramdisk	startup
wcp:dmode /hs0
name=hs0
 drv=0 stp=3 typ=$27 dns=$03 cyl=80 sid=2 vfy=0 (on) sct=32 t0s=32
 sas=8 ilv=2 tfm=0 toffs=0 soffs=0 ssize=256 cntl=$0000 trys=0 lun=0
 wpc=0 rwr=0 park=0 lsnoffs=0 totcyls=80 ctrlrid=0 rates=$30
 scsiopt=$0000 maxcount=65535
wcp:

Transferring the raw disk image

On the OS-9/68k side, the ‘sz’ utility is used to send the output of the
disk’s raw data (using the OS-9 ‘@’ suffix on a device name to indicate raw
mode) via ZMODEM protocol.

Eg., from the OS-9 shell:

$ sz /hs0@
[OS-9 size will wait for connection from remote side]

Then in TeraTerm Pro, choose File->Transfer->ZMODEM->Receive.

The resulting file will be called ‘hs0@’ on the receiving side. That isn’t
ideal, so one can also use OS-9 pipes effectively to give the data stream
a more meaningful name:

$ list /hs0@ >/pipe/wcp306_os9v3.0_disk1of5_hs0.dsk &
$ sz /pipe/wcp306_os9v3.0_disk1of5_hs0.dsk

Or, using kermit in server mode on the OS-9 side and TeraTerm to get files
(bear in mind KERMIT is much slower than ZMODEM):

$ kermit -x -i

Then in TeraTerm, choose File->Transfer->KERMIT->Get...
and enter the raw filename of the disk (eg., /hs0@)

Here again, one would have to rename the downloaded file to something
meaningful before transferring another disk so as not to overwrite the last
transferred image.

One could also use the stock OS-9 ‘copy’ command with named pipes and tar to
send over serial, then use untar on the other end, or similar methods, to
transfer raw disk images. But ZMODEM has error correction, which is desirable
since serial comms can have errors that would otherwise go undetected.

To do a file-level (rather than sector level) copy of a disk device, one
could use tar on both ends to transfer the disk’s contents:

[From OS-9 side]
$ gtar cf /pipe/hs0.tar /hs0 #128k &
$ sz /pipe/hs0.tar

[On PC side, using TeraTerm Pro]
File->Transfer->ZMODEM->Receive
---

59 comments:

  1. Great work! Too bad Motorola didn't beat Intel on the desktop. 68k/CPU32 forever!

    ReplyDelete
  2. I absolutely love the work you've done with OSk and FAME.

    I too am interested in the preservation of OS-9. I took a bit different tact: I used the OS-9/x86 (OS-9000) eval CD, a bit of elbow grease, and some work-arounds with some PC emulators to produce a working OS-9000 VirtualBox image. I never got MAUI working, but networking and NFS is all set.

    My HD image includes the native-hosted Ultra C compiler, as well.

    The current line of thinking, when I get some real time to dig in, is to port os9exec (or perhaps create something similar) to OS-9/x86, thereby allowing OS-9/68k applications to run on OS-9/x86.

    I'm not super-familiar with the Windows-hosted MW tools, or Cygwin for that matter. If you have the time, I'd appreciate any pointers you could give in what would be needed to integrate the two MWOS trees for 68k and x86. Hopefully this weekend I'll get a bit of time to diff some things and figure out if the Windows bins are even the same versions and so forth.

    And of course, if you'd like a copy of the x86 stuff, you are welcome to it.

    ReplyDelete
    Replies
    1. Yes, I would definitely be interested in trying out the x86 virtualbox image! Great to hear someone has gotten that working with networking as well.

      As I understand it, OS-9000 was written mostly in C, so the codebases may not be easily integrated. The cross compile tools are all DOS so I don't know if one would be able to build OS-9 68k modules from the OS-9000 environment if that's what you mean...

      Anyway yes please contact me about it :)

      Delete
    2. This comment has been removed by a blog administrator.

      Delete
    3. Hello Russ,

      Thank you for the amazing work you have done with OS-9. I'm trying to resuscitate a few 68K OEM boards as well as a home-built wirewrap 68008 board. I have the boot ROMs but don't have the OS. It seems like the emulation you are running on FAME came from a Hawk for 68K distribution disc. Is there any chance I could have a copy of that disc ?
      I would infinitely appreciate any help you might be able to offer.

      Regards,
      L

      Delete
    4. Hi, a git repo is here, try: git clone https://blitter.com/git/os9_68k_sdk_v12.git

      Delete
  3. Hello,

    I have a practical and industrial application for an OS9 68040 emulator, and a project to develop it. Could you please contact me to discuss?

    ReplyDelete
  4. Your git repo isn't connecting (connection refused). Is it gone forever?

    ReplyDelete
    Replies
    1. Should be fixed now. Note the git repository paths had to change slightly, I have updated them in the post.

      Delete
  5. Came across this recently and I must say I'm very interested. So far, I haven't been able to get anything to compile. Will continue to work on it.

    ReplyDelete
    Replies
    1. What error do you get trying to build? I haven't touched this in a while but I'll try to help if you can give more details.

      Delete
  6. DangerRuss: first of all, thank you very much for this post! I'm working on a legacy industrial system which uses a 68k CPU and OS-9. I've been looking high and low for a way to emulate the hardware and am cloning your git repo as I write this. Would you be open to chatting over email about your work on the 68k/OS-9 platform? I'm a dedicated embedded engineer by day and software mercenary part-time trying to rapidly gain knowledge... and reading over your profile I think we may have a lot in common.

    ReplyDelete
  7. Hope you get this, it seems google in general is having conniptions tonight (or maybe it's this laptop I'm using).

    Anyways... sure, fire off a mail to me at 'rmagee' at gmail... I haven't worked on this in around two years to be honest (since shortly after posting it). But I'd be happy to answer any questions, perhaps it'll kick my butt to do some more work on it.

    Try it out and let me know if the instructions above work for you.

    What OS-9 system are you working on? I haven't worked on real 68k hardware in many years now sadly.. but perhaps something here can help you.

    ReplyDelete
  8. Is the os9_68k_sdk_v12 file still available?

    ReplyDelete
    Replies
    1. Hi, sorry -- blogger apparently is broken for Firefox now and I had to load up Chromium to reply to you! Sheesh.

      It was a firewall issue, please try pulling the git repo now.

      Delete
  9. Hi Ppl! I own an old Bosch Motortester and found that it runs on OS-9000. I have lots of floppies containing the OS. Can anybody give me a hint how i can make images of those floppies? DD under linux does not work. ;-)
    Thanks a lot

    frank

    fk@man-kat1.org

    ReplyDelete
    Replies
    1. Hi, if your OS-9000 box still boots and runs, you can make images of the disks by following the guide here:

      https://docs.google.com/document/d/1_7Y6i06PLMXfMX0sFKhO8L_IMEOu0F56Vb61dmVOzMg/edit?usp=sharing


      You'll need a Windows box and a good term program that supports zmodem and/or kermit (TeraTerm Pro is what I used).

      Delete
    2. Here is a link to the utils I used from Linux many years ago to read OS9 disks. They use the linux 'fdrawcmd' to achieve a low-level read of the physical media.

      https://drive.google.com/open?id=0ByNvoX1GE59_NWhIY29UMnJCbnc

      Credit to Bob van der Poel for writing this.

      NOTE you'll also need 'fdrawcmd', part of the 'fdutils' package. It's available from Debian, or source is in git here: git://anonscm.debian.org/collab-maint/fdutils.git

      Delete
    3. Who needs to read OS disks with the first track FM-formated, might look into Bob von der Poel extended distribution with some additions and fixes by me: http://jk.kom.tuwien.ac.at/software/os9/
      Bob won't add this update to his site, but allowed me to redistribute it on mine.

      Delete
  10. Hi Russ
    Very nice job.
    I tried the:
    git clone git://tripe.blitter.com/git/os9_68k_sdk_v12.git MWOS

    but it times out.
    Any way to get a copy ??
    Also, the guy , who made OS9000/x86 run in Virtual Box, can he be contacted ??
    Ole

    ReplyDelete
    Replies
    1. Hello, apologies for the delay. git repos should now be back online.

      Delete
  11. Ack, my server appears to be down -- and I'm out of town until Tues the 10th of January! My apologies. I'll see if I can get things up again as soon as I get back.

    I can ask the gentleman who has been tinkering with OS-9000 if he'd be OK with me connecting you two, sure :)

    Happy New Year!

    ReplyDelete
  12. Hi DangerRuss
    Is your server up again ??

    ReplyDelete
    Replies
    1. Drat, sorry! I moved my server to Gentoo a while ago and forgot that I hadn't made my git-daemon part of the default runlevel. It should be up (and stay up) now.

      Delete
  13. I wonder if you have made any progress on this. When I try to launch the emulator, I get...

    Power-on reset...ok.
    Installing TimTick ms-timer...ok.
    Entering emulation.
    [TIMT_LOAD written zero - IRQ disabled]
    TERM 0 RX ovf [repeated many times]
    TERM 0 RX ovf
    TERM 0 RX ovf
    [CPU NOTICE: cpu_status=16]
    T0: RXD:3c TXD:0a BR1:1 BR0:1 TXE:1 RXF:1 RXV:1 TEI:0 RFI:0 IRQEN:0
    T1: RXD:0d TXD:00 BR1:0 BR0:0 TXE:1 RXF:1 RXV:0 TEI:0 RFI:0 IRQEN:0
    PC:00F00E64
    D0:00000000 D1:00002000 D2:00000000 D3:00000000
    D4:00000000 D5:00000001 D6:FFFFE000 D7:000047F8
    A0:00F009A8 A1:00F00478 A2:00F80000 A3:00F80000
    A4:00005800 A5:00000400 A6:00000000 A7:000047EC
    SR:2000 Flags: -----
    [Press a key to continue.]

    ReplyDelete
    Replies
    1. Oh dear. I seem to have reverted my repo by accident. I need to look through backups. I hope I didn't lose the latest version!

      I will update here once I find out.

      Delete
    2. Turns out the repo is fine so far as I can tell; the issue seems to be with win7 x86 vs. win7 x64, or cygwin32 on win7 x64.

      I'll try to pinpoint the issue further soon. Please try the steps here on a win7 x86 system using cygwin32.

      ** As well, the 'mwos_env.sh' script may need to be edited on your system to match the actual installation root of your cygwin32 and checkout directory of the repo.

      Delete
    3. This comment has been removed by the author.

      Delete
  14. Hi DangerRuss

    I want to get our software but I've an error:
    Fatal: remote error: access denied or repository not exported ...

    is your server down?

    Best regards

    ReplyDelete
    Replies
    1. Hi. sorry for the delay in replying. I made a typo in the latest edits to the post, there was a missing path component in both git clone commands. Fixed now, please try again with the new paths.

      Also note there's currently an issue on 64-bit Windows systems and/or cygwin 64-bit. Things only work right now on 32-bit Windows with 32-bit cygwin. I need to dig into why, hopefully it's not the FAME emu engine itself as I don't know x86 asm :)

      Delete
  15. Any way to still access this git repo?

    ReplyDelete
  16. Hello, my apologies. I was out of town for a while and wasn't checking the blog. I reconfigured the server and neglected to verify my git setup. Links in the article have been corrected and the repositories should now be operational again.

    ReplyDelete
  17. I had an OS-9/M68k machine at home. At one time it had a 68010 (with 2.5 Mb), later with a 68020 card which I even upgraded with a 68030 using a adapter board. That card had 8Mb of memory.

    It also came with a graphics card featuring a 82768 intel chip.
    At a certain time I ported X11R5 to this machine.

    I still have the hardware and I saved the disk image using dd on a unix machine.

    The OS-9 small multitask kernel with the modular support was indeed great. I ported a lot of unix tools in those days and learned a great deal about programming.

    Thanks for the git, it allows me to revive a lot of memories and maybe use it for a 68030 board I am developing and for the 68332 board I made a long time ago!

    ReplyDelete
  18. OS-9, like the Dude, abides. See http://www.microware.com/

    ReplyDelete
  19. git clone reports "Connection refused" :(
    Is this code not available anymore?

    ReplyDelete
    Replies
    1. Should be working now. Every time I upgrade my server I forget something :)

      Delete
  20. Sorry, but still not working...
    look here:
    git.exe clone --progress --recursive -v "git://tripe.blitter.com/git/os9_68k_sdk_v12.git MWOS" "D:\Documents\Informatique\Projets-Git\os9_68k_sdk_v12.git MWOS"

    Cloning into '/d/Projets-Git/os9_68k_sdk_v12.git MWOS'...
    Looking up tripe.blitter.com ... done.
    Connecting to tripe.blitter.com (port 9418) ... 96.54.207.6 done.
    fatal: remote error: access denied or repository not exported: /git/os9_68k_sdk_v12.git MWOS

    :-(

    ReplyDelete
    Replies
    1. Sorry, the path for that repo should be

      git://tripe.blitter.com/os9_68k_sdk_v12.git

      Delete
  21. Trying on 32-bit Windows 10 Pro but I don't get it to work.

    The FAME 68k emu files are under a MWOS/MWOS/OS9/68000/PORTS/RUSSBOX/rlm-sys-1 directory following the instructions above. The path needs to be adjusted for the git submodule add command. Fixed that as one is in your /home//MWOS directory, not the root directory of Cygwin a /MWOS install where the first cd MWOS should possibley have been cd /MWOS for root install instead of a user's home install of the MWOS port dev tree.

    $ git submodule add git://tripe.blitter.com/rlm-sys-1.git \
    **/**MWOS/OS9/68000/PORTS/RUSSBOX/rlm-sys-1

    else it gets dumped into

    /home//MWOS/MWOS/OS9/68000/PORTS/RUSSBOX/rlm-sys-1

    instead of

    /home//MWOS/OS9/68000/PORTS/RUSSBOX/rlm-sys-1

    or the root of cygwin

    /MWOS/OS9/68000/PORTS/RUSSBOX/rlm-sys-1

    but the env_sh.sh file has the PATH set to use the root of /cygdrive/c/MWOS/DOS/BIN to find os9make.exe to build the FAME emu by executing run.sh which it cannot find. Okay PATH environment variable setting in mwos_env.sh adjusted to fix.

    run.sh - errors close() in line 292 or mach.c so change to pclose() as recommended. Now a different error:

    mach.c: In function ‘term’:
    mach.c:292:16: warning: passing argument 1 of ‘pclose’ makes pointer from integer without a cast [-Wint-conversion]
    pclose(tN_fdesc[port]);
    ^~~~~~~~
    In file included from mach.c:4:0:
    /usr/include/stdio.h:344:5: note: expected ‘FILE * {aka struct __sFILE64 *}’ but argument is of type ‘int’
    int pclose (FILE *);
    ^~~~~~

    it continues to run

    Read 484844 bytes from ROM file.
    CPU context initialized.
    CPU context set.
    CPU initialized, ready for RESET.
    Initializing external peripherals...
    binding port 0 to port 8800
    TERM 0 init
    binding port 1 to port 8801
    TERM 1 init
    ok.
    Power-on reset...ok.
    Installing TimTick ms-timer...ok.
    Entering emulation.
    [TIMT_LOAD written zero - IRQ disabled]

    then lots of RED

    TERM 0 RX ovf

    followed by

    [CPU NOTICE: cpu_status=16]
    T0: RXD:3c TXD:0a BR1:1 BR0:1 TXE:1 RXF:1 RXV:1 TEI:0 RFI:0 IRQEN:0
    T1: RXD:0d TXD:00 BR1:0 BR0:0 TXE:1 RXF:1 RXV:0 TEI:0 RFI:0 IRQEN:0
    PC:00F00E64
    D0:00000000 D1:00002000 D2:00000000 D3:00000000
    D4:00000000 D5:00000001 D6:FFFFE000 D7:000047F8
    A0:00F009A8 A1:00F00478 A2:00F80000 A3:00F80000
    A4:00005800 A5:00000400 A6:00000000 A7:000047EC
    SR:2000 Flags: -----
    [Press a key to continue.]

    no output to the second cygwin terminal.

    Continue holding a key to continue in terminal 1 and finally

    $ stty -echo -icanon -icrnl -inlcr min 1 && nc -u 127.0.0.1 8800
    cas " fo? for help.
    RomBug:
    RomBug:
    Rom

    in terminal 2 but no response to the keys mention '.' or 'g'.

    Still working on it! cygwin 32-bit, base-cygwin version 3.8-1

    ReplyDelete
  22. Went back and ran ./run.sh in term 1 and switched to term 2 holding enter and it finally gave a consistent Rombug: prompt

    typed in g and OS-9 booted. Eureka

    Still a few ovf errors and some others but it's running.

    ReplyDelete
    Replies
    1. Great work, good to hear you got it working!

      I do apologize for not giving this project attention for so long. I will take your notes and try to incorporate your fixes to bring it up to date.

      Thanks so much for your work!

      Delete
  23. You have a little "bug" when open rom to read.
    in --> romFile = fopen( (argc>1 ? argv[1] : "bootrom"), "r");
    you need open it like "binary" , with "rb", if not, you read binary file like text!!

    ReplyDelete
    Replies
    1. Yes, it's probably better to specify "rb" even though under Cygwin, AFAIK, "r" is sufficient ("rb" was required in DOS/Windows I think as binary mode wasn't default, whereas in POSIX/UNIX it usually didn't make a difference?).

      I'm curious -- is the emulation working for you as-is, or must you hold down [ENTER] in term1 as @KaosEngineer had to? I really need to reserve some time for fixing that ...

      Delete
    2. I'm trying it in win/dos , not linux!! In win is necessary "rb", but by now, does'nt run well, only test mode.

      Delete
  24. Hi DangerRuss, Can you also put me in touch with the person who did the VirtualBox image please?

    Regards,

    John.

    ReplyDelete
    Replies
    1. Hi! Unsure if I ever got a direct contact.. I will search. For now, here are some links to images that I believe have bootable OS-9 x86 evaluation images:

      lsw.ee.hm.edu/wiki/en_OS9_x86_Install

      http://lsw.ee.hm.edu/~tasin/qemu-and-os9000/OS9000-4.9_on_QEmu-with-XiBase9_en.zip

      Delete
    2. I found the old contact in my email archives, I've asked them to visit here and reply to your comment to arrange contact.

      Delete
  25. Hi! I have also a Bosch Gas Analyser running OS-9. Can you please send me the software package and the guide supporting the OS disk backup. Seems to meg the link from 2016 doesn't work anymore. Thank you!

    ReplyDelete
    Replies
    1. Hi, I'll archive the disk imaging utils I have and post them as links on this posting. Check back in a day or so and I'll put them at the end of the posting.

      Delete
    2. Here, this is the util I used to image disks on Linux, but I haven't used or built it in many years. Hopefully it still compiles on modern Linux. https://www.blitter.com/nextcloud/index.php/s/a6CgwH79gXrL3E3

      Delete
    3. Thank you for your help! I will check soon.

      Delete
  26. This steps are setup for Cygwin. Tried to follow and modify it for Linux Kubuntu 20.04, but cannot make it working.
    If anyone succeed on Linux please share.

    ReplyDelete
  27. https://github.com/John-Titor/os9-m68k-ports

    ReplyDelete
  28. Dear Anonymous user. Thank you very much for pointing to John Titor repository! I really appreciate your help, and will give it try sometime in future!

    ReplyDelete
  29. that's really great, I'am playing with the py68k emulator which is a python wrapper around musashi engine with facilities to create virtual device in a very easy way. I'll give a try to your emulator to add a target for 68katy board, and try to run your OS9/68K port on py68k.

    ReplyDelete
  30. Dear Russ, Would you be so kind to provide link to download SZ, Kermit and DMODE utilities?

    ReplyDelete
    Replies
    1. I will look and see if I can find them, they should be in my archives somewhere.

      There appears to be a mirror of the old FTP os9archive.rtsi.com is gone! :( :(

      Fortunately I do seem to have those specific commands archived.

      https://www.blitter.com/~russtopia/files/OSK/



      Delete
    2. Aha! the os9archive is still online.. it's just not very easy to find or use...

      https://microware.com/index.php/os-9-archive-new/category/103-cmds

      https://microware.com/index.php/os-9-archive-new/category/134-telecom

      https://microware.com/index.php/os-9-archive-new/category/102-archivers

      (but 'sz' is not there, I do not know if it is part of the os9archive).

      Delete