RTV forum PL | NewsGroups PL

Uruchamianie CP/M 2.2 na procesorze MCY7880 z kartą CF w trybie 8-bitowym

Procesor NMOS i karta CF

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Uruchamianie CP/M 2.2 na procesorze MCY7880 z kartą CF w trybie 8-bitowym

Goto page Previous  1, 2, 3

J.F
Guest

Fri Jul 05, 2024 12:13 pm   



On Wed, 3 Jul 2024 08:10:31 +0200, Atlantis wrote:
Quote:
Dodałem do programu printy debugowe, które informują o wejściu w
poszczególne procedury BIOS-a oraz zrzucają zawartość poszczególnych
parametrów odpowiedzialnych za operacje dyskowe, które są w nich ustawianie.

Z szybkiej analizy tych logów wynika, że przy starcie systemu:
1. Cyklicznie są wołane procedury SETDMA, SELDSK, SETTRK, SECTRN, SETSEC
i READ.

To chyba normalne - potrzebne do czytania danych.

Quote:
2. Parametr TRACK ma na początku wartość 0x0000, a potem jest
sukcesywnie podbijany o jeden w zakresie od 0x0020 do 0x003F.

Chyba też normalne - czyta katalog, a potem plik.

Quote:
3. Parametr SECTOR przyjmuje wartości od 0 do 3, przechodząc jeden cykl
na jedno podbicie parametru TRACK.

To też w miare normalne - czytasz kolejne sektory.
Tylko ... nie za mało? 4 sektory na ścieżce? Sektory po 128 czy 512B

Moze implementacji na karcie CF tak najprosciej.

Quote:
4. Parametr DMA przyjmuje albo adres bufora DISK_BUFFER (0x0080) albo
DIRBUF.
5. Odbywają się sukcesywne odczyty z karty CF, a wartość LBA jest
liczona poprawnie (adres początku partycji + parametr TRACK).

Printy debugowe mogą być włączane i wyłączane dyrektywą budowania
warunkowego. I tutaj jest jedna rzecz, która mnie zastanawia - kod
zachowuje się inaczej po dodaniu tych printów.

Jeśli je włączę, system wchodzi w procedurę BOOT, zaczyna czytać kartę i
zrzuca powyżej wymienione logi. Potem wyświetla prompt i zawiesza się -
klawiatura przestaje reagować.

Jeśli logi WYŁĄCZĘ system się uruchamia, czyta kartę (nie mam oczywiście
logów, ale widzę świecenie diody aktywności) po czym wyświetla prompt i
pozwala mi wypisywać polecenia.

Nie pamietam ... ale gdzie masz ustawiony wskaźnik stosu?
Byc może z logiem zużywa parę bajtów więcej i zajeżdza cos poniżej ?
Juz nie pamietam, ale czy shell (CMD ?) nie ładował się do góry
pamięci?

Ewentualnie - czytane dane zajeżdzają stos.

Quote:
Zwykle wtedy dzieje się jedna z dwóch
rzeczy:
- System zawiesza się po wykonaniu komendy DIR.
- System zwraca niepełna zawartość dysku po wpisaniu komendy DIR, ale
pozwala na wpisywanie kolejnych komend.

To już chyba moze być objaw gubienia bajtów z sektorów.

J.

Goto page Previous  1, 2, 3

elektroda NewsGroups Forum Index - Elektronika Polska - Uruchamianie CP/M 2.2 na procesorze MCY7880 z kartą CF w trybie 8-bitowym

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map