Re: [M100] hi-memory and programs

2018-10-12 Thread John R. Hogerhuis
If you load it from BASIC prompt it will print out the addresses.

http://bitchin100.com/wiki/index.php?title=Loading_a_typical_CO_file

-- John.

On Fri, Oct 12, 2018 at 4:29 AM Jesus R  wrote:

> This is great information and explains some of the oddities I have been
> experiencing. When I copy the teeny.co file from Rex to the unit it just
> beeps when I select it, but no additional information is printed out.
>


[M100] hi-memory and programs

2018-10-12 Thread Jesus R
This is great information and explains some of the oddities I have been
experiencing. When I copy the teeny.co file from Rex to the unit it just
beeps when I select it, but no additional information is printed out.


Re: [M100] hi-memory and programs

2018-10-08 Thread John R. Hogerhuis
CO files are a binary image of a program that you can run. But the 8085
generally doesn't support position independent code. So it cannot run from
where the file happens to be in the RAM file system. Also, the file system
can change as files are edited, so if you're accessing the file system, the
running program could be moved while it's running! This would be bad.

So the way it works is that the CO file has a header that says where it is
assembled to run at.

When you launch the CO program the ROM will check and see if HIMEM has been
moved low enough to reserve protected space for the CO (or other COs) to
run where it (they) are assembled to run. If it hasn't then it beeps and
prints out the CO header information so you can devise a CLEAR statement
that will modify HIMEM so the CO can load.

Now the interesting thing is, once HIMEM has been moved down, BASIC ROM
will only interact with the reserved area when you launch a CO. So you can
LOAD the .CO once, it will copy to HIMEM, and it is basically protected.
You can then CALL its entry point to execute the program.

You could even delete the .CO program from the file system and save the
space the CO occupied, since the program is now installed.

The thing you of course have to be careful of is two COs assembled to run
from overlapping HIMEM regions. When one exits, launch the other one. It
will overlay the previous one. If you always run the CO file, no problem.
But if you want to "install" CO programs in high memory and run from a
trigger file / CALL statement, then you have to be careful that the COs are
assembled to run in different non-overlapping regions.

There are a couple of areas you could install code that is not in HIMEM
region. You could put code in the ALT-LCD area, or small bits of code in
other hidey holes.

One interesting place we discussed recently was embedding machine code in
BASIC strings or in special hidden/ unlistable high-numbered BASIC lines of
code.

-- John.
On Mon, Oct 8, 2018 at 3:17 PM Jesus R  wrote:

> Can someone please explain hi-memory on the T100 and if some programs need
> to be placed there for use?
>
> Jesus R
>


[M100] hi-memory and programs

2018-10-08 Thread Jesus R
Can someone please explain hi-memory on the T100 and if some programs need
to be placed there for use?

Jesus R