https://bsky.app/profile/racunalniskimu ... qikv7v722q
@VolkD ?

VolkD je napisal/-a:Ne da se mi spisat štorije, lahko pa dam intervju, kako sem skopiral šah na QL-ju. Samo ne vem komu ?
Ja saj to še vedno obstaja.xfce je napisal/-a:kaj pa tisto, ko si našel neke nedokumentirane ukaze za nek xyz procesor?
VolkD je napisal/-a:Ja saj to še vedno obstaja.xfce je napisal/-a:kaj pa tisto, ko si našel neke nedokumentirane ukaze za nek xyz procesor?
Z80 procesorji različnih proizvajalcev se na videz obnašajo povsem enako. Ampak samo na videz.
Ko se v sodobnih procesorjih zgodi, da v instrukcijsko dekodirno enoto pride ukaz, ki ni legalen, se zgodi interupt in če je na tem interuptu ( in običajno to je - vsaj reset) se taka zadeva obdela.
Pri Z80 temu ni tako. Tu se pač nekaj izvede. Kaj je ta nekaj je odvisno od proizvajalca do proizvajalca. Dva nista enaka. Sicer je res, da se večinoma ne zgodi nič, ampak včasih pa se.
Strašno zanimivo je bilo ugotavljati kaj se zgodi. Z80 ima tri registre, ki se nekako spogledujejo z 16 biti. To so IX, IY (naslovni registri) In registerski par H in L. To sta ločena registra, a se v paru lahko obnašata kot naslovni register. Nabor (govorimo o strojnem jeziku oziroma vsaj assm) instrukcij za HL register, kljub temu, da je lahko naslovni, ima bistveno manjši nabor ukazov, kot je nabor ukazov kot IX in IY. In tu se zaresna zabava šele začne.
V instrukcijah sta dva bita, ki povesta za kateri register se gre. HL register pa uradno nima vseh kombinacij, ki jih imata IX in IY register, temveč le nekatere. Dekodirni del instrukcij za HL registerski par je nekdo kar copy/paste še za HL register (govorimo o HW). Zato nekatere neuradne in nedokumentirane instrukcije, ki so sicer za IX in IY povsem legit, delujejo tudi na HL registerskem paru. Nikoli verjetno ne bom pogruntal zakaj nekatere ne delajo, druge pa delajo nekaj drugače.
Nedojemljivo je tudi, da nekatere delajo samo na procesorjih določenih proizvajalcev. Zaradi tovrstne anomalije se je dalo z nedokumentiranimi instrukcijami določiti proizvajalca Z80 procesorja. No nekatere ilegalne instrukcije na srečo delujejo na vseh znanih procesorjih. Zato se je z njimi dalo narediti kodo, za katero se je točno vedelo kaj dela, a ker disasemblerski programi niso poznali nelegalnih instrukcij, je bilo praktično nemogoče debugirati tako narejen program.
Naredil sem članek na to temo. Pri Moj micro so članek (ker je bil predolg ?) razdelili na dva dela. Prvi del je bil objavljen, drugi pa je izginil v revijskih nebesih. Šele mnogo kasneje sem izvedel, da je bil pritisk proizvajalcev igric tako velik, da se je revija odločila, da drugega dela ne objavi. Kar nekaj proizvajalcev SW je namreč to dejstvo že poznalo in ga koristilo za zaščito svojih produktov pred kopiranjem.
Nimam pojma. Ampak moralo je biti drugo ali tretje leto izhajanja Moj mikro.Lovro7 je napisal/-a:Zanimivo!
Lahko izvem v kateri številki je bil objavljen prvi članek?
VolkD je napisal/-a:Ne da se mi spisat štorije, lahko pa dam intervju, kako sem skopiral šah na QL-ju. Samo ne vem komu ?
Po forumu brska: 0 registriranih uporabnikov in 1 gost