Welcome, Guest. Please login or register.


Author Topic: ASM EP-n - hogyan kezdjem? (Read 31929 times)

Offline Jubatian

  • Newbie
  • Posts: 20
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 3.6.15 Firefox 3.6.15
    • View Profile
    • Jubatian retroblogja
ASM EP-n - hogyan kezdjem?
« on: 2011.March.22. 22:39:21 »
Üdv!

Kis segedelmet szeretnék kérni abban, hogyan tudnám az EP-t Assemblerben programozni? Azaz konkrétan abban, mi is kellene ahhoz, hogy egy ilyen ASM program elinduljon pl. BASIC alól betöltés és futtatásra. C64-en ezt úgy oldottam meg, hogy valahonnan kihalásztam, mi is van a .prg fájlokban, aztán írtam egy stub-ot (Egy SYS ugrás az utána következõ ASM elsõ utasítására), amit a fordítóval generált bináris elejére applikálok. Valami ilyesmihez szeretnék EP-vel is eljutni. Hol kellene ugyan nézelõdnöm? Esetleg itt ez azért bonyolultabb lenne, hogy az EXOS-al is jóban legyek? Hát na, a BASIC-et annyira nem szeretem, bár próbálgattam azért :)

Esetleg így a technikaiakról akad ez-az? Játékok szervezése például? Arra gondolok, hogy hogyan alakulnak az alap gép-specifikus dolgok, például akár a játékok mondjuk miért olyan fájlokra vannak lebontva, amilyenekre (Ennek az egy-egy szegmensbe szánt binárisnak az lenne a szerepe, hogy az indító .com majd bepakolná õket egyenként betöltéskor? Momentán a Wriggler van elõttem). Vagy csak én nem nézelõdnék a dolog után jó helyen, pedig ott az orrom elõtt...

Köszi a segítséget!

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13519
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 3.6.15 Firefox 3.6.15
    • View Profile
    • http://enterprise.iko.hu/
Re: ASM EP-n - hogyan kezdjem?
« Reply #1 on: 2011.March.22. 23:32:39 »
Használ EP assemblert (HEASS ajánlott), és akkor csak annyi a dolgod, hogy 5-ös fejléccel fordítod le a programodat. A LOAD ezt 100H-tól fogja betölteni, és indítani, lásd új alkalmazói programok betöltése.

