On Thu, Feb 12, 2026 at 10:43 AM B 9 <[email protected]> wrote:

> I created a single machine language .CO file
> <https://github.com/hackerb9/crc16-modelt/blob/idtest/CRC16.CO> which
> should run on any of the Model T variants (at least it does in emulation),
> but now I’m trying to figure out how it would be loaded onto them. As a
> binary it is not easy to transmit.
>
> Ideally, I’d have a BASIC loader that would POKE the program into memory,
> but the problem with that is that my .CO file is already 1.5 kilobytes
> long, so it barely fits into memory on an 8K machine. (Which, in itself
> wonders me. Please see my calculation below and correct me if I’m
> mistaken.) I believe a BASIC loader would expand the file size and simply
> not fit.
>
> So my first question is: Is there something like TEENY for all Model
> T’s,even for the less common variants like the Olivetti M10, that can
> receive binary files over the serial port?
>
> My second question is: Am I confused about the 1.5K limit on
> cross-platform .CO files? I’m fairly new to assembly language on these
> devices and have made some guesses based on what I’ve been observing in the
> Virtual-T memory viewer. Let me state my presumptions explicitly, so you
> all can help me figure out where, or if, I’m going wrong.
>
>    1.
>
>    A single .CO program can run on the Kyocera Kyotronic 85 and its
>    sister computers: TRS-80 Model 100, Tandy 200, Tandy 102, Olivetti M10, NEC
>    PC-8201A, and NEC PC-8300.
>
>
Not really. The ROMs entry points are different so you'd have to patch
calls as you load. I think the CO header structure is the same for all, but
not sure.

>
>    1.
>
>    2.
>
>    All the Kyotronic kin must store a .CO file *twice* in memory: Once in
>    the filesystem and a second copy in high memory when it is loaded through
>    LOADM, RUNM, or by selecting it from the MENU. [Side question: Does
>    distribution on cassette get around this limitation? Do all machines have
>    the same audio encoding format?]
>
>
Not exactly? Yes if you want to keep it reloadable, you need both the file
and the loaded image.

But it is common to clear space, load the file into its execution area
once, and then delete the CO file and it lives in the cleared space. Maybe
create a trigger file so you don't need to remember the CALL entry point.
But you don't need to keep two copies.

If you have TS-DOS with DOS-ON you can clear then LOADM the file directly
to its execution area and bypass the file system.

And you can do the same trick with a cassette file. CLEAR first, then
CLOADM.

and you can have multiple programs there if they mind their manners.

Not many on an 8K machine :-)

-- John.

>

Reply via email to