OldComp.cz

Komunitní diskuzní fórum pro fanoušky historických počítačů

OldCompu nen nikdy dost!

Právě je 21.01.2022, 03:33

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 27 ]  Přejít na stránku Předchozí  1, 2
Autor Zpráva
PříspěvekNapsal: 12.01.2022, 15:54 
Offline
Profík

Registrován: 06.02.2019, 11:47
Příspěvky: 630
Has thanked: 20 times
Been thanked: 96 times
Vypada to asi takto....
Kód:
                        ;******************************************************************************
                        ;obsluha prikazu MONITORu SEND
                        ;******************************************************************************
901D 21 46 83            LD HL,8346H                     ; hlasenie 'Error in address'
9020 22 74 C0            LD (0C074H),HL                  ; do systemovej premennej MESAGE
9023 3E 52               LD A,52H                        ; typ dat 'R' (v prirucke sa vsak taky neuvadza)
9025 32 B2 C1            LD (0C1B2H),A                   ; do systemovej premennej TYPFIL
9028 CD 9A 95            CALL L0290                      ; ak nie je nastaveny flag, zmeh hlasku na 'LAN off'
902B CA 49 80            JP Z,L0032                      ; vypis hlasenie 'LAN off'
902E CD 84 95            CALL L0291                      ; hladaj v bufri dalsi znak okrem medzery
9031 CD 60 91            CALL L0292                      ; nacitaj adresu prijemcu
9034 DA 49 80            JP C,L0032                      ; ak nie je hex, vypis chyboveho hlasenia 'Errror in address'
9037 2A 72 C0            LD HL,(0C072H)                  ; pozicia v bufri
903A 7E                  LD A,(HL)                       ; nacitak znak
903B FE 2F               CP 2FH                          ; je to '/' ? ak ano, musi nasledovat typ dat
903D C2 49 90            JP NZ,L0293                     ; nie je, budu sa dekodovat parametre bloku
9040 CD 0F 91            CALL L0294                      ; nacitaj typ dat, ak je to G, B alebo T, rovno nastav blok
9043 C2 6C 92            JP NZ,L0295                     ; hlasenie 'LAN off'
9046 C3 7C 90            JP L0296                        ; prepocitaj parametre bloku


Nahoru
 Profil  
 
PříspěvekNapsal: 12.01.2022, 17:08 
Offline
Profík

Registrován: 06.02.2019, 11:47
Příspěvky: 630
Has thanked: 20 times
Been thanked: 96 times
Otázka za milión: Kto má dva počítače Maťo, aby vedel otestovať sieť?
M1


Nahoru
 Profil  
 
PříspěvekNapsal: 12.01.2022, 18:57 
Offline
Kecálek

Registrován: 14.09.2018, 09:10
Příspěvky: 183
Bydliště: Bardejov
Has thanked: 7 times
Been thanked: 5 times
Martin1 píše:
Otázka za milión: Kto má dva počítače Maťo, aby vedel otestovať sieť?
M1


Ja mám 2 počítače Maťo, jeden je plne funkčný, druhý nie tak celkom (dával som tu už aj príspevky ohľadom jeho opravy, no nikam sa to neposunulo lebo som na to potom už nemal čas).
Zatiaľ som v ňom vylúčil len chybu v EPROM, takže môže byť vadný niektorý z logických obvodov alebo RAM. Neviem sa s tým veľmi sám pohnuť no rád by som ho rozbehol a opravil.
K PMD je aspoň manuál s priebehmi aké majú byť na výstupoch jednotlivých integrovaných obvodo, no neviem o tom, aby niečo podobné bolo aj k Maťovi.

_________________
Didaktik M/Didaktik GAMA/PMI 80/MAŤO/Commodore64


Nahoru
 Profil  
 
PříspěvekNapsal: 13.01.2022, 16:36 
Offline
Profík

Registrován: 06.02.2019, 11:47
Příspěvky: 630
Has thanked: 20 times
Been thanked: 96 times
Disassembling hotovy.
Prekvapenie prve, netreba ziadny dodatocny HW.
Vysvetlit, preco sa v prirucke pise, ze sa pouziva prudova 20mA slucka (comu zodpoveda ja obrazok v prirucke), mozno iba konspiraciou, ze povodne bol na to navrhnuty iny HW, nasledne sa preslo na riesenie bez HW a stacilo len zmenit v kode cisla portov.
Tak ci onak, staci obycajny audio kabel medzi dvoma pocitacmi, komunikacia prebieha cez audio vstup/vystup.
Prekvapenie druhe, kod je ciste sialenstvo, cakal by som, ze ak niekto dokazal zoptimalizovat kod Monitora, napisat novy pekny kod mu nebude robit problem. Najviac ma zabila cast kodu, ktora sa prelina s generatorom znakov (cast bitmapy znaku tvori kod :bang: ). V kode su aj logicke nedostatky.
Prekvapenie tretie: rychlost udajne 1200b/s. To je na drotove spojenie na par metrov dost malo.