Itt egy példaprogramocska, ami tartalmazza a program szabályos indulását, memória foglalást, LPT felépítést, kilépést. A fõprogram jelenleg kimerül SPACE gomb figyelésben :-)
Code: ZiLOG Z80 Assembler
  1.                 MACRO EXOS n
  2.                   RST 30H
  3.                   DB  n
  4.                 ENDM
  5.  
  6.                 ORG 0F0H
  7.  
  8.                 ;16 bájtos EXOS fejléc
  9.  
  10.                 DB 0,5          ;5-ös típus, vagyis gépi kódú felhasználói program
  11.                 DW VEGE-100H    ;hossz 16 biten
  12.                 DB 0,0,0,0,0,0,0,0,0,0,0,0 ;többi bájt nem használt
  13.  
  14.                 ;program kezdete, 100H-ra töltödik be
  15.  
  16.                 LD SP,100H      ;felhasználói veremmutató beállítása, 164 bájt szabad
  17.                                 ;Az EXOS-nak saját belsõ verme van a rendszerszegmensben
  18.                                 ;EXOS hívások vagy EXOS megszakítás kiszolgálása esetén
  19.                                 ;8 bájt kerül felhasználásra a felhasználói verembõl
  20.                 LD HL,HIBA
  21.                 LD (0BFF8H),HL  ;EXOS melegindítási rutin címének beállítása
  22.  
  23.                                 ;ez a rutin fut le a Reset gomb egyszeri megnyomásakor
  24.                                 ;jelen esetben ugyanazt a kilépési rutint használjuk,
  25.                                 ;amit egyéb hibák esetén is. A HIBA rutin felszabadítja
  26.                                 ;a programunk által használt memóriát, majd szabályosan
  27.                                 ;kilép a villogó ENTERPRISE felírathoz.
  28.                                 ;így a reset megnyomásakor a program szabályosan kilép,
  29.                                 ;nem történik teljes hidegindítás, így a gépben lévõ
  30.                                 ;adatok (pl RAMDISK vagy rendszerbõvítõk) megõrzõdnek
  31.  
  32.                 LD A,12         ;memória várakozások
  33.                 OUT (191),A     ;tiltása (opcionális :-)
  34.                
  35.                 ;keretszín feketére állítása
  36.  
  37.                 LD BC,100H+27   ;B=1 írás kódja
  38.                                 ;C=27 rendszerváltozó száma (BORDER)
  39.                 LD D,0          ;változó új értéke
  40.                 EXOS 16         ;EXOS változó kezelése
  41.  
  42.                 CALL VID        ;egy videó szegmens igénylése
  43.                 JP NZ,HIBA      ;ha nem sikerült, akkor kilépés
  44.                 LD A,C          ;kapott szegmens számának
  45.                 LD (VIDS),A     ;letárolása
  46.                 OUT (0B3H),A    ;szegmens belapozása a 3. lapra
  47.  
  48.                
  49.                 LD DE,0         ;szegmensszám alsó
  50.                 RRA             ;két bitje
  51.                 RR D            ;lesz a videócím
  52.                 RRA             ;felsõ két
  53.                 RR D            ;bítje
  54.                 LD (VIDCIM1),DE ;ezzel adjuk majd meg
  55.                                 ;a pixel adatok helyét
  56.  
  57.                 LD HL,3F00H     ;a pixel adatok mögött
  58.                 ADD HL,DE       ;lesz a képernyõt leíró
  59.                 LD (LPTCIM),HL  ;sorparaméter tábla videó címe
  60.                 EXOS 24         ;szegmens igénylése
  61.                 JP NZ,HIBA      ;ha nem sikerült, akkor kilépés
  62.                 LD A,C          ;kapott szegmens számának
  63.                 LD (P1S),A      ;letárolása
  64.                 OUT (0B1H),A    ;és belapozása az 1. lapra
  65.                 EXOS 24         ;szegmens igénylése
  66.                 JP NZ,HIBA      ;ha nem sikerült, akkor kilépés
  67.                 LD A,C          ;kapott szegmens számának
  68.                 LD (P2S),A      ;letárolása
  69.                 OUT (0B2H),A    ;és belapozása a 2. lapra
  70.  
  71.                 LD HL,4000H     ;minden
  72.                 LD DE,4001H     ;kapott
  73.                 LD (HL),L       ;memória
  74.                 LD BC,0C000H    ;törlése
  75.                 LDIR
  76.  
  77.                 LD HL,LPT       ;sorparaméter tábla
  78.                 LD DE,0FF00H    ;másolása a videó
  79.                 LD BC,LPTH      ;szegmens végére
  80.                 LDIR
  81.                
  82.                 LD HL,(LPTCIM)  ;LPT videó címe
  83.                 LD B,4          ;4 bittel elforgatás
  84. LPTA:           SRL H
  85.                 RR L
  86.                 DJNZ LPTA
  87.                 LD A,L          ;alsó bájt
  88.                 OUT (82H),A     ;kiküldése NICK-nek
  89.                 LD A,H          ;felsõ 4 bit
  90.                 OR 0C0H         ;NICK futás engedélyezése,
  91.                                 ;és áttérés az új LPT-re
  92.                                 ;az aktuális képkocka végén
  93.                 OUT (83H),A     ;kiküldés NICK-nek
  94.        
  95.         ;készen áll a memória, és felépült a 320x200-as 4 színû képernyõ
  96.         ;kezdõdhet a fõprogram
  97.  
  98.  
  99.                 DI
  100.                 LD A,8          ;SPACE sorának
  101.                 OUT (0B5H),A    ;kijelõlése a billentyûzet mátrixban
  102. SPACE           IN A,(0B5H)     ;billentyûzet mátrix kijelölt sorának olvasása
  103.                 BIT 6,A         ;SPACE gomb lenyomva?
  104.                 JR NZ,SPACE     ;várakozás, ha nem
  105.                 JP HIBA         ;kilépés
  106.  
  107.  ;EP billentyûzetmátrix:
  108.  ;        b7    b6    b5    b4    b3    b2    b1    b0
  109.  ;Sor    80H   40H   20H   10H   08H   04H   02H   01H
  110.  ; 0   B.SH.     Z     X     V     C     B     \     N
  111.  ; 1    CTRL     A     S     F     D     G  LOCK     H
  112.  ; 2     TAB     W     E     T     R     Y     Q     U
  113.  ; 3     ESC     2     3     5     4     6     1     7
  114.  ; 4      F1    F2    F7    F5    F6    F3    F8    F4
  115.  ; 5         ERASE     ^     0     -     9           8
  116.  ; 6             ]     :     L     ;     K           J
  117.  ; 7     ALT ENTER   BAL  HOLD   FEL  JOBB    LE  STOP
  118.  ; 8     INS SPACE J.SH.     .     /     ,   DEL     M
  119.  ; 9                   [     P     @     0           I
  120.  
  121.  
  122. HIBA:           DI
  123.                 LD SP,100H      ;felhasználói veremmutató beállítása
  124.                 LD A,255        ;rendszerszegmens
  125.                 OUT (0B2H),A    ;2. lapra
  126.                 LD HL,HIBA
  127.                 LD (0BFF8H),HL  ;melegindítási cím beállítása
  128.                 LD HL,(0BFF4H)  ;EXOS LPT címe
  129.                 SET 6,H         ;konvertálás videócímmé
  130.                 LD B,4          ;4 bittel elforgatás
  131. ELPT:           SRL H
  132.                 RR L
  133.                 DJNZ ELPT
  134.                 LD A,L          ;alsó bájt
  135.                 OUT (82H),A     ;kiküldése NICK-nek
  136.                 LD A,H          ;felsõ 4 bit
  137.                 OR 0C0H         ;NICK futás engedélyezése,
  138.                                 ;és áttérés az új LPT-re
  139.                                 ;az aktuális képkocka végén
  140.                 OUT (83H),A     ;kiküldés NICK-nek
  141.                 LD A,0F5H       ;eredeti
  142.                 LD HL,1837H     ;EXOS IRQ rutin
  143.                 LD (38H),A      ;kezdetének
  144.                 LD (39H),HL     ;visszaállítása
  145.                                 ;arra az esetre, ha a 38H-ra
  146.                                 ;helyezett JP-vel átvettük volna
  147.                                 ;saját rutinnal az IRQ kezelést
  148.                
  149.                 LD C,40H        ;felhasználói RAM felszabadítása
  150.                 EXOS 0          ;rendszer reset hívása
  151.                 LD A,1          ;1-es ROM szegmens
  152.                 OUT (0B3H),A    ;3-as lapra
  153.                 LD A,6          ;6-os funkció=bejelentkezõ képernyõ
  154.                 JP 0C00DH       ;vezérlés átadása a ROM-nak, vagyis kilépés
  155.  
  156.         ;videószegmens igénylõ rutin
  157.  
  158. VID:            LD HL,VEGE      ;puffer terület
  159.                 LD (HL),0       ;lista elejének jelzése
  160. KER:            EXOS 24         ;szegmens igénylése
  161.                 JR Z,NAMIVAN    ;siker esetén szegmensszám vizsgálat
  162.                 CP 7FH          ;hibakód=a kiutalt szegmens a rendszerrel
  163.                                 ;megosztott közös használatú?
  164.                 JP NZ,HIBA      ;egyéb hiba esetén kilépés
  165. NAMIVAN:        EX AF,AF'       ;hibakód háttérbe
  166.                 LD A,C          ;kapott szegmens száma
  167.                 CP 0FCH         ;<0FCh?, azaz mint a legkisebb
  168.                                 ;videószegmens
  169.                 JR NC,NEMKER    ;kilépés hamár videó
  170.                                 ;szegmenst kaptunk
  171.                 INC HL          ;következõ puffercím
  172.                 LD (HL),C       ;szegmensszám letárolása
  173.                 JR KER          ;újabb szegmens igénylése
  174. NEMKER          PUSH BC         ;szegmensszám mentése
  175. VISSZA          LD C,(HL)       ;felesleges szegmens
  176.                 EXOS 25         ;felszabadítása
  177.                 DEC HL          ;elözõ puffercím
  178.                 JR Z,VISSZA     ;felszabadítás folytatása
  179.                                 ;amikor a lista elején lévõ 0-val hívjuk
  180.                                 ;a szegmens felszabadítása funkciót, akkor
  181.                                 ;hiba keletkezik, amely az NZ flag-gel kilép
  182.                                 ;a ciklusból (0=ROM, így nem lehet felszabadítani)
  183.                 EX AF,AF'       ;hibakód elõtérbe
  184.                 POP BC          ;kapott szegmensszám
  185.                 OR A            ;Z flag beállítása a hibakód alapján
  186.                                 ;NZ jelzi ha megosztott szegmenst kaptunk
  187.                 RET
  188.  
  189. VIDS            DB 0
  190. P1S             DB 0
  191. P2S             DB 0
  192. LPTCIM          DW 0
  193.  
  194.         ;NICK sorparaméter tábla (LPT)
  195.  
  196. LPT:        DB -200 ;200 sor
  197.             DB 32H  ;0 01 1 001 0
  198.                     ;VINT=0, nincs megszakítás
  199.                     ;Colour Mode=01, 4 szín mód
  200.                     ;VRES=1, teljes függõleges felbontás
  201.                     ;Video Mode=001, pixel grafikus mód
  202.                     ;Reload=0, még nincs vége az LPT-nek
  203.             DB 11   ;bal margó=11
  204.             DB 51   ;jobb margó=51
  205. VIDCIM1:    DW 0    ;elsõdleges videócím, pixel adatok kezdete
  206.             DW 0    ;másodlagos videócím, pixel grafikánál nem használt
  207. PALETTE:    DB 0,36,219,73,0,0,0,0 ;fekete, kék, sárga, piros (a nem használt színek feketék)
  208.  
  209.             DB -50,12H,63,0,0,0,0,0,0,0,0,0,0,0,0,0
  210.                ;50 keretszínû sor, ez határozza meg a also margó nagyságat,
  211.  
  212.             DB -3,16,63,0,0,0,0,0,0,0,0,0,0,0,0,0
  213.                ;3 fekete sor, a szinkronizáció kikapcsolva
  214.  
  215.             DB -4,16,6,63,0,0,0,0,0,0,0,0,0,0,0,0
  216.                ;4 sor, a szinkronizacio bekapcsolva
  217.  
  218.             DB -1,90H,63,32,0,0,0,0,0,0,0,0,0,0,0,0
  219.                ;1 sor, a szinkronizáció a sor felénél kikapcsol,
  220.                ;a NICK chip ennél a sornal ad megszakitást
  221.  
  222.             DB 252,12H,6,63,0,0,0,0,0,0,0,0,0,0,0,0
  223.                ;4 fekete sor
  224.  
  225.             DB -50,13H,63,0,0,0,0,0,0,0,0,0,0,0,0,0
  226.                ;50 keretszínû sor, ez határozza meg a felsõ margó nagyságát
  227.  
  228.                
  229. LPTH:           EQU $-LPT ;LPT hossza
  230. VEGE            EQU $     ;programkód vége, innentõl szabad terület
  231.                 END
  232.  
  233.  
  234.  

Az elején itt általános Z80 assemblerhez létre van hozva az EXOS macro, valamint adatként definiálva az EP fájlfejléc.
HEASS esetén így kell kezdeni:
Code: ZiLOG Z80 Assembler
  1.                 HEADER 5                ;5-ös típus, vagyis gépi kódú felhasználói program
  2.                 OBJECT filename.com ;lefordított program fájl neve
  3.                 ORG 0100H
  4.  
  5.                 ;program kezdete, 100H-ra töltödik be

Offline Ferro73

  • EP lover
  • *
  • Posts: 765
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 2.0.0.9 Firefox 2.0.0.9
    • View Profile
Re: ASM EP-n - hogyan kezdjem?
« Reply #2 on: 2011.March.23. 05:29:21 »
Én meg az ASMEN-t ajánlom ha nemvagy biztos a rutinok müködésében,
Ennek is van EDITOR, forditó és Debugge? rész ahol a rutint, programrészt figyelheted lépésröl, lépésre vagy csak a végeredmént.
Hátránya  max 40-48Kb lehet az *.ASM fájl

Offline geco

  • EP addict
  • *
  • Posts: 5430
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 3.6.15 Firefox 3.6.15
    • View Profile
Re: ASM EP-n - hogyan kezdjem?
« Reply #3 on: 2011.March.23. 08:59:24 »
Én a SJASM-ot ajánlom, hozzá a CONTextet Z80 assembly highligterrel, így nincs semmilyen memóriakorlát a forrás méretére :D, igaz ez mind PC-s tool, de nagyban megkönnyíti az ember életét, debugolni meg ott az EP128 debuggere, attól jobb, használhatóbb egy emulátorban sincs.
Csak annyi, hogy minden egyes 5-ös fejlécű programot a Zozo példájában leírt sorokkal kell kezdeni a ";program kezdete, 100H-ra töltödik be" sorig, meg természetesen a forrás végére betenni a VEGE címkét :)

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13519
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 3.6.15 Firefox 3.6.15
    • View Profile
    • http://enterprise.iko.hu/
