Jump to content
IGNORED

Disk ROM? GROM?


Recommended Posts

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.

  • Like 1
Link to comment
Share on other sites

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.

 

  • Like 2
  • Thanks 1
Link to comment
Share on other sites

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. 

 

  • Like 4
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...