Kto ma dvoch Matov, moze surfovat!
Zistenia doplnim do prirucky a Roman by to mohol publikovat na ich webe.
M1


Nahoru
 Profil  
 
PříspěvekNapsal: 14.01.2022, 12:30 
Offline
Profík

Registrován: 06.02.2019, 11:47
Příspěvky: 630
Has thanked: 20 times
Been thanked: 96 times
Priručka doplnená o zistenia pri disassemblovaní kódu.
Odoslal som Romanovi na publikovanie.
Zároveň upozorňujem, že v kóde je malá chyba (dva bajty), možno nebola dobrá EPROM, z ktorej sa to sťahovalo.
V prípade, že sa najde nejaký odvážny záujemca, môžem mu skompilovať opravenú verziu.
Na obr. komunikácia medzi počítačmi.
M1


Přílohy:
Mato-com.png
Mato-com.png [ 2.66 KiB | Zobrazeno 307 krát ]
Nahoru
 Profil  
 
PříspěvekNapsal: 16.01.2022, 17:43 
Offline
Profík

Registrován: 06.02.2019, 11:47
Příspěvky: 630
Has thanked: 20 times
Been thanked: 96 times
Upravený návod ako aj disassembling sieťových rutín nájdete tu
m1
P.S. teraz si spravíme webový "koncentrátor" a v lete sa všetci Maťovia môžu spojiť do jednej siete :bulb:


Nahoru
 Profil  
 
PříspěvekNapsal: 18.01.2022, 15:39 
Offline
Kecálek

Registrován: 28.11.2020, 19:52
Příspěvky: 165
Has thanked: 9 times
Been thanked: 60 times
Je v tom kóde nejaká podstatná chyba ? Lebo budem mať možnosť vyskúšať dvoch Maťov po sieti.


Nahoru
 Profil  
 
PříspěvekNapsal: 18.01.2022, 17:51 
Offline
Profík

Registrován: 06.03.2018, 16:00
Příspěvky: 605
Bydliště: Valtínov, Kunžak
Has thanked: 14 times
Been thanked: 213 times
Martin1 píše:
Prekvapenie druhe ...Najviac ma zabila cast kodu, ktora sa prelina s generatorom znakov (cast bitmapy znaku tvori kod :bang: )...

Za to se Ti omlouvám, to je moje chyba. Při komentování disassemblovaného kódu jsem si tuhle část neuhlídal a seknul tam chybu. Samozřejmě, že na adrese 88B5h (návěstí L0160) začíná časová smyčka trvající dle obsahu DE a do generátoru znaků nijak nezasahuje. V příloze je to opraveno. Zároveň jsem poupravil komentář v proceduře pro výpočet začátku bitmapy daného znaku (L0110). Dost mě zmátlo, že je vlastní generátor rozdělený na dvě části a tenkrát jsem to úplně nepochopil :bang: . Ale takových kiksů tam bude z mojí strany určitě víc.

Standardně se od znaku, pro který se má najít jeho bitmapový vzor odečítá hodnota 20h (kód pro znak mezera), pronásobí se počtem byte definující vlastní znak (zde 8) a výsledek se připočte k začátku generátoru znaků (dále jen GZ). Zde se "hodnota" mezery neodečítá a vše se násobí tak, jak to je. Proto se jako počátek GZ musí vzít jeho skutečná adresa zmenšená o oněch 8byte x "mezera" (100h). Pokud by byl GZ vcelku, nemuselo by se nic upravovat a bylo by to. Ale protože 2. část GZ začíná znakem s kódem 60h, adresa daného generátoru se musí posunout o 8x60h=>300h. V obou případech je tam ještě korekce o 8 byte (z mě nevím proč - aby to vyšlo?). A v tom přepočtu u 2.půlky GZ jsem se seknul a tím vznikla část, která se tváří jak jako data tak i jako program.

Ještě jednou se všem "zmateným" co nejupřimněji omlouvám :angel:

