Czy TOS nie potrafi rozpoznać transmisji nibble/byte (a może nie musi bo EFGJ robi za kontroler transmisji) to możemy tylko spekulować.
Po co spekulować, skoro można zajrzeć do kodu?
Oto procedura odczytu bajtu z TOS v.A2:
; Communication with TF - read 1 byte (2 nibbles) from TF and put byte in (hl)
; Transmission model:
; Send 0100 0000
; wait for x0x1 rrrr (right nibble)
; Send 0101 0000
; wait for x0x0 llll (left nibble)
; Send 0000 0000
;
1ac6 0601 ld b,01h
; read b bytes and put in (hl++)
1ac8 c5 push bc
1ac9 3e40 ld a,40h ; set b6
1acb d32f out (2fh),a
1acd 015000 ld bc,0050h ; loop x256, c=50
1ad0 db2f in a,(2fh) ; receive right nibble
1ad2 5f ld e,a ; e <- right nibble
1ad3 a1 and c ; leave b6 and b4
1ad4 fe10 cp 10h ; check if b6=0 and b4=1
1ad6 2804 jr z,1adch ; yes -> jump
1ad8 10f6 djnz 1ad0h ; no -> loop for status check with b--
1ada 18db jr 1ab7h ; clear port and return with error
1adc 3e50 ld a,50h ; set b6=1, b4=1
1ade d32f out (2fh),a
1ae0 0600 ld b,00h ; loop x256
1ae2 db2f in a,(2fh) ; receive left nibble
1ae4 57 ld d,a ; d <- left nibble
1ae5 a1 and c ; leave b6 and b4
1ae6 2804 jr z,1aech ; b6=0 and b4=0 -> jump
1ae8 10f8 djnz 1ae2h
1aea 18cb jr 1ab7h
1aec d32f out (2fh),a ; 0
1aee 7b ld a,e ; right nibble
1aef e60f and 0fh
1af1 5f ld e,a
1af2 7a ld a,d ; left nibble
1af3 e60f and 0fh
1af5 07 rlca
1af6 07 rlca
1af7 07 rlca
1af8 07 rlca
1af9 b3 or e ; left + right
1afa 77 ld (hl),a
1afb c1 pop bc
1afc 81 add a,c
1afd 4f ld c,a
1afe 23 inc hl
1aff 10c7 djnz 1ac8h
1b01 af xor a
1b02 c9 ret
Jak widać, bajt jest czytany jako 2 nibbles i nie ma innej metody.
Analogicznie wygląda wysyłka bajtu.
Podobnie rzecz się ma ze złączem równoległym w tej stacji - TOS nie musi wiedzieć czy CH_A to rs232 czy biedaLPT
No właśnie zupełnie niepodobnie, bo jeśli faktycznie nie trzeba patchować TOS-u (nie wiem, nie pamiętam), to wynika to z tego, że dane (ośmiobitowe) są wysyłane do sterownika WD2123 w sposób równoległy, czyli równie dobrze mogą one zostać wysłane do zatrzasku '273 (lub podobnego). Moją wątpliwość budzi tylko obsługa dodatkowych linii LPT (czyli ACK i pewnie cos tam jeszcze, jakieś BUSY chyba?) - czy da się je tak prosto zamapować na linie kotroli przepływu WD2123, by TOS nie wymagał absolutnie żadnych przeróbek. Obecnie nie jestem tego w stanie stwierdzić, bo jestem daleko od mojego "głównego" komputera.
Poważnym minusem jakichkolwiek przeróbek TOS jest fakt, że system znajduje się na każdej dyskietce i jakąkolwiek poprawkę należałoby zreplikować na wszystkie posiadane dyskietki. No a potem takie dyskietki mogą nie pracować poprawnie u innych... Niestety nie ma w stacji możliwości ładowania systemu z pamięci ROM. Taką cechę miał mieć chyba nowy klon stacji, który coś się nie może wyłonić z umownej deski kleślarskiej naszego forumowego kolegi