Ive been poking around the code on DOSPLUS and reading up on the different methods used to switch between the two, mainly because I am just interested. I know that DOSPLUS has the patch on 3.5, and LDOS has the /CMD files to load the drivers for either, but having 2.7DD boot on a Percom doubler was kind of funny when it wouldn't work on my RS Doubler.
What I have not found in all the scouring is how people knew to patch TRSDOS 2.7DD to work on a PERCOM and vice versa for some of the other DOSes on the RS Doubler.
Was there a list of the patches needed or was it just a tribal knowledge thing? (DOSPLUS has one called RS/TXT and I disassembled SYS0 and SYS1 to see what they changed and why). Basically they change the switch between SD/DD values written to the port, but I didnt see where they actually did the write precomp change that the RS service manual talks about.
I have both types of doublers, and the one DOS I dont have that works on both is TRSDOS 2.8. Only have that for the RS Doubler.
For the differences in DOSPLUS here is the code:
What I have not found in all the scouring is how people knew to patch TRSDOS 2.7DD to work on a PERCOM and vice versa for some of the other DOSes on the RS Doubler.
Was there a list of the patches needed or was it just a tribal knowledge thing? (DOSPLUS has one called RS/TXT and I disassembled SYS0 and SYS1 to see what they changed and why). Basically they change the switch between SD/DD values written to the port, but I didnt see where they actually did the write precomp change that the RS service manual talks about.
I have both types of doublers, and the one DOS I dont have that works on both is TRSDOS 2.8. Only have that for the RS Doubler.
For the differences in DOSPLUS here is the code:
Code:
PATCH SYS0/SYS.SYS:0 Others Tandy
A=48A0H,F=FF,C=80 LD A,0FFH LD A,080H SELECT DOUBLE
BIT 7,(IY+0BH) BIT 7,(IY+0BH)
JR NZ,48A9H
A=48A8H,F=FE,C=A0 LD A,0FEH LD A,0A0H SELECT SINGLE
A=48A9H,F=CDBE48,C=32EE37 CALL 48BEH LD (37EEH),A OUT TO MEMORY MAPPED PORT INSTEAD OF CALL TO BELOW ROUTINE
A=48ADH,F=00,C=E0 LD A,00H LD A,E0H
LD (37EEH),A LD (37EEH),A
LD A,0DOH LD A,0D0H
JR 48BEH
LD A,(IX+00H)
DI
LD (37ECH),A
PATCH SYS1/SYS.SYS:0
A=50F9H,F=3EFE32EC37,C=3EA032EE37
LD A,OFEH LD A,0A0H SELECT SINGLE
LD (37ECH),A LD (37EEH),A OUT TO MEMORY MAPPED PORT