alex1 wrote:Is there already some disk support in the TI99 core?
Sorry to curb your expectations here - I have pretty much the same questions as you concerning
disk I/O support of the current core. GreyRogue mentioned disk support in his very first posting
in this forum (referring to a diskdsr_4000_padded8k.bin file) which might imply that disk I/O is
Also two commits imply that there is support for disk and speech in the core [1,2].
Before starting to reading the core's sources I simply gave it a try and loaded the disk I/O rom
(the 8k Disk.bin where you got your 994GROM.BIN) at the presumably right memory slot (first 8k
slot in third memory block). After starting some roms that depend on disk I/O I came to the
conclusion that this didn't work. I can't say why - missing core support, wrong disk rom,
wrong memory location or something else.
If someone else has more insight into this problem (or more luck) - trying experimental
disk I/O support with createImage is easy: -d will place Disk.bin in the full rom.
I would like to enable speech as well but still need information where to place the rom...
1: https://github.com/MiSTer-devel/TI-99_4 ... 34d0bd7ab0
2: https://github.com/MiSTer-devel/TI-99_4 ... 37f9a17425
I've exhumed some old books to see if I can be of any help with the missing information:
- the speech rom size is 32K (32.768 bytes), 8K memory mapped at >8000 - 9FFF.
- the disk rom size is 8K (8.192 bytes) in DSR (Device Service Routine) space at >4000 - 5FFF.
From the Appendix of the E/A Manual:
"Addresses >4000 through >5FFF are built into various peripherals. They contain up to
8K bytes of ROM for the Device Service Routine used to run peripheral devices, such
as disk drives and printers. These ROMs are selected by CRU operations (see
Section 9), so several ROMs can be at the same address.
Addresses >6000 through >7FFF are available on the Command Module port. Some
Command Modules, for example TI Extended BASIC, have ROM in this space.
Addresses >8000 through >9FFF are built into the console. They contain PAD from
addresses >8300 through >BJFF (see Section 24.3.1) and all of the memory-mapped
The Speech PAD is at >8300 in the general memory usage, with the LOAD AND RUN option of the E/A the SPEECH CPU RAM is at >8300.
So, we could try to see if the Speech is implemented using the 32K rom file, splitting it into 3 banks of 8K each and placing the first bank at >8000 of the first memory block of 64K and so on.
For the disk support even if we can place the correct disk rom in the memory map, we than have the problem to select for the TI99 core a floppy disk to use, but there isn't any option in the menu for this. Anyway, we should be able to check from Extended Basic if there is or not a disk controller connected with a simple command:
If there isn't any disk controller we will get a I/O ERROR 50, if there is the controller we will get a I/O ERROR 06 (no disk in drive).
To test the speech we can use a game that is supporting it (Parsec, Alpiner, etc.) or using the CALL SAY command from XB.
I have some of the TI99 technical books/manuals that I can share if needed to find additiona information.
I haven't seen any post from GreyRogue since February.
Do you know if he is still supporting his port of the core?