OldComp.cz

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

Reklama!

Právě je 12 pro 2018, 10:15

Všechny časy jsou v UTC + 1 hodina




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 20 ]  Přejít na stránku 1, 2  Další
Autor Zpráva
 Předmět příspěvku: SjASMPlus
PříspěvekNapsal: 08 zář 2017, 09:29 
Offline
Profík
Uživatelský avatar

Registrován: 05 zář 2013, 13:08
Příspěvky: 713
Bydliště: Smolenice
Has thanked: 62 times
Been thanked: 211 times
Našiel som v sjasmplus hnusný bug. Pri inchob / incbin na hranici 16kb blokov sa posledný bajt z predchádzajúceho 16kB slotu zopakoval na začiatku nasledujúceho slotu. Dôsledkom bolo, že importované dáta boli na prelome blokov o bajt posunuté. Zaujímavé je, že ten bug tam bol od začiatku a nikto iný na to doteraz neprišiel. Busy sa v tom povŕtal a hneď to fixol.

Pred časom prispel aj nejaký Alexander Kovalenko a dorobil commandline parameter -D, pomocou ktorého si môžete definovať konštanty zvonka zdrojáku.

Takže som to dal dokopy a opravená verzia je k dispozícii:
https://github.com/z00m128/sjasmplus/ (zdrojáky)
http://z00m.speccy.cz/files/sjasmplus-win32-1.09.zip (windows binárka)

_________________
To err is human, but to really foul things up requires a computer.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: sjasmplus 1.09
PříspěvekNapsal: 08 zář 2017, 10:47 
Offline
Profík
Uživatelský avatar

Registrován: 05 zář 2013, 13:08
Příspěvky: 713
Bydliště: Smolenice
Has thanked: 62 times
Been thanked: 211 times
Tak ešte som tú windowsácku binárku vybuildoval znova s peknou ikonkou a zapakoval UPXom, tak kto ste si to už stiahli a chcete lepšiu kozmetiku :-), sosnite znova, je tam už tento nový build.

_________________
To err is human, but to really foul things up requires a computer.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: sjasmplus 1.09
PříspěvekNapsal: 09 kvě 2018, 08:23 
Offline
Profík
Uživatelský avatar

Registrován: 05 zář 2013, 13:08
Příspěvky: 713
Bydliště: Smolenice
Has thanked: 62 times
Been thanked: 211 times
mborik zapracoval a naimplementoval plnokrvný SAVETAP. Odteraz si môžete kompletnú TAPku vyskladať priamo vo vašich zdrojákoch.

SjASMPlus 1.10.0 zdrojáky: https://github.com/z00m128/sjasmplus/releases
alebo hotová binárka pre Windows: https://z00m.speccy.cz/files/sjasmplus-1.10.0-win32.zip

Poprosím moderátora premenovať toto vlákno na SjASMPlus, aby bolo univerzálne aj pre oznamy v budúcnosti.

_________________
To err is human, but to really foul things up requires a computer.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: sjasmplus 1.09
PříspěvekNapsal: 15 kvě 2018, 13:13 
Offline
Pan Generální

Registrován: 22 kvě 2013, 20:14
Příspěvky: 2038
Bydliště: Bratislava
Has thanked: 224 times
Been thanked: 378 times
A mame tu verziu 1.10.1 s dalsimi novinkami:
- korekcia v direktive OUTPUT (nezapisuje do suboru data pred direktivou)
- nova direktiva OUTEND (korektne ukoncuje generovanie suboru v OUTPUT)
- nove direktivy TAPOUT a TAPEND pre kompilaciu zdrojaku priamo do tapky
Odkaz: z00mov github vid prispevok vyssie

Kompilovat program priamo do tapky si odteraz mozete az tromi roznymi sposobmi:

1. Povodny sposob este od rusakov - vygeneruje celu tapku:
SAVETAP tapka, start_adresa
Tento sposob vygeneruje tapku ktora vyzera hnusne ako automaticky skonvertovany snap. Doporucujem rozhodne nepouzivat.

