Image Map Image Map
Results 1 to 9 of 9

Thread: Model 16 - Sunday ramblings

  1. #1

    Default Model 16 - Sunday ramblings

    OK, first up, whilst this is fascinating, i'm completely out of my depth (just setting your estimations).

    Over the past few weeks there has been huge changes in the M16 world, with PAL's being available, burst mode conversions, and Xenix 3.3 updates. However, how about............

    A little while ago here, someone made an off the cuff comment about building a new Model 16 CPU card, maybe a 68010/20/30. Through the power of Google, and some Sunday reading, it appears a lot of hobbyists have gone before us. So far, I've found S100 variants, and a number of simple single board 68030 hobbyist boards which are both CPU/ROM and Memory.

    All in all, they dont appear massively complex.

    So, the Sunday Ramblings question is, do we have the combined skill to design, develop and make a short run of Model 16 68030 (last of the 8 / 16 bit versions) CPU cards with say 8Mb of RAM?

    For reference:
    - S100 Board - http://www.s100computers.com/My%20Sy...30%20Board.htm
    - T030 hackaday project - https://hackaday.io/project/9439-t030
    - Alcetronics M68K - http://mc68k.blogspot.com/2012/05/
    - RetroBrew 68030 - https://www.retrobrewcomputers.org/d...kiss-68030_1.0

    There are also a huge number of Amiga 68000 to 680x0 converters both old and new out ther.

    Are we up to this?

  2. #2

    Default

    I've been thinking about this, too, but is near the end of my list.

    My list is:

    1. 512k board for Model II.
    2. Faster z80 board for Model II.
    3. Some kind of clone hard drive controller that is compatible with Xenix but uses CF or SD cards.
    4. Some kind of uC-based video board that is software compatible with the Model II video board, but outputs VGA.
    (At this point, we would have everything needed to assemble a complete Model II clone, which would be keen considering how hard they seem to be to find now.)
    5. 4mb+ board for Model 16 68k.
    6. 68k CPU board for Model 16, using more modern components (probably with a bunch of RAM built in).
    7. 030 + MMU board for Model 16.
    8. Get M68k Linux kernel to boot on it.

    Of course like most of my projects, it is very likely that I'll end up chasing some other shiny squirrel up some other tree before any of it gets off the ground, lol.

    But the Model II architecture is very clean and friendly to work with, from my reading/experiences so far. They weren't worrying so much about pinching pennies, so the design is really clean. I think if we could eventually get some kind of 2.x linux kernel to boot on it, we'd get a TCP/IP stack and POSIX. Which would be pretty darn cool.
    -- Lee
    If you get super-bored, try muh crappy YouTube channel: Old Computer Fun!
    Looking to Buy/Trade For (non-working is fine): Tandy 1000 EX/HX power supply, PS/2 Model 25-286 ISA expansion riser, Mac IIci hard drive sled and one bottom rubber foot, Multisync VGA CRTs, Decent NuBus video card, PC-era Tandy stuff, Aesthetic Old Serial Terminals (HP and Data General in particular)

  3. #3

    Default

    Personally I think a modern memory board for the 68K card would get a lot of use. There aren't enough 1MB memory boards out there and it seems rare to acquire one outside of buying an entire system. 256K boards can be had but they are still $100+.

    I've thought about creating one for a while and this is the basic outline of what I'd like to accomplish. I don't know if I'll ever get around to making one but the information might help out somebody else going down that road.

    Modern 68K Memory Board

    Small footprint connecting directly to the 68K CPU boards 34/50 pin IDC headers and powered externally rather than from the bus. A single board should solve the line ring, jitter and other bus timing/level issues Tandy encountered when using more than 3 or 4 of the 1MB boards. It would have lower power requirements by design and being powered externally would reduce the power demands on the cage which was always an issue.

    Usable address space of 000000-77FFFF with the ability to present the the 2MB and 5MB address spaces as "empty" via jumper, dip switch, etc. Having the ability to blank out those 2 address spaces allows the card to be compatible with all versions of XENIX and CPU boards regardless if they have a 2 or 3 bit extension to the stock 1 bit MMU.

    TRS-XENIX 1.3.x - The kernel will attempt to allocate all memory past what it requires as user memory. It has no kernel support for MMU extensions and crashes if there is more contiguous memory than the stock MMU can manage (1MB). The gap at the 2MB address space would allow the new memory board to work and the 3MB-5MB memory space could be utilized as ramswap or a ram disk.

    XENIX 3.0/3.1 - The kernel will only attempt to allocate memory in the first 1MB as user memory. It has no kernel support for MMU extensions but the 2MB-5MB memory space could be utilized as ramswap or a ram disk.

    XENIX 3.2/3.3 - The kernel will attempt to allocate all memory past what it requires as user memory. It has kernel support for MMU extensions and if there is more than 1MB of contiguous memory assumes a extension is present and can support the amount of installed memory.

    If there is no MMU extension XENIX 3.2/3.3 will crash if more than 1MB of contiguous memory is available. The gap at the 2MB address space would allow the new memory board to work and the 3MB-5MB memory space could be utilized as ramswap or a ram disk.

    If there is a 2-bit MMU extension present XENIX 3.2/3.3 will crash if more than 4MB of contiguous memory is available. The gap at the 5MB address space would allow the new memory board to work. This would support systems with Tandy's MMU extension.

    If there is a 3-bit MMU extension present XENIX 3.2/3.3 will utilize the entire 7680K of memory. This would support systems with Steve Harmon's MMU extension.

    Both Tandy and Snapp-Ware wrote drivers that utilize system memory past what the stock 1MB could manage as swap space or a ram disk. Tandy's driver is the most versatile and the only one we have source code for.

    Tandy's ramswap driver: https://bit.ly/35ahnFR
    Snapp-Ware's MemSwap driver: https://bit.ly/3j7WH6j
    Last edited by dlightman; October 18th, 2020 at 03:43 PM.

  4. #4

    Default

    Yeah, it looks to me like a RAM card would be fairly easy. The most complicated thing is the refresh logic, but if we used those 512k Alliance SRAM DIPs, then we could do away with all of that. I 'spect the circuit would then be very straightforward, although I haven't looked into making a 68k RAM card yet (I'm still rebuilding my poor Model II that got destroyed in shipping, and thinking about z80 RAM boards at the moment, although I am also trying to collect the 68k hardware I need when it comes available).
    -- Lee
    If you get super-bored, try muh crappy YouTube channel: Old Computer Fun!
    Looking to Buy/Trade For (non-working is fine): Tandy 1000 EX/HX power supply, PS/2 Model 25-286 ISA expansion riser, Mac IIci hard drive sled and one bottom rubber foot, Multisync VGA CRTs, Decent NuBus video card, PC-era Tandy stuff, Aesthetic Old Serial Terminals (HP and Data General in particular)

  5. #5
    Join Date
    Jan 2012
    Location
    Connecticut, USA
    Posts
    3,173

    Default

    Wait wait wait... You can boot a modern linus kernel on a big trs80 with a 68k card?? I really need to get my system up and running.

  6. #6

    Default

    No, you can't. But if we had an 030 card with a MMU, it would be technically possible, if we wrote the device drivers.
    -- Lee
    If you get super-bored, try muh crappy YouTube channel: Old Computer Fun!
    Looking to Buy/Trade For (non-working is fine): Tandy 1000 EX/HX power supply, PS/2 Model 25-286 ISA expansion riser, Mac IIci hard drive sled and one bottom rubber foot, Multisync VGA CRTs, Decent NuBus video card, PC-era Tandy stuff, Aesthetic Old Serial Terminals (HP and Data General in particular)

  7. #7

    Default

    The S100computers site have been doing this for years, and have multiple designs for SRAM memory cards which I would assume can be cannibalised to suit our needs.

    http://www.s100computers.com/My%20Sy...AM%20Board.htm

    They have over the years developed a few which probably far exceed our needs, certainly for the M2 cards, and maybe up there for the M16 ones.

  8. #8
    Join Date
    May 2011
    Location
    Outer Mongolia
    Posts
    3,068

    Default

    Quote Originally Posted by bladamson View Post
    No, you can't. But if we had an 030 card with a MMU, it would be technically possible, if we wrote the device drivers.
    I wish I knew enough about the Model 16 family to actually comment intelligently on this thread, but here's some blather anyway.

    I've been sort of curious for a while what the "MMU" in the Tandy machines actually does, because I didn't know if Xenix actually required a MMU to do per-process virtual address spaces like "Real Unix" does or if it faked it like uCLinux. I found this article about Xenix on the 68000 architecture, and looking at the service manual... my ignorant take on it is the two sets of offset/limit registers that are described in "Section 4.0: Memory Management Circuitry" basically add up to a sort of "diet" version of the "segmented" scheme? (I say "diet version" because compared with the 68451 is uses as an example... it looks like the segment table would have to pretty much be maintained entirely in software, since there's basically only a single set of "system" and "user" offset/length registers?) Does this scheme mean that sometimes Xenix has to use the swap area to "defragment" tasks? (I assume it doesn't do actual demand paging/virtual memory due to the 68000's inability to recover transparently from a page fault?)

    I have no idea how hard that would be to adapt to a 68030's built-in MMU, assuming you wanted to keep running Xenix on it. The manual does say that address bit 23 is used to distinguish between whether the system or user register is active, so I guess that's where a pretty hard limit of 8MB for RAM would come from.
    My Retro-computing YouTube Channel (updates... eventually?): Paleozoic PCs

  9. #9

    Default

    In addition to the service manual Steve Harmons XMMU documentation is another great resource on how the stock limit/offset registers work and how they were expanded in XENIX 3.2.

    As far as processors go Tandy supplied separate 000 and 010 kernels for XENIX 3.x. The 000 doesn't do virtual memory or restartable instructions and while the 010 does there is no support for it in Tandy's XENIX distribution. I'm no expert but the modifications to make the kernel run on the 010 look to mainly be related to the stack differences between it and the 000.

    I have heard the idea of designing a CPU board around the NXP 68(S)EC000 @ 20 Mhz kicked around before but as far as I know nothing is actively being developed. Tandy's 8 Mhz board design will run at 12 with a few simple modifications so even a reproduction would be great to have. Hopefully a reproduction would also integrate the MMU extension to support the full 7.5M of memory in user mode.

    Not trying to dictate what anybody does with their big Tandy but if you want to maintain compatibility with XENIX I don't think a 030 will work without significant changes. The 020 looks to be somewhat compatible with the 010 but if the kernel does not take advantage of the new instructions could there be any performance improvement?
    Last edited by dlightman; October 20th, 2020 at 07:20 PM.

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •