-
Data: 2024-05-22 18:40:23
Temat: Re: Procesor NMOS i karta CF
Od: "J.F" <j...@p...onet.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On Wed, 22 May 2024 17:57:57 +0200, Atlantis wrote:
> Zrobiłem kilka dodatkowych testów i wyniki są... Zaskakujące...
> Po pierwsze dodałem do kodu hexdump pierwszych 32 bajtów pamięci po
> załadowaniu kodu z karty CF. Cały programik ma zaledwie 20 bajtów, więc
> jest to wystarczająca liczba.
>
> Zawartość binarnego pliku wygląda następująco: 21 FF 7F F9 C3 07 00 0E
> 20 CD 27 C5 3E FA CD B3 C5 C3 07 00
>
> Zawartość pamięci, gdy program printuje znaki szybko: 21 FF 7F F9 C3 07
> 00 0E 20 CD 27 C5 3E FA CD B3 C5 C3 07 00 37 30 30 30 45 32 30 43 44 31
> 45 43
>
> Zawartość pamięci, gdy program printuje znaki wolno: 21 7F F9 C3 07 00
> 0E 20 CD 27 C5 3E FA CD B3 C5 C3 07 00 37 30 30 30 45 32 30 43 44 31 45
> 43 35
>
> Już na pierwszy rzut oka widać, gdzie leży sedno problemu - pomijany
> jest drugi bajt o wartości 0xFF. Wbrew mojemu oryginalnemu założeniu, to
> szybkie printowanie jest poprawnym wynikiem. Wolniejsze działanie
> (chociaż występuje znacznie) częściej stanowi efekt działania błędu.
>
> Wbrew moim podejrzeniom, błąd nie miesza w pętli opóźniającej, ale
> sabotuje początkowe ustawienie wartości stosu:
>
> 0000 ORG 0000H
> 0000 21 ff 7f START: LXI H,STACK
> 0003 f9 SPHL
> 0004 c3 07 00 JMP LOOP
>
> Wygląda więc na to, że w wyniku błedu do pary rejestrów HL trafia
> wartość 0x7ff9, ale rozkaz SPHL nie jest wykonywany (bo kod interpretuje
> jego wartość jako parametr instrukcji LXI). Wskaźnik stosu pozostaje
> więc taki, jakim ustawił go bootloader. Dlaczego powoduje to wolniejsze
> działanie programu? Nie mam pojęcia.
Masz też przestawiony program o cały bajt. Wiec choćby ten LOOP, jest
teraz pod adresem 0006, a skok jest nadal do 0007, czyli pomijasz
pierwszy bajt pętli. Co tam jest istotnego, to sam musisz zobaczyc.
> Dlaczego ładowanie danych z karty
> odbywa się z tak zadziwiająco powtarzalnym błędem? Też nie wiem...
>
> Poeksperymentuję jeszcze z kilkoma kartami. Jeśli jednak nie uda mi się
> znaleźć takiej, która będzie działała w 100% poprawnie, to trudno będzie
> myśleć o eksperymentach z CP/M. Pomyślałbym, że to faktycznie wina
> poziomów napięć i braku bufora. Tylko ta powtarzalność... Problem z
> niedopasowaniem poziomów napięć mógłby powodować losowe przekłamania
> bitów, ale nie konsystentne pomijanie całego bajtu...
A jak czytasz? Spodziewam się, ze po ustawieniu numeru sektora i
komendy odczytu go, wystarczy już odczytać kolejne bajty.
Takie zniknięcie bajtu może być spowodowane:
-karta zobaczyła fałszywą informacje o odczycie bajtu, i przeskoczyła
na następny. A to może być spowodowane właśnie poziomami napięcia,
zakłóceniami elektrycznymi, itp. Ale czemu tylko pod drugim bajtem?
A może wcale nie tylko pod drugim, i więcej bywa zgubione?
A wpisz tam inną wartość, np C0, w koncu możesz ustwic stos na
7FC0, zobaczysz czy to wartosc FF jest wredna.
-przeskoczenie licznika/indeksu w bootloaderze? Ale jaki mógłby być
powód, i czemu tylko na drugim bajcie.
Zrobiłbym też długi dump.
I moze dodał do programu kilka tablic po 256B o kolejnych wartosciach
- zobaczysz na dumpie czy się poprawnie wczytują.
J.
Następne wpisy z tego wątku
- 22.05.24 18:56 Atlantis
- 22.05.24 19:10 Atlantis
- 22.05.24 19:14 Atlantis
- 22.05.24 22:08 Atlantis
- 23.05.24 10:09 Atlantis
- 23.05.24 10:54 J.F
- 23.05.24 11:09 Atlantis
- 23.05.24 13:52 J.F
- 23.05.24 15:18 Atlantis
- 23.05.24 17:47 J.F
- 23.05.24 18:15 J.F
- 23.05.24 20:33 Atlantis
- 23.05.24 21:51 J.F
- 24.05.24 19:02 Atlantis
- 24.05.24 19:15 Atlantis
Najnowsze wątki z tej grupy
- nie naprawiam więcej telewizorów
- Zrobił TV OLED z TV LCD
- Zasilacz USB na ścianę.
- Gniazdo + wtyk
- Aliexpress zaczął oszukiwać na bezczelnego.
- OpenPnP
- taka skrzynka do kablowki
- e-paper
- 60 mA dużo czy spoko?
- Dziwne zachowanie magistrali adresowej w 8085
- Współczesne mierniki zniekształceń nieliniowych THD audio, produkują jakieś?
- Jaki silikon lub może klej?
- Smar do video
- Litowe baterie AA Li/FeS2 a alkaliczne
- "ogrodowa linia napowietrzna"
Najnowsze wątki
- 2025-03-04 Prunt drogi!
- 2025-03-04 Warszawa => Frontend Developer (Angular13+) <=
- 2025-03-04 Warszawa => Frontend Developer (obszar Angular13+) <=
- 2025-03-04 Warszawa => Senior ASP.NET Developer <=
- 2025-03-04 Kraków => MS Dynamics 365BC/NAV Developer <=
- 2025-03-04 Teraz kolej na studentów
- 2025-03-03 Re: Czy to była Polska Dywizja Waffen SS? [SS Galicja]
- 2025-03-03 Narkotyki na Uniwersytecie
- 2025-03-04 Zwrot towaru i kasy od sprzedawcy a zmiana plastiku
- 2025-03-03 Szaleństwo w BOS-iu - 8,1% :D
- 2025-03-03 a Ty jak się zachowasz w godzinie próby?
- 2025-03-03 nie naprawiam więcej telewizorów
- 2025-03-03 Białystok => Gen AI Engineer <=
- 2025-03-03 Poznań => Konsultant wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-03-03 Olsztyn => Sales Specialist <=