Re: ASM EP-n - hogyan kezdjem?
« Reply #4 on: 2011.March.23. 09:04:43 »
Debugge? rész ahol a rutint, programrészt figyelheted lépésröl, lépésre vagy csak a végeredmént.
Erre manapság az ep128emu debuggere sokkal-sokkal-sokkal-sokkal-...  :ds_icon_cheesygrin: alkalmasabb!

Offline geco

  • EP addict
  • *
  • Posts: 5430
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 3.6.15 Firefox 3.6.15
    • View Profile
Re: ASM EP-n - hogyan kezdjem?
« Reply #5 on: 2011.March.23. 14:08:47 »
bocsánat, sajtóhiba történt, EP128emu-t akartam írni én is,csak az emu lemaradt :D

Offline szipucsu

  • EP addict
  • *
  • Posts: 8068
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 3.6 Firefox 3.6
    • View Profile
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: ASM EP-n - hogyan kezdjem?
« Reply #6 on: 2011.March.23. 15:03:39 »
bocsánat, sajtóhiba történt, EP128emu-t akartam írni én is,csak az emu lemaradt :D
Nekem fel se tûnt, alapból arra gondoltam.
SOUND SOURCE 3,STYLE 16,LEFT 16,RIGHT 64,SYNC 2
SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 2
SOUND PITCH 25,SYNC 2
Videos

