Welcome, Guest. Please login or register.


Author Topic: Sjasm fejlesztése (Read 3148 times)

Offline IstvanV

  • EP addict
  • *
  • Posts: 4806
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 58.0 Firefox 58.0
    • View Profile
Sjasm fejlesztése
« on: 2019.April.04. 14:45:48 »
A sjasm kisebb hiányosságait is javítani lehetne, ha hasznos lenne csak ezekért külön verziót használni:
- .sym file exportálásakor a negatív értékű címkék hibásan működnek, ez problémákat okozott az R-Type fordításakor
- nincs lehetőség értékek definiálására a parancssorban, például a -Dnév=érték a DEFINE, az -Enév=érték pedig az EQU megfelelője lehetne

Szerk.: .sym helyett valójában jobban használható lett volna az .exp file, ami csak az erre a célra választott címkéket exportálja. Nem kellett volna cserélni az összes negatív címkét, ezt még visszaállítom a régi forrásra. :oops:

Offline geco

  • EP addict
  • *
  • Posts: 5430
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 60.0 Firefox 60.0
    • View Profile
Re:Sjasm fejlesztése
« Reply #1 on: 2019.April.04. 15:14:43 »
Az általam ismert leújabb SJASM-ot nem szerettem :D
Negatív címkék okoztak gondot az új fordítási módban, vagy csak zavaró volt a két hiba?
Igen az értékadás paracssorban jól jött volna, nem kellett volna a sok mini SRC file :D
Igen, sajnos PR1, és a pálya újra töltődik, ráadásul a legtöbb zene kétszer szerepel, egyszer a PR1-ben ( ha jól emléxem), és még egyszer a pályafájlokban, sajnos csak így tudtam megoldani, hogy fusson 128KB-n, és a zene teszt is megmaradjon a menüben.

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13531
  • Country: hu
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Firefox 66.0 Firefox 66.0
    • View Profile
    • http://enterprise.iko.hu/
Re:Sjasm fejlesztése
« Reply #2 on: 2019.April.04. 15:38:04 »
A sjasm kisebb hiányosságait is javítani lehetne, ha hasznos lenne csak ezekért külön verziót használni:
Sőt egy külön sjasmep is jó lenne! :oops: (Spectrumosoknál már láttam saját sjasm verziót)

Quote
- nincs lehetőség értékek definiálására a parancssorban, például a -Dnév=érték a DEFINE, az -Enév=érték pedig az EQU megfelelője lehetne
Ezt én is szoktam hiányolni, pl több nyelvű verzió fordításánál.

Az általam ismert leújabb SJASM-ot nem szerettem :D
Én se, csomó mindent elrontottak benne, amit EP-n megszoktunk, és sjasm 0.39-ben is működött.
De van abban is pár jó trükk, pl létező bináris fájl update-olása. Pl EXDOS 1.4-nél használtam az EXDOS ROM-ba a patch rutinok berakására. (Amely rutinok 0.39-el fordultak :-) )

Esetleges EP-s sjasm-be ilyenek lennének még jók:
-beépített EXOS n
-EXOS header fordítása, legalább 5/6
-HEASS-ból a DB különböző EP-s variációi, különösen a DBL
-4-es sjasm-ből a fájl update-olós trükk

Offline geco

  • EP addict
  • *
  • Posts: 5430
  • Country: hu
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Firefox 66.0 Firefox 66.0
    • View Profile
Re:Sjasm fejlesztése
« Reply #3 on: 2019.April.04. 17:35:44 »
A sjasm kisebb hiányosságait is javítani lehetne, ha hasznos lenne csak ezekért külön verziót használni:

Szerk.: .sym helyett valójában jobban használható lett volna az .exp file, ami csak az erre a célra választott címkéket exportálja. Nem kellett volna cserélni az összes negatív címkét, ezt még visszaállítom a régi forrásra. :oops:
Simán érdemes lehetne külön verziót használni, legalábbis én használnám ;)  , az R-Type-ot is, meg az összes 4 MHz forrást átalakítottam sjasm-ra, mindegyik Winape módban volt :D
Az exp-et nem is ismertem, de ezek után használni is fogom :D

Offline IstvanV

  • EP addict
  • *
  • Posts: 4806
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 58.0 Firefox 58.0
    • View Profile
Re:Sjasm fejlesztése
« Reply #4 on: 2019.April.04. 18:43:08 »
Sőt egy külön sjasmep is jó lenne!

Már van :), egyelőre a korábban már említett változtatásokkal, illetve a régebbi Linux MODULE javítással.

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13531
  • Country: hu
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Firefox 66.0 Firefox 66.0
    • View Profile
    • http://enterprise.iko.hu/
Re:Sjasm fejlesztése
« Reply #5 on: 2019.April.04. 19:52:52 »
Már van :), egyelőre a korábban már említett változtatásokkal, illetve a régebbi Linux MODULE javítással.
:smt038
Csináltam neki külön topicot.

Offline geco

  • EP addict
  • *
  • Posts: 5430
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 60.0 Firefox 60.0
    • View Profile
Re: Sjasm fejlesztése
« Reply #6 on: 2019.April.05. 08:44:35 »
Király vagy, majd megpróbálom beforgatni :)

Offline IstvanV

  • EP addict
  • *
  • Posts: 4806
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 58.0 Firefox 58.0
    • View Profile
