C64Power Forum

Software => Programowanie => Wątek zaczęty przez: qus w 26 Maja 2016, 08:15

Tytuł: Timingi RS232 PAL/NTSC - gdzie używane?
Wiadomość wysłana przez: qus w 26 Maja 2016, 08:15
Kernal zawiera pod adresami

0xFEC2   timingi NTSC
0xE4EC   timingi PAL

dla RS232. Ale nie bardzo widzę, aby jakiś kod kernala z tych tabel korzystał. Coś mi umknęło?
Tytuł: Re: Timingi RS232 PAL/NTSC - gdzie używane?
Wiadomość wysłana przez: qus w 26 Maja 2016, 08:41
OK, już znalazłem. Odwołanie jest, ale o dwa bajty niżej.
Tytuł: Re: Timingi RS232 PAL/NTSC - gdzie używane?
Wiadomość wysłana przez: qus w 26 Maja 2016, 20:35
To jeszcze inna rzecz. Co robi bajt 2c w poniższym kodzie? To nie jedyne miejsce w kernalu, gdzie dzieje się coś takiego...

.edad lda #$80 ; flag ?DEVICE NOT PRESENT
.byte $2c ; mask LDA #$03
.edb0 lda #$03 ; flag write timeout
.edb2 jsr $fe1c ; set I/O status word
cli
clc
bcc $ee03 ; allways jump, do final handshake
Tytuł: Re: Timingi RS232 PAL/NTSC - gdzie używane?
Wiadomość wysłana przez: Kisiel w 26 Maja 2016, 21:00
myśłę że zajęcie się tym co oznacza rozkaz $2c oraz dlaczego jest ładowanie do rejestru wartością przed wykonaniem procedury, inteligentym ludziom zajmie kilka minut.
Tytuł: Re: Timingi RS232 PAL/NTSC - gdzie używane?
Wiadomość wysłana przez: qus w 26 Maja 2016, 21:05
Znaczy, że jest to źle zdisasembliwany op BIT? Ciekawe, że wygląda to tak w kilku różnych zrzutach dostępnych w sieci.
Tytuł: Re: Timingi RS232 PAL/NTSC - gdzie używane?
Wiadomość wysłana przez: Kisiel w 26 Maja 2016, 21:12
oooo ja wszystko źle... a może dobrze ? bit nie zmienia zawartości rejestru.
masz jeszcze 42s.
Tytuł: Re: Timingi RS232 PAL/NTSC - gdzie używane?
Wiadomość wysłana przez: Kisiel w 26 Maja 2016, 21:18
czas minął... next time poszukaj lepszego przykładu :)
Tytuł: Re: Timingi RS232 PAL/NTSC - gdzie używane?
Wiadomość wysłana przez: qus w 26 Maja 2016, 21:35
Co przegrałem? Ok, rozumiem że to potrójny NOP. Jednak trudno to nazwać intuicyjnym...
Tytuł: Re: Timingi RS232 PAL/NTSC - gdzie używane?
Wiadomość wysłana przez: Kisiel w 26 Maja 2016, 21:46
faktycznie 33 lata później ... Polak, nie syryjczyk, żyd , murzyn z brukina faso.... stwierdził że KOD z 1982 roku jest mało przejrzysty bo prawdziwy białas żąda transparentności...

...no a na poważnie to wiele takich myków nie ma w romie.


ps. hint, mega hint..w czasach gdy oni pisali kod, to nie było narzędzi aby to zobaczyć jak człowiek... a jednak się udało. Więc jak narzekasz....
Tytuł: Re: Timingi RS232 PAL/NTSC - gdzie używane?
Wiadomość wysłana przez: wegi w 27 Maja 2016, 09:14
Cytat: Kisiel

ps. hint, mega hint..w czasach gdy oni pisali kod, to nie było narzędzi aby to zobaczyć jak człowiek... a jednak się udało. Więc jak narzekasz....

Faktycznie zastanawia mnie to jak z tym dali radę i chyba była to droga przez mękę
Tytuł: Re: Timingi RS232 PAL/NTSC - gdzie używane?
Wiadomość wysłana przez: hobocti77x w 27 Maja 2016, 11:42
Znaczy, że jest to źle zdisasembliwany op BIT? Ciekawe, że wygląda to tak w kilku różnych zrzutach dostępnych w sieci.
Jest dobrze zdissasemblowany. Ta procedura ma dwa wejscia od adresu $edad i $edb0. Gdyby zdissasemblowqc ja tak jak sugerujesz "dobrze" to dopiero bys sie zastanowial co robi skok pod adres $eeb0.
Oczywiscie mogli zamiast bit dac np. Jmp $edb2 albo bne 2 ale to dodatkowy bajt a pamiec ROM z gumy nie jest sie nie rozciagnie. Taka sztuczka pozwola na zaoszczedzeniu 1 bajta ;)