2. Sposob filozoficky podobny basic prikazu SAVE - prida do existujucej tapky jeden (bez)hlavickovy subor:
SAVETAP tapka, typ, meno, adresa , dlzka [, parameter1 [, parameter2]]
tapka ... meno tapky do ktorej sa ma pridat novy subor
typ ... BASIC / NUMBERS / CHARS / CODE / HEADLESS
meno ... meno ktore sa ulozi do hlavicky
adresa, dlzka ... blok skompilovanych dat v pameti ktory sa ulozi ako obsah suboru
parameter1,2 ... podla typu suboru (start line, adresa v hlavicke, nazov premennej, flagbajt...)

Pre vytvarania tapky je potrebne mat definovany model pomocou DEVICE.

3. Sposob filozoficky podobny ROM save rutinke #4C6 - prida do existujucej tapky jeden datovy blok:
TAPOUT tapka [, flagbyte]
....
TAPEND

tapka ... meno tapky do ktorej sa ma pridat novy blok
flagbyte ... flagbyte bloku. Default hodnota je 255.

Vsetko co sa skompiluje medzi riadkami TAPOUT a TAPEND sa zapisuje ako data do bloku. Kontrolna suma na konci bloku sa vygeneruje automaticky.

Nove sposoby 2 a 3 je mozne pouzit viacnasobne, t.j. v jednom zdrojaku sa da vygenerovat tapka obsahujuca viacero suborov / blokov. Pre vytvorenie novej prazdnej tapky (zmazanie existujucej) je vhodne na zaciatku zdrojaky pridat direktivu EMPTYTAP meno_tapky.

V adresari https://github.com/z00m128/sjasmplus/tree/master/tests najdete ukazkove priklady savetap_test.asm a tapout_test.asm pouzitia tychto direktiv.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: sjasmplus 1.09
PříspěvekNapsal: 15 kvě 2018, 13:59 
Offline
Pan Generální
Uživatelský avatar

Registrován: 18 čer 2013, 19:26
Příspěvky: 2240
Has thanked: 83 times
Been thanked: 320 times
Busy píše:
A mame tu verziu 1.10.1 s dalsimi novinkami:
- korekcia v direktive OUTPUT (nezapisuje do suboru data pred direktivou)
- nova direktiva OUTEND (korektne ukoncuje generovanie suboru v OUTPUT)
- nove direktivy TAPOUT a TAPEND pre kompilaciu zdrojaku priamo do tapky

(...)

Nove sposoby 2 a 3 je mozne pouzit viacnasobne, t.j. v jednom zdrojaku sa da vygenerovat tapka obsahujuca viacero suborov / blokov. Pre vytvorenie novej prazdnej tapky (zmazanie existujucej) je vhodne na zaciatku zdrojaky pridat direktivu EMPTYTAP meno_tapky.

Tak to je super, díky! :thumbup:

A je možné používat vícenásobně i dvojici OUTPUT-OUTEND, tedy z jednoho zdrojáku vygenerovat více souborů?

_________________
www.zxsparrow.com


Nahoru
 Profil  
 
 Předmět příspěvku: Re: sjasmplus 1.09
PříspěvekNapsal: 15 kvě 2018, 14:27 
Offline
Pan Generální

Registrován: 22 kvě 2013, 20:14
Příspěvky: 2038
Bydliště: Bratislava
Has thanked: 224 times
Been thanked: 378 times
Jiiira píše:
A je možné používat vícenásobně i dvojici OUTPUT-OUTEND, tedy z jednoho zdrojáku vygenerovat více souborů?
Samozrejme, toto sa dalo uz davno, dokonca priamo v dokumentacii sa explicitne pise ze si mozes vygenerovat viac roznych suborov:
documentation.html#po_output píše:
With OUTPUT it is possible to create multiple files from one source.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: sjasmplus 1.09
PříspěvekNapsal: 15 kvě 2018, 14:58 
Offline
Pan Generální
Uživatelský avatar