Offline Ferro73

  • EP lover
  • *
  • Posts: 765
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 2.0.0.9 Firefox 2.0.0.9
    • View Profile
Re: ASM EP-n - hogyan kezdjem?
« Reply #7 on: 2011.March.23. 18:43:25 »
Erre manapság az ep128emu debuggere sokkal-sokkal-sokkal-sokkal-...  :ds_icon_cheesygrin: alkalmasabb!
Gondolod ?
Csináljak külön egy betöltö rész csak azért hogy teszteljen a rutint, ha nemjó inditsam újra a gépet /EMU-t/ modositsam a rutint forditsam le betöltöbe /5-ös fejléc/..... tisztára mikor TAPE: egységem volt
Akkor már ASMEN-ben röktön memoriába forditom és máris tesztelhetem ha nemjó akkor modositom a rutint az EDITOR-ban leforditom a memoriába, és még kise léptem a programból.

Offline IstvanV

  • EP addict
  • *
  • Posts: 4806
  • OS:
  • Linux 64 bit (Suse) Linux 64 bit (Suse)
  • Browser:
  • Firefox 3.5.4 Firefox 3.5.4
    • View Profile
Re: ASM EP-n - hogyan kezdjem?
« Reply #8 on: 2011.March.23. 19:48:41 »
Én a SJASM-ot ajánlom

