Bootable PCjr cart layout:

                                 Byte Offset in .IMG
ScubaVenture:
Side 1, Sector 1-9, track 0 +    [1200]
Side 1, Sector 1-8, track 1      [3600]

Mouser:
Side 1, Sector 1-9, track 2 +    [5A00]
Side 1, Sector 1-8, track 3      [7E00]

River Raid:
Side 1, Sector 1-9, track 4 +    [A200]
Side 1, Sector 1-9, track 5 +    [C600]
Side 1, Sector 1-9, track 6 +    [EA00]
Side 1, Sector 1-5, track 7      [10e00]

Pitfall II:
Side 1, Sector 1-9, track 8 +    [13200]
Side 1, Sector 1-9, track 9 +    [15600]
Side 1, Sector 1-9, track 10 +   [17A00]
Side 1, Sector 1-5, track 11     [19E00]

Demon Attack:
Side 1, Sector 1-9, track 12 +   [1C200]
Side 1, Sector 1-9, track 13 +   [1E600]
Side 1, Sector 1-9, track 14 +   [20A00]
Side 1, Sector 1-9, track 15 +   [22E00]
Side 1, Sector 1-9, track 16 +   [25200]
Side 1, Sector 1-9, track 17 +   [27600]
Side 1, Sector 1-9, track 18 +   [29A00]
Side 1, Sector 1-9, track 19 +   [2BE00]
Side 1, Sector 1-8, track 20     [2E200]

Microsurgeon
Side 1, Sector 1-9, track 21 +   [30600]
Side 1, Sector 1-9, track 22 +   [32A00]
Side 1, Sector 1-9, track 23 +   [34e00]
Side 1, Sector 1-9, track 24 +   [37200]
Side 1, Sector 1-9, track 25 +   [39600]
Side 1, Sector 1-9, track 26 +   [3BA00]
Side 1, Sector 1-9, track 27 +   [3DE00]
Side 1, Sector 1-9, track 28 +   [40200]
Side 1, Sector 1-8, track 29     [42600]


All ROM images load to 2000:0 and then jmp (retf actually) to 2000:3.
There were minor fixups required to most of the carts to bypass copy
protection and properly re-vector interrupts from any hardcoded segments to
the segment the boot disk uses.  I don't have notes of what needed to be fixed
for most of the games (I started this project years ago), but did make note
of Pitfall 2 and Microsurgeon.
 


Pitfall 2:
It revectored a hardcoded address for int 09 to D800:a5f3.
Since we're booting at 2000:x, it had to be changed to 1800:a5f3
Another int was also hard coded to E000:x  since we're booting at 2000, I just
changed it to use CS, like it should have been in the first place. 
Later, it attempts to overwrite CS:0 (the 55 in the rom signature of 55aa)
and then checks it later.  If it were running off ROM, this would be harmless.
I changed it to write 55 instead of 0.



Microsurgeon only required 1 fixup:
E000:0000674E  mov  byte cs:[6762],9C 
This line overwrites data in its own vector.
If running in ROM it won't get clobbered, but running in RAM it will crash.

