home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.whtech.com
/
ftp.whtech.com.tar
/
ftp.whtech.com
/
Geneve
/
9640news
/
CAT15
/
CRTRDGN.ARK
< prev
next >
Wrap
Text File
|
2006-10-19
|
3KB
|
58 lines
?
INS and OUTS
By Mack McCormack
This is a text file discussion of the ROM cartridge port for the TI-99/4A. It
represents information I have been able to obtain from various references.
Cartridge programs must operate from >6000 to >7FFF. When the computer is RESET
or turned on, the power up routine looks for a Header or Control block at
location >6000 in the cartridge port. This contol block establishes the linkage
into your cartridge program and allows you to have multiple entry points. Here
is an example contol block used to provide one entry point;
0000 AA01 DATA >AA01 6000 ID FOR BOOT
0002 0000 DATA >0000 6002
0004 0000 DATA >0000 6004
0006 000C DATA CHAIN 6006 ADDRESS OF MENU LIST
0008 0000 DATA >0000 6008
000A 0000 DATA >0000 600A
000C 0000 CHAIN DATA >0000 6010 CHAIN POINTER
000E 0020 DATA SLOAD 6012 ENTRY POINT
0010 0F BYTE SLOAD-$-1 6014 LENGTH OF MENU TEXT
0011 54 TEXT 'CARTRIDGE NAME'
0020 0460 SLOAD B START
0022 092E
Let's examine the control block. If the TI operating system finds >AA at >6000
it knows a cartride is plugged in the port. The next byte must be a >01 at
location >6001. This informs the operating system that the code in the
cartridge is executable machine language. Other codes are used for GROM, but
hat's another discussion. The data at location >6002 - >6005 is zero. Location
>6006 must contain a word pointer to a list which identifies the menu text and
associated entry point when that item is selected. This location usually
contains a >600C. Locations >6008 - >600B must be zero. The chain list at >600C
contains the following:
Bytes 1 & 2 = chain pointer to the next menu list - or 0000 is this is the
last list in the chain.
Bytes 3 & 4 = entry point associated with this menu selection.
Byte 5 = length of the menu text.
Bytes 6 - N = Menu Text - this is displayed on main menu. Craig Miller's
newsletter has additional information on the power up routine for the computer.
Remember all dynamic data must be in RAM usually in the >8300 area. This area
is used for registers plus VDP RAM is used for variable storage. Cartridges
cannot REFerence any label or routine outside the cartridge. This means the
cartridge program must provide it's own VSBW, VSBR, VMBW, and VMBR routines
which are normally loaded from the Editor Assembler cartridge. Examples of what
hese routines look like may be found in the Tombstone City game or Craig
Millers newsletter. Armed with this information, it possible to disassemble
code to see how the program works. Hope you find this information useful.
Download complete. Turn off Capture File.