Cześć!
Jeżeli chodzi o sprawdzenie czy wciśnięto OPTION i czy należy ustawić odpowiednią watość w PORTB B to posiłkując się książką o której wspominasz, możemy zajrzeć do rozdziału:
"2.3.1. Procedury rozpoznania cartridge'a i RAM (procedura CARTridge GOes)"
... a tam w zależności od tego czy mamy ward/cold start i czy wciśnięto OPTION w przypadku tego drugiego, lub czy ustawiony jest BASICF (w przypadku tego pierwszego) odpowiednio ustawiany jest PORTB (lda ... and #$FD ... sta), tak aby dołączyć wbudowany interpreter BASIC. Warunkiem dodatkowym jest oczywiście że nie ma żadnego innego fizycznego cart-a w gnieździe.
A potem sam start cartridge (BASIC jest traktowany jako cart wbudowany) wykonywany jest już w głównej procedurze RESET, którą opisuje rozdział:
"2.1.2. Przebieg procedury RESET"
Tam na końcu (od linii 2440) sprawdzana flaga (w rejestrze CARTOPT znajdujący się pod adresem $BFFD) czy należy uruchomić cartridge, jeżeli ona jest ustawiona następuje uruchomienie BASIC-a, natomiast w przeciwnym wypadku zostanie wykonany skok pod wektor znajdujący się w komórkach DOSVEC (która domyślnie wskazuje /jeżeli nie było wcześniej BOOT z dyskietki/ na wektor "SELF TEST").
perinoid napisał/a:Albo inaczej - czy jeśli nie założę kości Basic to komputer wejdzie do self testu? Z tego co wiem. To tak, nie zawiśnie próbując Basic odpalić - czyli Basic niedostępny. Gdzie jest to wykrywane? Jak?
Jeżeli nie włożysz kości ROM zawierającej BASIC to jestem w stanie sobie wyobrazić sytuację w której przy braku pull-up na magistrali danych (65XE,130XE,800XE) z pod adresu $BFFD odczyta się wartość taka że akurat bit #3 będzie ustawiony i wtedy procedura RESET pominie próbę skodu do DOSVEC i wykona skok pod losowe wartości znajdujące się w komórkach CARTRUN ($BFFFA, $BFFB) i komputer po prostu zawiśnie, ponieważ wykonany skok nastąpi w losowe miejsce.
Ale przyznaję że nie przeglądałem aż tak dokładnie procedury RESET i być może jakieś wcześniejsze operacje wykonywane przez tę procedurą zapobiegną takiemu przebiegowi zdarzeń, jednak nie bardzo teraz kojarzę czy istnieją jakieś dodatkowe zabezpieczenia przed czymś takim.