Ez az assembler megtalálható a letöltéseknél is az EPvideoconv csomagban, amely Linux verziót is tartalmaz, egy javítással (eredetileg lefagyott module/endmod használatakor). Hasznos tulajdonsága, hogy egy .lst kiterjesztésű file-ba disassembly listát készít az eredeti forráskódot címekkel és a lefordított gépi kód byte-jaival kiegészítve, ami debug célra használható.

Gondolod ?
Csináljak külön egy betöltö rész csak azért hogy teszteljen a rutint, ha nemjó inditsam újra a gépet /EMU-t/ modositsam a rutint forditsam le betöltöbe /5-ös fejléc/..... tisztára mikor TAPE: egységem volt

A debuggerben van L parancs (erről a wiki-n található leírás), amellyel fejléc nélküli bináris file közvetlenül a memóriába tölthető, így elkerülhető az emulált gép újraindítása. :) Természetesen az új kódot le kell fordítani pl. SjASM-el és újra betölteni - ez azonban ismételt fordításnál csak fel + Enter billentyű a parancssorban, illetve újra Enter a monitorban valószínűleg már meglevő L parancson - viszont elkerülhető az ASMON lassúsága és korlátozásai. Rövid, néhány soros módosításra használható az A monitor parancs is.

Offline Jubatian

  • Newbie
  • Posts: 20
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 3.6.16 Firefox 3.6.16
    • View Profile
    • Jubatian retroblogja
