Selector /// includes an install program that sets up the normal Apple II emulation onto a harddisk to allow launching without the need for a floppy. Support for the Titan cards was never provided.
After Selector /// has been installed, and the Emulation installer has been run. The following is the disk structure and files created.
```
-PROGRAMS
-APPLE2
-INSTALL.APPLE2 - This is the Selector Apple2 Emulation install program
SOS.INTERP - This is the Loader and config code for the Apple2 Emulation
it refers and loads the APPLE2.INTERPS and APPLE2.DATA files
APPLE2.INTERPS This holds the slot 5-7, Integer and Applesoft BASIC ROMs
APPLE2.DATA This looks like it holds the current config settings selected for the emulation
```
The Titan III+II card is basically a 128k saturn language card with an Apple II game port on it. The whole thing is enabled by setting the A3 to 1MHz and then performing an access to the Card slot rom (I/O select). The card then stays enabled while the speed is kept at 1Mhz. Once you switch back to 2MHz, the card deselects.
I did some fishing around on the III+II disk, and found it has a lda CX00 for each slot to enable the card, so this allows the disk to work with the card in any slot.
Using the diassembly of the A2 emulation available here https://github.com/brouhaha/a3a2em, I found that the SOS.INTERP file mentioned above has the init code in it. After some more digging, I came up with this comparison of the differences in code between the standard and Titan versions.
Now to patch this in some how. I did start down disassembling the Selector Emulation installer, but did not finish this completely. That needs some more time to code support in for the the Titan card. So I parked this one, and looked for a simpler way to get it going.
The approach I then took was to copy and rename the three selector files for the standard emulation disk to create a set for the Titan card.
I then found that due to the A3 having the disk controller in Slot6, and no slot7 to put a block storage device in, then its difficult to boot from one in Slot 1-4 directly.
To support this, I wanted to provide another version and patch the Autostart rom to scan the slots the other way around. I also wanted to apply the patch to only check for 3 ID bytes, and not 4 to allow block devices to boot. For this I created another set of files:
```
SOS3P2.INTERP -> SOS3P26.INTERP
APP3P2.INTERPS -> AP3P26.INTERPS
APP3P2.DATA -> AP3P26.DATA
```
Then I investigated which file has the ROMs, and came up with this map for APPLE2.INTERPS file
```
file offset
0000 - 00ff Slot5 rom - applesoft setup?
0100 - 01ff Slot6 rom - applesoft setup?
0200 - 02ff Slot7 rom - applesoft setup?
0300 - 03ff Slot5 rom - integer setup?
0400 - 04ff Slot6 rom - integer setup?
0500 - 05ff Slot7 rom - integer setup?
0600 - 0dff D0 - applesoft
0e00 - 15ff D8 - applesoft
1600 - 1dff E0 - applesoft
1e00 - 25ff E8 - applesoft
2600 - 2dff F0 - applesoft
2e00 - 35ff F8 - Autostart
3600 - 3dff D0 - programmers aid
3e00 - 45ff D8 - blank
4600 - 4dff E0 - integer
4e00 - 55ff E8 - integer
5600 - 5dff F0 - integer
5e00 - 65ff F8 - Autostart?
```
This was the required patch to apply
```
FAB4 A9 *C0 LDA #$C0 ; ; LOAD LOW SLOT -1
FAB6 86 00 STX LOC0 ; ; SETPG3 MUST RETURN X=0
FAB8 85 01 STA LOC1 ; ; SET PTR H
FABA A0 *05 SLOOP: LDY #5 ;Y is byte ptr, check 3 ID bytes instead of 4
FABC *E6 01 INC LOC1
FABE A5 01 LDA LOC1
FAC0 C9 *C7 CMP #$C7 ; ; AT LAST SLOT YET?
FAC2 F0 D7 BEQ FIXSEV ; ; YES AND IT CAN'T BE A DISK