On 2020-03-06 22:38, Tom Lake wrote:
> On Friday, March 6, 2020 at 11:32:37 AM UTC-5, Lorenz Born wrote:
>> On 2020-03-06 15:30, Tom Lake wrote:
...
>> Tom, thank you for the very detailed explanation! This is new and very
>> interesting for me. What else is saved in the last 16 bytes of the
>> cartridge port memory map? Do you possibly know more about this? And why
>> the two values #20 in BFFC and #7F in BFF4? Can these two hexadecimal
>> values be explained? At the moment I don't see any connection with the
>> memory size of 32768 bytes.
>
> 7F20 hex is decimal 32544. That's the memory size of the 32K cartridge after
> some bytes (224 decimal bytes) are taken for housekeeping. Since this is an
> 8-bit machine, you have to enter the hex value in two parts - 20 which is
> the LSB (least significant byte) and 7F which is the MSB (most significant byte)
>
> I don't have any other information about data in the cartridge port. Sorry!
>
Tom, thanks again for your patience and answering my questions! In the
meantime, my clarifications based on the TI-95 ROM listings (see
http://www.rskey.org/CMS/index.php/the-library/13) have shown the
following in the table below.
xx = value not (yet) known
specific hexadecimal value applies to a 32kB module (RAM cartridge)
-------+-----+----------------------------------------------------
address|value|function, description or assumption
-------+-----+----------------------------------------------------
BFF0 | xx | unknown yet or no function
-------+-----+----------------------------------------------------
BFF1 | xx | unknown yet or no function
-------+-----+----------------------------------------------------
BFF2 | xx | probably MSB of used space (byte) in directory
-------+-----+----------------------------------------------------
BFF3 | xx | LSB of used space (byte) in directory
-------+-----+----------------------------------------------------
BFF4 | 7F | MSB of free bytes in cartridge (for 32kB)
-------+-----+----------------------------------------------------
BFF5 | FF | LSB of free bytes in cartridge (for 32kB)
-------+-----+----------------------------------------------------
BFF6 | xx | MSB of number of files (in cartridge)
-------+-----+----------------------------------------------------
BFF7 | xx | LSB of number of files (in cartridge)
-------+-----+----------------------------------------------------
BFF8 | 4E | character "N" \
-------+-----+------------------ |
BFF9 | 45 | character "E" > name of cartridge (?)
-------+-----+------------------ |
BFFA | 57 | character "W" /
-------+-----+----------------------------------------------------
BFFB | xx | info byte of cartridge
-------+-----+----------------------------------------------------
BFFC | 20 | cartridge memory size in kB (20h=32d)
-------+-----+----------------------------------------------------
BFFD | xx | MSB of entry address of cartridge
-------+-----+----------------------------------------------------
BFFE | xx | LSB of entry address of cartridge
-------+-----+----------------------------------------------------
BFFF | 6A | signature byte of cartridge
-------+-----+----------------------------------------------------
Knowledge gained by analyzing the files rom-cd1.asm and rom-cd3.asm. But
not yet fully understood everything.
Perhaps this is also of interest to you. I am now trying to use the
TI-95 statistical library module to find out which values are available
at the addresses above -- if any. Maybe new insights may arise here.
BR Lorenz