Re: Sjasm fejlesztése
« Reply #7 on: 2019.April.05. 12:43:43 »
Beépítettem az EXOS és a DBL támogatását is, bár az utóbbi nem működik üres névvel. :oops: A forráskód Windowson is egyszerűen fordítható ezzel a MinGW csomaggal, a mingw32-make parancs fordítja a sjasm.exe-t.

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13531
  • Country: hu
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Firefox 66.0 Firefox 66.0
    • View Profile
    • http://enterprise.iko.hu/
Re: Sjasm fejlesztése
« Reply #8 on: 2019.April.05. 13:06:10 »
Beépítettem az EXOS és a DBL támogatását is
:smt038

Quote
, bár az utóbbi nem működik üres névvel. :oops:
Nem baj, az ilyet úgyis DB 0-nak szokás írni.

Offline BruceTanner

  • EP user
  • *
  • Posts: 487
  • Country: gb
  • OS:
  • Linux (Ubuntu) Linux (Ubuntu)
  • Browser:
  • Firefox 66.0 Firefox 66.0
    • View Profile
Re: Sjasm fejlesztése
« Reply #9 on: 2019.April.05. 14:51:10 »
As we're on the subject :mrgreen: ...what would be really nice :mrgreen:  ...is if ep128emu could read in a symbol table file from sjasm or M80, and then whenever the disassembler window prints an address, attempt to look up the address in the symbol table and print the symbol instead. It won't get it right all the time but it is very useful when it does! :twisted:


Offline IstvanV

  • EP addict
  • *
  • Posts: 4806
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 58.0 Firefox 58.0
    • View Profile
Re:Sjasm fejlesztése
« Reply #10 on: 2019.April.05. 18:42:30 »
-EXOS header fordítása, legalább 5/6

Már van ilyen is, bár kissé korlátozottan, a program vagy bővítő végét továbbra is definiálni kell címkével (szerk.: javítva, működik címke nélkül is):
Code: ZiLOG Z80 Assembler
  1.         header  5;, prgend
  2.         di
  3.         ld      sp, 0100h
  4.         ld      c, 40h
  5.         exos    0
  6.         ld      a, 01h
  7.         out     (0b3h), a
  8.         ld      a, 6
  9.         jp      0c00dh
  10. ;prgend:
Jelenleg hibát eredményez, ha a modul túl nagy méretű, de ez nem feltétlenül jó megoldás, mert csomagolva használhatóak lehetnének a "szabálytalan" programok is.

Változtatás még, hogy hiba esetén a kimeneti file törlődik, ez nem tudom, hogy valóban jó ötlet-e, de nagyobb projektnél elkerülhetőbbé teszi, hogy a fordítás a rossz file használatával később tovább folytatódjon. Az .lst-t ilyenkor sem törli.

Quote
-HEASS-ból a DB különböző EP-s variációi, különösen a DBL

A DBL-en kívül melyik lenne még hasznos elsősorban?

Quote
-4-es sjasm-ből a fájl update-olós trükk

Ez pontosan hogyan működik? :oops:
« Last Edit: 2019.April.05. 22:24:21 by IstvanV »

Offline geco

  • EP addict
  • *
  • Posts: 5430
  • Country: hu
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Firefox 66.0 Firefox 66.0
    • View Profile
Re: Sjasm fejlesztése
« Reply #11 on: 2019.April.05. 19:22:07 »
kisebb szórakozás után sikerült is beforgatni, PATH definíciókat kellett hozzáadni a Winfosomhoz :D
Köfi, műxik is :)

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13531
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 66.0 Firefox 66.0
    • View Profile
    • http://enterprise.iko.hu/
Re:Sjasm fejlesztése
« Reply #12 on: 2019.April.05. 20:13:33 »
Már van ilyen is, bár kissé korlátozottan
:smt038

Quote
A DBL-en kívül melyik lenne még hasznos elsősorban?
DBR,DBS,DP2,DP4,DP16

Quote
Ez pontosan hogyan működik? :oops:
update fájlnév; innentől ebbe a kimeneti fájlba ír.
code @ cím; a fájban erre a címre ugrik
De most, hogy nézegetem a leírást, ha jól látom másképp nevezve meg van már :-)
Quote
FPOS <position>
----
The FPOS directive makes it possible to set the file position to anywhere in the output file.

This example will result in a file with a length of one byte:
  BYTE 0
  FPOS 0
  BYTE 1
  END

In combination with OUTPUT "<filename>",r it is possible to update existing files.

Offline IstvanV

  • EP addict
  • *
  • Posts: 4806
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 58.0 Firefox 58.0
    • View Profile
Re: Sjasm fejlesztése
« Reply #13 on: 2019.April.05. 22:37:12 »
DBR,DBS,DP2,DP4,DP16

Ezeket is beépítettem, remélhetőleg nem lett hibás a pixel formátumoknál a sok bit forgatás. :)

A HEADER-nél a file végének a címe opcionális lett, ha nincs címke megadva, akkor feltételezi, hogy a forrás végén lett volna.

A DP2, DP4, és DP16 egyébként a DB-re épül, minden eredeti byte egy pixel lesz, de egy sorban csak 128 pixel lehet. Mivel csak az alsó bit(ek)et veszik figyelembe, szöveges formátum is használható, például DP4 "01233210".

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13531
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 66.0 Firefox 66.0
    • View Profile
    • http://enterprise.iko.hu/
Re: Sjasm fejlesztése
« Reply #14 on: 2019.April.05. 22:58:07 »
Szuper!

Jöhetnek nehezebb kérések is? Nem biztos, hogy megoldhatóak :oops: