hippietrail Posted September 14 Share Posted September 14 When you upgraded your TI-99/4A from cassette tape to disk drive back in the day, I assume it came with an interface/adapter that plugged into the expansion port. On many contemporary machines the ROM didn't have support for the DOS or the FDC and either the controller came with a ROM or code was loaded from the disk's boot block, or both. Which did the TI-99/4A have? Of course it may have had a GROM rather than a ROM. Is there a disassembly available? Googling hasn't led me to the answer yet. 1 Quote Link to comment Share on other sites More sharing options...
HOME AUTOMATION Posted September 14 Share Posted September 14 TI-99/4A - Disk Memory System PHP 1240 multilingual manual PHP 1240 Disk Memory System Manual 1 Quote Link to comment Share on other sites More sharing options...
HOME AUTOMATION Posted September 14 Share Posted September 14 Normally, I would scrounge the ROM from Classic99, by using MINI MEMORY, to switch CRU addresses. Somehow, this looks wrong. 1 Quote Link to comment Share on other sites More sharing options...
HOME AUTOMATION Posted September 14 Share Posted September 14 Copped these from MAME: fdc_dsr.u26 fdc_dsr.u27 2 Quote Link to comment Share on other sites More sharing options...
Tursi Posted September 14 Share Posted September 14 The TI has all device interface code in ROM - we call them DSRs "Device Service Routines". Every program that uses devices has code to search the ROMs for the one it wants. Classic99's disk is a psuedo DSR - though you didn't look far enough to see where it ends. It starts with a completely valid DSR header that includes entry points for all the devices it supports (Classic99 supports both upper and lower case DSK names, and I believe CLIP and CLOCK are in the same DSR there). They jump to a 'magic' address that triggers the emulation to take over and parse the actual request. Classic99 also does support the real TI controller, but bank switches it in automatically when a configured disk is accessed, so I don't think you can view it using mini memory. Same with the CF7 support. 2 1 Quote Link to comment Share on other sites More sharing options...
+FarmerPotato Posted September 15 Share Posted September 15 To be clear, every expansion device could contain its own DSR ROM. (Device Service Routine.) A utility routine like DSRLNK would search tables at the beginning of each ROM. These tables had a constant structure across cartridge ROM, GROM and expansion hardware. This provided compatibility between software (hopefully) and not-yet-invented hardware. A device ROM could provide several kinds of table: power up initialization routine, programs for the menu (sometimes), an interrupt handler. Table >8 defined the canonical names for devices like DSK1, with their handler for the common file opcodes, like OPEN, READ, CLOSE, etc. >A was weirder and had "subprograms" for lower level disk operations like FORMAT, READ SECTOR. Minicomputer Heritage The DSR ideas in the 99/4 were borrowed from TI's minicomputer operating systems such as DX10, downsized as needed. The key concepts were a standard pluggable table interface, shared file system concepts and common opcodes.* This is not surprising, because TI employees in Home Computer software and hardware development would have used the 990 DX10 for their work. * though DX10 required a new DSR to be linked into the operating system image by the sys admin. **TI-Writer and Hopper are known to have been written using a 99/4A. ***There is sample DSR source in DX10 Vol 5, Systems Programmer Manual. 4 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.