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 ************************************