Registrován: 18 čer 2013, 19:26
Příspěvky: 2240
Has thanked: 83 times
Been thanked: 320 times
Busy píše:
Jiiira píše:
A je možné používat vícenásobně i dvojici OUTPUT-OUTEND, tedy z jednoho zdrojáku vygenerovat více souborů?
Samozrejme, toto sa dalo uz davno, dokonca priamo v dokumentacii sa explicitne pise ze si mozes vygenerovat viac roznych suborov:
documentation.html#po_output píše:
With OUTPUT it is possible to create multiple files from one source.

Jo, díky... já jsem to nikdy nezkoušel, to jen teď na základě tvé zprávy mě napadlo, že by se to mohlo někdy hodit...

A ještě jedna věc: na adrese https://github.com/z00m128/sjasmplus/releases tu novou verzi nikde nevidím...? Nejnovější je tam v1.10.0.

_________________
www.zxsparrow.com


Nahoru
 Profil  
 
 Předmět příspěvku: Re: sjasmplus 1.09
PříspěvekNapsal: 15 kvě 2018, 15:11 
Offline
Profík
Uživatelský avatar

Registrován: 05 zář 2013, 13:08
Příspěvky: 713
Bydliště: Smolenice
Has thanked: 62 times
Been thanked: 211 times
Je to čerstvé a nový release ešte nemám spravený, keďže to musím otestovať na troch platformách. Treba chvíľu ešte vydržať.

Čiže windowsácka binárka 10.0.1 ešte nie je k dispozícii, ale zdrojáky už sú updatnuté, takže kto má MinGW už si to skompilovať môže.

Večer sa posnažím spraviť release.

_________________
To err is human, but to really foul things up requires a computer.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: sjasmplus 1.09
PříspěvekNapsal: 15 kvě 2018, 16:45 
Offline
Pan Generální
Uživatelský avatar

Registrován: 18 čer 2013, 19:26
Příspěvky: 2240
Has thanked: 83 times
Been thanked: 320 times
Jo, to je v pohodě, já jsem jen nevěděl, jestli blbě hledám, nebo co...

_________________
www.zxsparrow.com


Nahoru
 Profil  
 
 Předmět příspěvku: Re: sjasmplus 1.09
PříspěvekNapsal: 15 kvě 2018, 18:30 
Offline
Profík
Uživatelský avatar

Registrován: 05 zář 2013, 13:08
Příspěvky: 713
Bydliště: Smolenice
Has thanked: 62 times
Been thanked: 211 times
Release v1.10.1 je vonku: https://github.com/z00m128/sjasmplus/releases.

Tú windows binárku už budem releasovať len cez github, teda nebudem ju držať zvlášť, takže vyššie uvedené linky smerujúce na z00m.speccy.cz už neplatia.

_________________
To err is human, but to really foul things up requires a computer.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: sjasmplus 1.09
PříspěvekNapsal: 18 kvě 2018, 13:43 
Offline
Pan Generální
Uživatelský avatar

Registrován: 18 čer 2013, 19:26
Příspěvky: 2240
Has thanked: 83 times
Been thanked: 320 times
Protože se tento assembler zásluhou našich slovenských kolegů stále vyvíjí, byl bych opravdu pro to, aby jednak toto vlákno bylo přejmenováno na "SjASMPlus" (bez čísla verze) a druhak aby bylo přesunuto do rubriky "Programování", kde už jsou vlákna jiných překladačů - v Novinkách se to myslím trochu přežilo.
Nevím, jestli to tu Mistic čte, pokud ne, mohu mu o to napsat.

Všichni, kdo jste proti tomuto návrhu, protestujte... teď! ;)

_________________
www.zxsparrow.com


Nahoru
 Profil  
 
 Předmět příspěvku: Re: SjASMPlus
PříspěvekNapsal: 22 srp 2018, 22:26 
Offline
Profík
Uživatelský avatar