Re: ASM EP-n - hogyan kezdjem?
« Reply #9 on: 2011.March.24. 17:27:28 »
Ejha! Szép kis bevezetõ, köszönöm! Na, és úgy látom, akkor a Linuxom alatt se lesz nyûg a dolog, assembler, kazetta - emulátor (MrPrise - TAPir), aztán az audiokábelen már csoroghat is át a próba az asztal túlvégére, az EP hátujába! :) Háát, ha már van gép, szerintem nem fogok én emulálni, bár nem tudom. Már hozzászoktam, hogy nincsenek debuggereim, csak amit én lapátolok a kódba. Lényeg: Indulhat a játék! Köszi a segítséget!

Offline Attus

  • EP addict
  • *
  • Posts: 1230
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 3.6.15 Firefox 3.6.15
    • View Profile
Re: ASM EP-n - hogyan kezdjem?
« Reply #10 on: 2011.March.24. 22:24:48 »
Valós gépen és nem emulátorban...
Én a MON -GEN párost használtam, mindent a MON-ban próbáltam ki elõször. Assembly rutinokat meg az asmon -ban, vagy a fenas -ban írtam, ezeket lefordított eredményét meg a MON-ba töltve futtattam.
Annál jobb debugger akkortájt nem volt, az asmon a nyomába sem érhet.
Rövidebb rutinkákat meg közvetlen hexa pötyogéssel illesztettem be.
A GEN is nagyon jó assembler, kicsit nehézkes, de nagytudású és nagyon passzol a MON -hoz. Az ed editoromat például azzal írtam.

Offline IstvanV

  • EP addict
  • *
  • Posts: 4806
  • OS:
  • Linux 64 bit (Suse) Linux 64 bit (Suse)
  • Browser:
  • Firefox 3.5.4 Firefox 3.5.4
    • View Profile
