[HN Gopher] RTM-Z80: Retro Tiny Multitasking System for Z80 Base...
___________________________________________________________________
RTM-Z80: Retro Tiny Multitasking System for Z80 Based Computers
Author : elvis70
Score : 91 points
Date : 2022-01-20 14:14 UTC (8 hours ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| kragen wrote:
| The Z80 or 8080 is super interesting for bootstrapping purposes
| because it's roughly the smallest computer where a self-hosted
| development environment is practical. Smaller systems like the
| 8008, the PDP-8, or the AVR are just a little too small; you
| _can_ run a filesystem and a compiler or an assembler on them,
| but you probably don 't want to. By contrast, CP/M on the 8080
| could host not only the assembler used to write CP/M, but also
| the BDS C compiler (now free software) or the Turbo Pascal IDE.
| And, unlike the PDP-8, you can still buy a Z80.
|
| Depending on how you count, the 8080 has a few dozen
| instructions: https://dercuano.github.io/notes/8080-opcode-
| map.html#addtoc...
|
| So a new multitasking OS for the Z80 is pretty great!
|
| It has a few big disadvantages. Although you can multibank,
| there's no way to directly address more than 64K, which is a real
| pain. Even the Z80 is not well suited to languages where
| functions are recursive by default, like C, and the 8080 is even
| worse at that. There's no memory protection, not even an MPU, so
| there's no fault isolation and no virtual memory. And the Z80
| chips I've found are ridiculously power-hungry, like, 500 mA, and
| still run slower than an AVR.
| codebje wrote:
| You can buy brand new 20MHz Z80s, but with the multiple clock
| cycles per instruction they'll still be slower overall than a
| 20MHz AVR.
|
| The later chips in the 8-bit family are much more power
| efficient; I built an eZ80 board whose total power budget is
| 500mA including SD card and Ethernet module. It runs at 50MHz,
| but performance isn't really the reason we muck around with
| 8-bit CPUs, right? :)
| anthk wrote:
| Check CollapseOS.
| jhallenworld wrote:
| Another disadvantage is lack of any king of relocation
| hardware. If you don't have it, it means you are tied to a
| particular memory layout without run-time re-linking. 6809 has
| it through position independence. 8088 has it with segment
| registers (at least for .COM files and small memory model .EXE
| files. Large model files are re-linked during loading).
|
| CP/M's solution to this is to start the code at near-zero
| (0x100). This way forces the OS, drivers and hardware out of
| the way and permits binaries from one system to at least
| possibly run on another.
| ecpottinger wrote:
| Could the Amiga file type use of Hunks be used here? Your
| code sections were in Hunks with each Hunk having a relative
| section that tells where offsets need to be updated to match
| the position in memory the Hunk was written to.
| jhallenworld wrote:
| It sounds like the same situation as large model on 8088.
| I'm wondering if any 8-bit systems did anything like this,
| but I don't think so.
| codebje wrote:
| Turbo Pascal used to support building your program as
| multiple executables with a shared data space, so you
| could chain from one part of your application to another.
| [deleted]
| elvis70 wrote:
| The initial announcement:
| https://groups.google.com/g/rc2014-z80/c/is43UD_1vFA
|
| > My name is Ladislau Szilagyi, I'm 67 and I'm a big fan of Z80
| retro computers.
|
| > I just published on GitHub (
| https://github.com/Laci1953/RTM-Z80 ) my RTM/Z80 project.
|
| > RTM/Z80 is a multitasking kernel, built for Z80 based
| computers, written in Z80 assembly language, providing its users
| with an Application Programming Interface (API) accessible from
| programs written in the C language and the Z80 assembly language.
|
| From the repo:
|
| The user manual:
| https://raw.githubusercontent.com/Laci1953/RTM-Z80/main/RTM-...
|
| > The RTM/Z80 project is intended to offer to the retro-computer
| hobbyists and to anyone willing to learn about multitasking
| systems the necessary resources needed to understand and learn
| the basics of this interesting but difficult area of software
| engineering.
|
| The demo video:
| https://raw.githubusercontent.com/Laci1953/RTM-Z80/main/RTMD...
___________________________________________________________________
(page generated 2022-01-20 23:01 UTC)