Jump to content
IGNORED

Mini Memory


Casey

Recommended Posts

This module has always intrigued me and I’ve never really done much to learn its capabilities.  I know about the 4K of RAM it has that you can use for storing a TI BASIC program, assembly language, and/or a data file.  But some questions:

 

* If you have Mini Memory and the 32K memory expansion, what is the largest program you can run?  Can you use the lower and upper expansion blocks in addition to the 4K built into the cartridge to give you 36K to work with?  

* Can Editor/Assembler be used to write such a program? I know the Line by Line assembler with Mini Memory would take up most of the 4K the cartridge has...  

 

Just wondering if there were additional ways to exploit Mini Memory.  Seems like a fascinating device but I’ve never really used it.

Link to comment
Share on other sites

24 minutes ago, Casey said:

This module has always intrigued me and I’ve never really done much to learn its capabilities.  I know about the 4K of RAM it has that you can use for storing a TI BASIC program, assembly language, and/or a data file.  But some questions:

 

* If you have Mini Memory and the 32K memory expansion, what is the largest program you can run?  Can you use the lower and upper expansion blocks in addition to the 4K built into the cartridge to give you 36K to work with?  

* Can Editor/Assembler be used to write such a program? I know the Line by Line assembler with Mini Memory would take up most of the 4K the cartridge has...  

 

Just wondering if there were additional ways to exploit Mini Memory.  Seems like a fascinating device but I’ve never really used it.

The largest BASIC program you can run is around 12K, a little more if you use CALL FILES(1). This is the same as TI BASIC. 

You can use high memory, low memory, and minimemory for assembly support. I believe with some clever programming TI BASIC lines could be stored in the expansion RAM and a CALL LINK could be used to copy them into VDP ram where BASIC could execute them. By doing this you could theoretically have a BASIC program with about 45K of code. But it would not be easy.

The Line by Line assembler should only be used if you are masochistic or if it is the only option.  You should use the editor/assembler (or a text editor and one of the newer assemblers) to write assembly subprograms for the MiniMemory. I think CALL LOAD puts them into unused areas or you can AORG them to the desired location. The loader used by CALL LOAD is about 20x faster than that used in XB, so assembly routines load quickly, and I believe you can use compressed code, which loads even faster.

  • Like 1
Link to comment
Share on other sites

Here's a discussion from 4 years ago showing what assembly routines can make possible with the MiniMemory. There is a link in the first post to a video.

https://atariage.com/forums/topic/248817-minimemory-programming-challenge/?do=findComment&comment=3433734

 

 

Edited by senior_falcon
  • Like 3
Link to comment
Share on other sites

  • 1 month later...

Worthy of note - some programs use this memory.  I run a very large TI-BASE (Incebot) database, and if you happen to have a Mini Mem - the DB, which normally starts with 1569K of working space for tables and such will start with 4096K of working memory.  This allows for more open databases and larger program files as the software has a DB language which allows for all forms of entertaining data manipulation, string manipulation, compute operations and so forth.  So this is a cart I keep in the TI at all times.  Without it, there is no way to edit my DB procedures.  Have had this machine going for 35 years.

  • Like 3
Link to comment
Share on other sites

That's an excellent example of an application where Mini Memory is useful. One of the more useful combinations you can use on the TI 99/4A is Extended BASIC, using 24 K expansion RAM, with assembly support in the 8 K RAM part. But you can't have both Extended BASIC and Mini Memory at the same time.

I have used Mini Memory, or preferably modules with 8 K RAM (or even more, with some bank switching) together with Pascal. The p-system has the advantage that it resides on a card in the PEB. Thus it's not dependent on which module is inserted in the console, but can use anything that gives an advantage there.

 

It's for example very easy to use the Mini Memory as extra variable space, accessible directly from Pascal.

 

But in combination with TI BASIC, the best method would be to use Editor/Assembler to develop software (assembly language) which can then be loaded from TI BASIC with the Mini Memory module inserted. Let TI BASIC run where it's designed to, and spend your clever creativity on the assembly language instead. In this case it has 36 K RAM at its disposal.

  • Like 1
Link to comment
Share on other sites

the mini-memory is where I learned 9900 assembler. all I could afford at the time was a base ti-99/4a with a tape drive and the mini-mem module. the line by line assembler was, challenging, to use but got the job done. you really couldn't make anything significant with the line-by-line assembler but it was OK for learning. playing with POKEV was also fun. I did write a game once that used the high memory to write to and sort it's database in high-mem then write it back to tape so that was useful. the battery backed up 4k memory useually held my assembler creations while working on them so I didn't have to wait using the tape. yes, it had it's uses.

  • Like 3
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...