Re: ASM EP-n - hogyan kezdjem?
« Reply #11 on: 2011.April.03. 17:45:28 »
A fenti példa program kisebb módosításokkal, és kiegészítve IVIEW formátumú file választásával (ehhez a program beépített FILE bővítést használ) és megjelenítésével:
  * asmdemo.s (11.15 kB - downloaded 181 times.)
  * asmdemo.asm (12.08 kB - downloaded 178 times.)
  * asmdemo.hea (7.2 kB - downloaded 175 times.)
  * file.s (16.83 kB - downloaded 168 times.)
  * file.asm (16.83 kB - downloaded 170 times.)
  * file.hea (7.5 kB - downloaded 178 times.)
  * asmconv.sh (0.46 kB - downloaded 173 times.)
Az .s kiterjesztésű file-ok SjASM-el fordíthatók. Az .asm-ek átmeneti file-ok, amelyeket HEASS segítségével lehet .HEA formátumra konvertálni; ehhez előbb "TAB/DELETE TAB-POINTS" (F2,F2) is kell, mert egyébként a HEASS a forrásszöveget eltolja jobbra és nem ismeri fel a címkéket :oops: A konvertálás ezt követően a "FILE/CREATE", majd "CONV/ASC LOAD" használatával történik.
Az .s -> .asm konverzióhoz az "asmconv.sh" shell scriptet használtam, amely az UTF-8 formátumú ékezetes karaktereket HFONT-ra konvertálja, az IXL/IXH/IYL/IYH regisztereket átnevezi "I" nélküli változatra, a TAB karaktereket szóközökké alakítja, és LF -> CR-LF sorvégződés konverziót is végez, ha a bemeneti file unix formátumú.

A programmal megnyitható IVIEW kép csak 320x200 méretű, 4 színű, nem interlace módú, és fix palettájú lehet (-mode 1 -size 40 200 -palres 0 -scalemode 1 -quality 9 -outfmt 1).

Egy másik példa program:
  * asmdemo2.s (23.42 kB - downloaded 204 times.)
  * asmdemo2.asm (24.88 kB - downloaded 174 times.)
  * asmdemo2.hea (13.3 kB - downloaded 181 times.)
Sok értelme ugyan nincs, de tartalmaz megszakítás kezelést, rajzolást, és kezdetleges hangot is.

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13519
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 4.0 Firefox 4.0
    • View Profile
    • http://enterprise.iko.hu/
Re: ASM EP-n - hogyan kezdjem?
« Reply #12 on: 2011.April.03. 19:05:52 »
Az .asm-ek átmeneti file-ok, amelyeket HEASS segítségével lehet .HEA formátumra konvertálni; ehhez elõbb "TAB/DELETE TAB-POINTS" (F2,F2) is kell, mert egyébként a HEASS a forrásszöveget eltolja jobbra és nem ismeri fel a címkéket :oops:
Én egy TAB pontot szoktam rakni az elsõ oszlopba, az is jó. Aztán el kell menteni a HEASS Setup-ot, és legközelebb már nem kell foglalkozni vele.


Quote
Az .s -> .asm konverzióhoz az "asmconv.sh" shell scriptet használtam, amely az UTF-8 formátumú éke
Ezt mivel lehet futtatni?

Offline Ferro73

  • EP lover
  • *
  • Posts: 765
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 4.0 Firefox 4.0
    • View Profile
Re: ASM EP-n - hogyan kezdjem?
« Reply #13 on: 2011.April.03. 20:26:05 »

Ezt mivel lehet futtatni?
[/quote]
Olyan linuxos jellegü lehet

Offline Attus

  • EP addict
  • *
  • Posts: 1230
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 3.6.15 Firefox 3.6.15
    • View Profile
Re: ASM EP-n - hogyan kezdjem?
« Reply #14 on: 2011.April.05. 17:40:45 »
Jó kis bash szkript, gondolom jólirányzott "sed" parancsokkal telitûzdelve a cserékhez.