Tímto prosím Romana, aby na svých stránkách aktualizoval příslušný soubor. Možná by stačilo ponechat jen jednu variantu - Komentovaný výpis MONITORu s popisem sítě.

Děkuji

Petr


Přílohy:
mato-lan-dis.zip [41.57 KiB]
7 krát
Nahoru
 Profil  
 
PříspěvekNapsal: 18.01.2022, 19:41 
Offline
Radil
Uživatelský avatar

Registrován: 13.05.2013, 17:48
Příspěvky: 477
Bydliště: Košice
Has thanked: 294 times
Been thanked: 237 times
RaceSoft píše:
Tímto prosím Romana, aby na svých stránkách aktualizoval příslušný soubor. Možná by stačilo ponechat jen jednu variantu - Komentovaný výpis MONITORu s popisem sítě.
Predbežne som do archívu dal obe verzie. Nakoniec, každá sa týka inej binárky ROM.
Možno si v budúcnosti dovolím ten disassembling previesť do kompilovateľnej podoby a až výsledný kompilačný listing by bol tým publikovateľným výstupom.
Takto som to robil s disassemblingom ROM PP 01 (nie je zatiaľ publikovaný, keďže nie je hotový) a tak mi to pomohlo nezaniesť do disassemblovaného kódu chyby, ktoré sa po počiatočnom disassemblingu a úpravách často stávajú. Takisto mi v aktuálnom komentovanom výpise Monitora Maťa chýbajú zrozumiteľné návestia. Ale to je plán na "ďalšiu päťročnicu".
RaceSoft píše:
V obou případech je tam ještě korekce o 8 byte (z mě nevím proč - aby to vyšlo?).
Tá "korekcia", teda že adresa predlohy znaku je fakticky až za ním, je preto, že sa znak kreslí odspodu. Neobvyklé, ale je to tak.

_________________
https://pmd85.borik.net - PMD 85 Emulátor, PMD 85, PMD 32-SD
https://pp01.borik.net - PP 01 Emulátor, PP 01, SD-ROM Modul


Naposledy upravil rombor dne 18.01.2022, 21:00, celkově upraveno 1

Nahoru
 Profil  
 
PříspěvekNapsal: 18.01.2022, 20:35 
Offline
Profík

Registrován: 06.02.2019, 11:47
Příspěvky: 630
Has thanked: 20 times
Been thanked: 96 times
Joey78 píše:
Je v tom kóde nejaká podstatná chyba ? Lebo budem mať možnosť vyskúšať dvoch Maťov po sieti.

Chyba je na adrese 92AF, v komentovanom kóde som označil "Huston, mame problem".
Príkaz SET a SEND by mal fungovať, takže odskúšať to pôjde.
M1


Nahoru
 Profil  
 
PříspěvekNapsal: 18.01.2022, 20:52 
Offline
Profík

Registrován: 06.02.2019, 11:47
Příspěvky: 630
Has thanked: 20 times
Been thanked: 96 times
RaceSoft píše:
Při komentování disassemblovaného kódu jsem si tuhle část neuhlídal a seknul tam chybu.
Vdaka za objasnenie, chvilu som o sebe pochyboval, potom som pochyboval o tom, ci je kod dobry, ale nakoniec som to odladil v emulatore a prisiel som na to, co to vlastne robi, ale celkovo ma to celkom zdrzalo. I tak super, ze som mal Tvoj disassembling, inak by som sa na ten zvysok nedal.


Nahoru
 Profil  
 
PříspěvekNapsal: 18.01.2022, 21:08 
Offline
Profík

Registrován: 06.03.2018, 16:00
Příspěvky: 605
Bydliště: Valtínov, Kunžak
Has thanked: 14 times
Been thanked: 213 times
2rombor: OK, v pohodě, soubory budou dva. A děkuji za vysvětlení s tou opravou o 8 byte. Mám pocit, že jsem to někde podchytil - u portace ovladače pro GAMACENTRUM na Zbrojováčka - tam je taky ukazatel na konec bitmapy znaku.

2Martin1: promiň, nebylo úmyslem Tě zdržet. A jsem rád, že okomentování listingu někomu pomohlo. Vím, že to komentuju jako trumpeta, ale musím to pochopit a snažím se to popsat tak, abych s tím po čase neměl problém. Bohužel, ne vždy se mi to podaří...

P.


Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 27 ]  Přejít na stránku Předchozí  1, 2

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 4 návštevníků


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  
cron
Založeno na phpBB® Forum Software © phpBB Group
Český překlad – phpBB.cz