Registrován: 05 zář 2013, 13:08
Příspěvky: 713
Bydliště: Smolenice
Has thanked: 62 times
Been thanked: 211 times
Verzia 1.10.2 je vonku: https://github.com/z00m128/sjasmplus/releases

Fixnuté bugy v pseudoinštrukcii UNDEFINE a zalamovaní riadkov.

_________________
To err is human, but to really foul things up requires a computer.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: SjASMPlus
PříspěvekNapsal: 26 lis 2018, 11:25 
Offline
Pan Generální

Registrován: 22 kvě 2013, 20:14
Příspěvky: 2038
Bydliště: Bratislava
Has thanked: 224 times
Been thanked: 378 times
berk píše:
Zkusil jsem SjASMPlus a mám hned dvě připomínky:

1) Dalo mi docela zabrat než jsem přišel na to jak ho použít. Nakonec mi pomohl Busy-ho příspěvek na fóru, který mě navedl do adresáře test kde jsou příklady. Chtělo by to asi nějaký příklad rychlého použití přímo do README a do --help
To by asi nebolo rozumne, ak by sme do readme a --help chceli dat aj taketo veci, potom by mali 128 stran. Podla mna v readme ma byt len nejaka zakladna informacia ktoru je mozne preletiet do par sekund a v --help maju byt cmd line parametre. Vsetko ostatne sa da najst v prilozenej dokumentacii (subor documentation.html)
berk píše:
2) Moc se mi nelíbí mixování zdrojáku s těma direktivama pro vytvoření tapky atd. Jde ty příkazy oddělit do samostatného souboru? Udělat z toho takový sjasmplus makefile.
Ved ti nic nebrani vsetko co nechces mat vo svojom hlavnom zdrojaku ulozit do inych suborov a v hlavnom zdrojaku mat nejake to INCLUDE :)

Pripravil som malicky priklad "kniznice" sluziacej na vygenerovanie tapky so zavadzacim basicom. Samotne vytvaranie tapky je v kniznici realizovane formou makra, ktoreho parametre urcuju z coho chces vytvorit tapku. Takze v hlavnom zdrojaku ti staci napisat len svoj vlastny kod, jedno include a zavolat makro s prislusnymi parametrami.
Příloha:
TapLib01.zip [889 bajtů]
11 krát


Nahoru
 Profil  
 
 Předmět příspěvku: Re: SjASMPlus
PříspěvekNapsal: 26 lis 2018, 12:16 
Offline
Profík
Uživatelský avatar

Registrován: 05 zář 2013, 13:08
Příspěvky: 713
Bydliště: Smolenice
Has thanked: 62 times
Been thanked: 211 times
Pridal som adresár "examples" kde sa môžu pridávať rôzne príklady. Vložil som tam aj túto tvoju TapLib. On tam aj kedysi ten adresár bol, ale ako sme to migrovali, tak nejak vypadol. Od ďalšieho release ho budem k windows buildu pridávať.

_________________
To err is human, but to really foul things up requires a computer.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: SjASMPlus
PříspěvekNapsal: 26 lis 2018, 13:04 
Offline
Radil

Registrován: 27 zář 2014, 22:56
Příspěvky: 436
Has thanked: 380 times
Been thanked: 198 times
Bezva. Šlo mi o to aby člověk, který si chce kompilátor vyzkoušet, nemusel dlouze tápat jak ho vlastně použít. Tzn mít někde odkaz na příklad použití typu "hello world".

_________________
ZX Spectrum DELTA, D80, Melodik, XY4150, Aritma 0512
PGP: A6EA 1F93 EF6B D8D1 35AD B6D7 1E79 73E5 1B28 17F9


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ů: 20 ]  Přejít na stránku 1, 2  Další

Všechny časy jsou v UTC + 1 hodina


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 1 návštěvní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:  
Založeno na phpBB® Forum Software © phpBB Group
Český překlad – phpBB.cz