Hi Willard, thanks for the response.  This gives me some good advice and a 
place to start.  I'll start by digging deeper into the archives, and then I'll 
check out those references you mentioned.
Cheers,CAM
    ----------------------------------------------------------------------


    Date: Wed, 28 Mar 2018 18:00:03 -0600
    From: Willard Goosey <goo...@sdc.org>
    To: m100@lists.bitchin100.com, m...@bitchin100.com
    Subject: Re: [M100] memory management and assembly language
        programming on M100
    Message-ID: <20180328180003.12c2e2f1@raspberrypi>
    Content-Type: text/plain; charset=UTF-8

    On Tue, 27 Mar 2018 19:23:09 +0000 (UTC)
    megarat <mega...@yahoo.com> wrote:

    > Hey folks,
    > My primary interest with the M100 right now is assembly language
    > programming.?

    Fun stuff!

    > Is there a primer or other documentation about what memory-management
    > caveats need to be minded when assembly programming with the M100,
    > and the best practices for dealing with them??

    The m100 is probably the most complicated 8bit environment to do
    assembly for ever!

    > I'm familiar with the
    > HIMEM variable in BASIC, so I'm wondering if there are some system
    > variables that can be read/set that pertain to the boundary between
    > variable vs. file storage.?

    Gary Weber(sp?) was putting together a web-side database with all the
    variables and named subroutines for the whole m100 family but I'm not
    sure about the status. Similarly, my asm80/zmac/asx/tasm ready m100
    defs file mentions most of the variables (and I need to upload the
    current version, sorry I've been doing too much overtime) but the
    variable descriptions may be more reminders than complete docs...

    I'd say start with the M100 Technical Reference, go on to the NEC 8201A
    technical Reference. Also the message database for this list, lots of
    assembly questions have been asked and answered here, and unlike me the
    list doesn't forget... ;-)

    There are system variables describing where the files end, and
    where variable space ends. The area from the end of variable space to
    the stack pointer is free space (I think). I haven't actually messed
    around with that area, I've kept my code and data between HIMEM and
    MAXRAM. :-(

    >Any direct, practical advice in this area
    > would be appreciated.
    >
    > Similarly, is there any technical documentation pertaining to how the
    > RAM-disk-based filesystem works?? I would love to get a better
    > understanding of how files are managed when stored in RAM.? I'm
    > familiar with the "file directory" that starts at F962 (as described
    > in "The Hidden Powers of the Model 100", page 72-76), but I still

    The best official documentation on how files work is actually the NEC
    8201A Technical Reference. TL;DR files are complicated and fragile...

    > have some unanswered questions, re: fragmentation, etc.

    Files are never fragmented. When a file grows, everything above the
    insertion point gets shoved upwards in memory. This can take awhile...

    My understanding of file operations is actually described in the docs
    for my Small C-85 m100 library.  I know you said you're interested in
    assembly, but that library is 99% just wrappers turning the assembly
    routines into C-callable stuff and its documentation is equally valid
    for assembly.

    My web page is http://www.sdc.org/~goosey/

    >
    > Thanks,CAM

    Good luck!
    Willard
    -- 
    Willard Goosey  goo...@sdc.org
    Socorro, New Mexico, USA
    I search my heart and find Cimmeria, land of Darkness and the Night.
      -- R.E. Howard


    On Thursday, March 29, 2018, 1:43:39 PM PDT, 
<m100-requ...@lists.bitchin100.com> wrote:  
 
 Send M100 mailing list submissions to
    m100@lists.bitchin100.com

To subscribe or unsubscribe via the World Wide Web, visit
    http://lists.bitchin100.com/listinfo.cgi/m100-bitchin100.com
or, via email, send a message with subject or body 'help' to
    m100-requ...@lists.bitchin100.com

You can reach the person managing the list at
    m100-ow...@lists.bitchin100.com

When replying, please edit your Subject line so it is more specific
than "Re: Contents of M100 digest..."


Today's Topics:

  1. Re: memory management and assembly language programming on
      M100 (Willard Goosey)
  2. Re: memory management and assembly language programming on
      M100 (Willard Goosey)


----------------------------------------------------------------------

Message: 1
Date: Wed, 28 Mar 2018 18:00:03 -0600
From: Willard Goosey <goo...@sdc.org>
To: m100@lists.bitchin100.com, m...@bitchin100.com
Subject: Re: [M100] memory management and assembly language
    programming on M100
Message-ID: <20180328180003.12c2e2f1@raspberrypi>
Content-Type: text/plain; charset=UTF-8

On Tue, 27 Mar 2018 19:23:09 +0000 (UTC)
megarat <mega...@yahoo.com> wrote:

> Hey folks,
> My primary interest with the M100 right now is assembly language
> programming.?

Fun stuff!
 
> Is there a primer or other documentation about what memory-management
> caveats need to be minded when assembly programming with the M100,
> and the best practices for dealing with them??

The m100 is probably the most complicated 8bit environment to do
assembly for ever! 

> I'm familiar with the
> HIMEM variable in BASIC, so I'm wondering if there are some system
> variables that can be read/set that pertain to the boundary between
> variable vs. file storage.? 

Gary Weber(sp?) was putting together a web-side database with all the
variables and named subroutines for the whole m100 family but I'm not
sure about the status. Similarly, my asm80/zmac/asx/tasm ready m100
defs file mentions most of the variables (and I need to upload the
current version, sorry I've been doing too much overtime) but the
variable descriptions may be more reminders than complete docs... 

I'd say start with the M100 Technical Reference, go on to the NEC 8201A
technical Reference. Also the message database for this list, lots of
assembly questions have been asked and answered here, and unlike me the
list doesn't forget... ;-)

 There are system variables describing where the files end, and
where variable space ends. The area from the end of variable space to
the stack pointer is free space (I think). I haven't actually messed
around with that area, I've kept my code and data between HIMEM and
MAXRAM. :-(

>Any direct, practical advice in this area
> would be appreciated.
> 
> Similarly, is there any technical documentation pertaining to how the
> RAM-disk-based filesystem works?? I would love to get a better
> understanding of how files are managed when stored in RAM.? I'm
> familiar with the "file directory" that starts at F962 (as described
> in "The Hidden Powers of the Model 100", page 72-76), but I still

The best official documentation on how files work is actually the NEC
8201A Technical Reference. TL;DR files are complicated and fragile...

> have some unanswered questions, re: fragmentation, etc.

Files are never fragmented. When a file grows, everything above the
insertion point gets shoved upwards in memory. This can take awhile...

My understanding of file operations is actually described in the docs
for my Small C-85 m100 library.  I know you said you're interested in
assembly, but that library is 99% just wrappers turning the assembly
routines into C-callable stuff and its documentation is equally valid
for assembly.

My web page is http://www.sdc.org/~goosey/

> 
> Thanks,CAM

Good luck!
Willard
-- 
Willard Goosey  goo...@sdc.org
Socorro, New Mexico, USA
I search my heart and find Cimmeria, land of Darkness and the Night.
  -- R.E. Howard


------------------------------

Message: 2
Date: Wed, 28 Mar 2018 18:00:03 -0600
From: Willard Goosey <goo...@sdc.org>
To: m100@lists.bitchin100.com, m...@bitchin100.com
Subject: Re: [M100] memory management and assembly language
    programming on M100
Message-ID: <20180328180003.12c2e2f1@raspberrypi>
Content-Type: text/plain; charset=UTF-8

On Tue, 27 Mar 2018 19:23:09 +0000 (UTC)
megarat <mega...@yahoo.com> wrote:

> Hey folks,
> My primary interest with the M100 right now is assembly language
> programming.?

Fun stuff!
 
> Is there a primer or other documentation about what memory-management
> caveats need to be minded when assembly programming with the M100,
> and the best practices for dealing with them??

The m100 is probably the most complicated 8bit environment to do
assembly for ever! 

> I'm familiar with the
> HIMEM variable in BASIC, so I'm wondering if there are some system
> variables that can be read/set that pertain to the boundary between
> variable vs. file storage.? 

Gary Weber(sp?) was putting together a web-side database with all the
variables and named subroutines for the whole m100 family but I'm not
sure about the status. Similarly, my asm80/zmac/asx/tasm ready m100
defs file mentions most of the variables (and I need to upload the
current version, sorry I've been doing too much overtime) but the
variable descriptions may be more reminders than complete docs... 

I'd say start with the M100 Technical Reference, go on to the NEC 8201A
technical Reference. Also the message database for this list, lots of
assembly questions have been asked and answered here, and unlike me the
list doesn't forget... ;-)

 There are system variables describing where the files end, and
where variable space ends. The area from the end of variable space to
the stack pointer is free space (I think). I haven't actually messed
around with that area, I've kept my code and data between HIMEM and
MAXRAM. :-(

>Any direct, practical advice in this area
> would be appreciated.
> 
> Similarly, is there any technical documentation pertaining to how the
> RAM-disk-based filesystem works?? I would love to get a better
> understanding of how files are managed when stored in RAM.? I'm
> familiar with the "file directory" that starts at F962 (as described
> in "The Hidden Powers of the Model 100", page 72-76), but I still

The best official documentation on how files work is actually the NEC
8201A Technical Reference. TL;DR files are complicated and fragile...

> have some unanswered questions, re: fragmentation, etc.

Files are never fragmented. When a file grows, everything above the
insertion point gets shoved upwards in memory. This can take awhile...

My understanding of file operations is actually described in the docs
for my Small C-85 m100 library.  I know you said you're interested in
assembly, but that library is 99% just wrappers turning the assembly
routines into C-callable stuff and its documentation is equally valid
for assembly.

My web page is http://www.sdc.org/~goosey/

> 
> Thanks,CAM

Good luck!
Willard
-- 
Willard Goosey  goo...@sdc.org
Socorro, New Mexico, USA
I search my heart and find Cimmeria, land of Darkness and the Night.
  -- R.E. Howard


------------------------------

Subject: Digest Footer

_______________________________________________
M100 mailing list
M100@lists.bitchin100.com
http://lists.bitchin100.com/listinfo.cgi/m100-bitchin100.com


------------------------------

End of M100 Digest, Vol 87, Issue 25
************************************
  

Reply via email to