Welcome, Guest. Please login or register.


Author Topic: Assembly programozás (Read 136246 times)

Offline IstvanV

  • EP addict
  • *
  • Posts: 4806
  • OS:
  • Linux 64 bit Linux 64 bit
  • Browser:
  • Firefox 5.0 Firefox 5.0
    • View Profile
Re: Assembly programozás
« Reply #270 on: 2011.November.14. 20:50:46 »
mennyi lehet a legrövidebb hang hossz egység (xx milisec)?

Az változó, egy negyed hang hosszának valamilyen tört része, többnyire a nyolcada elég, de ha a hangok közötti szünetek hosszát is állítani akarod, akkor kisebb időegység előnyösebb. Mindenesetre az biztos, hogy egy hanggenerátor megszakítással (16.4 ms, vagy 24.6 ms a DAVE "lassításával" a BFh porton - ehhez képest egy negyed hang jellemzően néhány tized másodperc) nem lehet zeneileg elfogadható maximális hosszúságot elérni, tehát mindenképpen szükség van a megszakítások számlálására. Így viszont már jobban megéri, ha nincs is hanggenerátor megszakítás, mert akkor a csatorna felszabadul hanggenerálás céljára, és a megszakításhoz pedig használható helyette az 50 Hz-es video-, vagy az 1 kHz-es megszakítás (ha nagyon pontos időzítést próbálsz elérni).

Offline Ferro73

  • EP lover
  • *
  • Posts: 531
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 8.0 Firefox 8.0
    • View Profile
Re: Assembly programozás
« Reply #271 on: 2011.November.17. 17:17:39 »
Akkor ha az 1kHz megszakítást is használom és az 50 Hz lekérhetem  melyik megszakítás volt .
Így a zenei hang idõzítése 1 ms egységekben mérhetõ az a +-0.5 ms csak nem zavaró annyira.
már csak a játékban kell ellenõrizni, a hang elõállításánál nem tiltót a megszakítás.

Offline IstvanV

  • EP addict
  • *
  • Posts: 4806
  • OS:
  • Linux 64 bit Linux 64 bit
  • Browser:
  • Firefox 5.0 Firefox 5.0
    • View Profile
Re: Assembly programozás
« Reply #272 on: 2011.November.17. 18:47:46 »
Így a zenei hang idõzítése 1 ms egységekben mérhetõ az a +-0.5 ms csak nem zavaró annyira.

A játékok általában csak 50 Hz-es megszakítást használnak a zene időzítésére, illetve CPC-n néha 300 Hz-et, tehát az 1 kHz több, mint elég.

Offline Ferro73

  • EP lover
  • *
  • Posts: 531
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 8.0 Firefox 8.0
    • View Profile
Re: Assembly programozás
« Reply #273 on: 2011.November.18. 16:46:57 »
De kettõ megszakítást alkalmazható a programban egyszerre ? PL: 50Hz és 1kHz vagy 50Hz és 0.hangcsatorna
Mint ami a példámban írtam.
Átmegyek a spectrum átíratokra

Offline IstvanV

  • EP addict
  • *
  • Posts: 4806
  • OS:
  • Linux 64 bit Linux 64 bit
  • Browser:
  • Firefox 5.0 Firefox 5.0
    • View Profile
Re: Assembly programozás
« Reply #274 on: 2011.November.18. 18:49:16 »
De kettõ megszakítást alkalmazható a programban egyszerre ? PL: 50Hz és 1kHz vagy 50Hz és 0.hangcsatorna

Igen, a B4h port olvasásával dönthető el, melyik történt.

Offline Z80System

  • EP addict
  • *
  • Posts: 3842
  • Country: hu
  • OS:
  • Windows 7 Windows 7
  • Browser:
  • Safari Safari
    • View Profile
Re: Assembly programozás
« Reply #275 on: 2012.March.18. 03:11:49 »
Regebben beszeltunk itt arrol, hogy ep- n nem letezik a programhoz/programbol valo visszateres fogalma, mikor futtatjuk az exos- sal a programunkat, akkor mittudomen talan meg is szunik az a modul amibol epp futtattuk, tehat a basic/exdos/epdos/akarmi, abban a futo peldany mivoltaban meg is szunik, igy mikor a meghivott program vegzett, akkor mar nincs is "hova" visszaterni, es lehet ujrainditani a gepet, esetleg egy celiranyos modul ( rendszerbovitoket hivom en modulnak itt ) ujrainditassal / peldanyositassal atadjuk annak a vezerlest, de az akkor mar egy uj peldany, reszetelodott tartalommal, barmi is legyen a modul amit inditottunk.

Van persze az a kivetel, mikor a programot magat is rendszerbovitonek irjuk meg, es akkor annak is specialis meghivasi lehetoseget kihasznalva tudunk ilyen "visszatero" programot csinalni exos kompatibilis modon, de ilyenkor meg mivel a programunk rendszerbovito, ezert vegig foglalja a memoriat, nem csak a futtatasanak ideje alatt. ( legalabbis egy szegmenst ha jol tudom, tenyleg ebbol az kovetkezik hogy a :help altal listazott dolgok mind-mind 16 kb- ba kerulnek ... a azt nem hinnem... )

Namost az lenne az en mega oteletem, hogy milyen jo lenne egy ilyen futtatasi protokollt szabvanyositani, ami megjelenhetne kulonbozo programokban nativ funkciokent, es lehetne neki egy dedikalt rendszerbovitoje is, ami csak ezt a funkciot tudna.

Arra gondolok, hogy mondjuk kitalalnak egy modszert, legyen pld. ugyanaz mint az 5- os ( ha jol emlexem ) fejlecu program, ami az atlag program, aminek ugye 100H -ra kell orgolni a kodjat ( de lehet ez 1000H- is vagy akarmi, ami celszerunek latszik nekunk inkabb ), es akkor ez a funkcio az adott 5- os fejlecu cuccot ugyanugy betolti egy ures szegemnsre, rateszi egy lapra ( jelen peldaban nullas ) es call -lal raugrik a cimra ( ami most a 100H ).

Innentol a futtatott program ha respekttel banik az exos- szal, memoriaval, ugyesen atkapcsolja magara a hardvert ( mexakitasok, video, memorialapok, stb. ) aztan fut ahogy o akar, nem erintve olyan szegmenseket, ami mar az exos altal lefoglalt, majd kilepeskor visszaallitja a hardvert amit elallogatott es ret- tel visszaterne a hivoprogramhoz, akkor ebbo la hivo program semmit nem venne eszre. ez az a mechanizmus amit en mondjuk hasznalok akkor ha asmonban fejlesztek. go -val lefuttatom a kodom ( csak ott ugye megmondhatom hova ugorjon ), ami ugy mukodik, ahogy az elobb mondtam, es futas utan visszaterek az asmonba ret- tel. asmon ebbol mit sem vesz eszre, ott folytatja bitre, ahol a hivas elott abbahagyta, minden beallitas, minden allapot valtozatlan.

Akar parameterezni is lehetne a funkciot, hogy megadhassam neki hogy milyen cimre toltse be a cuccot, hogy hova ugorjon, ilyesmi. de jo lenne rogziotetten is, tokmindegy.

Lenyeg hogy ezt a funkciot/protokollt aztan meg lehetne valositani programokban, olyan programokban, mint mondjuk az epdos, lehetne egy funkcio ra. es akkor amelyik program ilyen "szepen megirt, exosra vigyazo program" azt ezzel a funkcioval le lehetne futtatni epdosbol ugy, hogy a program utana az epdosba ( vagy ahol csak meg lett valositva ) visszaterne valos visszateressel, nem ujrainditassal.

Es akkor jonne a slusszpoen: egy sajat rendszerbovitoben meg lehetne implementalni ezt a betoltes/futtatas funkciot, egy olyan ( akar parameterezheto ) rendzser bovito parancs formajaban, amit az elejen emlitettem, ami ugye valami inicializalasnal fut le, es akkor vissza tud terni abba a rendszerbovitobe amibol hivtak.

Vagyis vegul nem kene a programokat rendszerbovitokent irni ahhoz hogy igazi visszateros programok legyenek, hanem csupan egy rendszerbovito lenne, ami megvalositan a futtatasi protokollunkat, a call/ret- es modszerrel.

es akkor innentol kezdve akarmelyik programbol amiben csak van rendszerbovito hivasi funkcio ( basic, exdos, asmon, wp, epdos, gyakorlatilag minden ami szamit ) meg tudna hivodni igazi visszaterosen az a program, ami erre figyelve van megirva.

tehat mondjuk basicban begepelnem:

:run "e:\runprotokollalmukodoprogram.com" -1200H

es akkor lefutna a :run rendszerbovitonek az a resze, ami vissza tud terni ( inicializalo vagy mi ), ami meghivna a XY.com -ot oly modon hogy betolti es raugrik a parameterben megadott 1200H -ra ( ha parameterezhetonek lenne csinalva, nem fixen kikotottnek )

es akkor a mi programunk lefutna, majd visszaterne a run rendszerbovitobe ret- tel ( annak is abba az inicializalo reszebe ), es az meg visszaterne a basicba.


ez persze a programok zomevel nem mukodne egyutt, de lehetne ezentul olyan programokat irni, amik kepesek tetszoleges rendzserbovitobe valos modon visszaterni a :run rendszerbovito segitsegevel, vagy barmi olyan programba ( pld. epdos ) ami ezt a futtatasi funkciot megvalositana a :run rendszerbovito hasznalata nelkul.


az ilyen modon futtathato programoknal akkor lehetove valna a valos visszateres, igy pld. epdosbol ( akar nativan akar :run bovitohivassal lenne hasznalva ) miutan lefutott a program es kileptunk, ugyanott allnank, ugyanazon a programon, es +1X megnyomva az entert, ujra lefutna a dolog, nem lenne reset/navigacio.



vagy basicban lehetne begepelni par sort, aztan lefuttatni egy ilyen modon futo programot, majd kilepes utan folytatni a basic programot.




ha pedig a protokollunkat ugy vennenk fel, hogy siman ellopnank az 5- os fejlecu program tulajdonsagait, tehat fixen 0 lap 100H- n indul, a program max 64K lehetne, es egymas utani szegmensekre toltodne be,
magyarul uyganaz lenne mint az 5- os fejlec, akkor a program normal exos modon futtatva is jo maradna, csak nyilvan a kilepeskor elszallna, mert nyilvan a visszateres csak akkor mukodhet ha "van hova", mert csak sima call- lal lett meghivva, a mi protokollunk szerint, nem pedig az exos ugrott ra.

itt lehetne egy kis csavar a futtatasi protokollunkban, egy nem zavaro regiszterben, vagy valahogy ahol lehet jelezni kene a programnak, hogy o most protokoll szerint ( call -lal ) lett hivva, vagy pedig beepitett exos kod futtatta le.

es akkor sajat protokoll eseten visszalephetne az adott program valos visszateressel, ha meg az exos hivta, akkor vagy nem is jelenitene meg a kilepes funkciot, vagy nem figyelne a kilepes billentyure, vagy kilepeskor a most alkalmazott direkt rendszer bovito elinditast hasznalhatna.


Akar szulethetnenek a "gyari" programokbol olyan verziok, atiratok, amik figyelnek erre a "visszaterhetek- e flag- re" es akkor korekt modon bannanak az exossal, es kepesek lennenek visszaterni esc- re, vagy ilyesmire. Persze nem lenne epp konnyu egy ilyen atirat, sok memoriat hasznalo programoknal esetleg csak bovitett gepeken lehetne megirni hogy az exos altal hasznalt szegmenseket ne bantsak, de hat az emulator vilagaban mar annyi memoriank lehet amennyit csak akarunk.




Na szal valami ilyenen gondolkodtam ... de tul sok volt ebben az allitas, es semmit nem ertek az exos- hoz, szal az lenne az alapkerdesem, attol aki ert hozza, hogy jo gondolom- e en ezeket, megvalosithato lenne- e a barmilyen modulba igazi visszateres olyan programoknal, akik a fentebb emlitett modon torodnek azzal hogy az exossal korrekt modon banjanak indulasnal/futasnal/kilepesnel ?



« Last Edit: 2012.March.18. 03:45:54 by Z80System »
Z80 System

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13376
  • Country: hu
  • OS:
  • Windows 7 Windows 7
  • Browser:
  • Firefox 11.0 Firefox 11.0
    • View Profile
    • http://enterprise.iko.hu/
Re: Assembly programozás
« Reply #276 on: 2012.March.18. 09:17:27 »
Erre valók IS-DOS-ban a tranziens programok, komoly munkára ezek lettek szánva. Az 5-ös fejlécû EXOS program végül is ennek (Azaz a IS-DOS / CP/M / MSX-DOS) futtatási funkciónak az egyszerûsített kivitele.
Megoldható még a 2-es fejlécû áthelyezhetõ programmal is, a betöltõ programon múlik.

Offline Z80System

  • EP addict
  • *
  • Posts: 3842
  • Country: hu
  • OS:
  • Windows 7 Windows 7
  • Browser:
  • Safari Safari
    • View Profile
Re: Assembly programozás
« Reply #277 on: 2012.March.18. 11:52:46 »
Quote
Erre valók IS-DOS-ban a tranziens programok, komoly munkára ezek lettek szánva.

Na de gondolom az is-dos program az is-dos -hoz ter vissza, az is-dos pedig maga is egy rendszerbovito, tehat egy masik rendszerbovitobol eloszor at kell lepjek az is-dos- ba ( ekkor ugye megdoglik az eredeti rendszerbovitom, basic- em, epdos- om, akarmim ),

az altalam felvetett dolognak az lenne a lenyege, hogy minden rendszerbovitoben megvalosithato a visszalepes, meg akkor is, hogy ha nincs is implementalva direktben a funkcio az adott rendszerbovitoben ( basic, epdos ), mert a :run rendszerbovito-t mindegyikbol meg tudjuk hivni, mivel minden fontos rendszerbovitoben meg vana valositva egy masik rendszerbovito hivasa mar jelenleg is.

Quote
Megoldható még a 2-es fejlécû áthelyezhetõ programmal is, a betöltõ programon múlik.

Ez most akkor azt jelenti, hogy jol hadovaltam ossze, es megvalosithato lenne amit mondok, de meg az 5- os melle akar 2- essel is ?

Az 5- os azert lenne celszeru, mert szerintem a jelenlegi ep programok 99%- a 5- os fejlecu, amit akkor ugyanugy futtatni lehetne ezzel a :run rendszerbovitohivassal, igy "at lehetne ra szokni", nem kene azt csinalni, hogy mielott futtatok, akkor vegiggondolom, hogy milyen parancsal inditsak, hanem csak beirnam hogy:

:run batman.com

a megszokott

:load batman.com

helyett.

es akkor ha a batman.com egy sima jatek, akkor ugyanugy viselkedne mint eddig, es nem tudna visszaterni, ha meg egy olyan program ami kepes visszaterni, mert most lett irva, vagy atirtak a batmant olyanra hogy vissza tudjon terni, akkor meg majd vissza tudna terni.

tehat felhasznalonak annyi lenne a kulonbseg hogy :load helyett :run -t ir. ( persze tok jo lenne, ha epdos- ban lenne neki egy mondjuk startRet gomb a jelenlegi start mellett, aminek az implementacioja vagy hivja a :run- t vagy siman tartalmazna az epdos is azt a funkciot, ami a :run -ban is benn van, tehat hogy betolt es call- lal raugrik egy programra )


Z80 System

Offline Z80System

  • EP addict
  • *
  • Posts: 3842
  • Country: hu
  • OS:
  • Windows 7 Windows 7
  • Browser:
  • Safari Safari
    • View Profile
Re: Assembly programozás
« Reply #278 on: 2012.March.18. 12:46:37 »
exos leirasbol angol verzio nincs keznel ? mert egyet nagy nehezen talaltam itt:

http://enterprise.8bit.hu/document/books/exos_2.1_technikal_information/index.html

de ebbol hianyzik a nick/dave leiras, meg ilyesmik ...
Z80 System

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13376
  • Country: hu
  • OS:
  • Windows 7 Windows 7
  • Browser:
  • Firefox 11.0 Firefox 11.0
    • View Profile
    • http://enterprise.iko.hu/
Re: Assembly programozás
« Reply #279 on: 2012.March.18. 14:05:18 »
exos leirasbol angol verzio nincs keznel ? mert egyet nagy nehezen talaltam itt:

http://enterprise.8bit.hu/document/books/exos_2.1_technikal_information/index.html

de ebbol hianyzik a nick/dave leiras, meg ilyesmik ...
Ne az oldal ezeréves címén nézd, hanem az aktuálison:
http://gafz.enterpriseforever.com/Dokumentacio/Konyvek/EXOS_2.1_technikal_information/index.html

Offline Z80System

  • EP addict
  • *
  • Posts: 3842
  • Country: hu
  • OS:
  • Windows 7 Windows 7
  • Browser:
  • Safari Safari
    • View Profile
Re: Assembly programozás
« Reply #280 on: 2012.March.18. 14:39:05 »
Quote
Ne az oldal ezeréves címén nézd, hanem az aktuálison:

Hat azt dobta ki a gugli ... nem pedig az ujat ...

az ep128.hu is valtozott, vagy ez meg a regi cimen aktualis ?



Z80 System

Offline Z80System

  • EP addict
  • *
  • Posts: 3842
  • Country: hu
  • OS:
  • Windows 7 Windows 7
  • Browser:
  • Safari Safari
    • View Profile
Re: Assembly programozás
« Reply #281 on: 2012.March.18. 19:19:59 »
Na jo sokat osszeolvasgattam az exos konyv elso fejezetebol, nem biztos hogy mindent ertek, de lett egy ralatasom a dologra, hatha le tudom irni roveiden, szakszerubben, hogy mit akarok.

Tehat azt szeretnem elerni hogy lehessen olyan uj programokat irni, ill. meglevo programokat atirni ( pld. gyari jatekok, demok, rajzprogramok ), amiket aztan a kulonbozo jelenleg is hasznalt programokbol le lehetne futtatni oly modon, hogy az adott jatekbol ki lehessen lepni, es a program amibol lefuttattuk, ott folytassa a futasat, mintha le sem futtattuk volna az adott jatekot.

Tehat mint megtudtam exos futasa kozben mindig van egy "aktualis alkalmazoi program". A kovetkezoekben ezt AAP -nek hivom majd. Amikor basic- ben vagyunk, akkor a basic az AAP, amikor a wp- ben vagyunk akkor a wp az AAP, amikor az epdos- ban akkor az epdos az AAP.

Namost en ugy szeretnek lefuttatni egy demo vagy jatekprogramot az elobb emlitett programokbol ( tehat mikor valamelyik kozuluk az AAP ), hogy miutan lefuttattam az adott jatekot vagy demot, abbol vissza tudjak lepni abba az AAP- be, amibol lefuttattam.

Ehhez tulajdonkepp az kell, hogy ne valtozzon meg az AAP, maradjon az a program, amibol lefuttattam a jatekot/demot.

Sot meg egy dolog kene hogy teljesuljon, megpedig az, hogy egy ilyen kilepni kepesre megirt/atirt jatek a jelenlegi, hagyomanyos modokon is futtathato legyen, ne csak specialis rendzserbovitovel rendelkezo gepen, vagy ilyesmi. tehat ha nekem van egy kilepni kepes jatekom, azt ugyanugy tolthessem/futtathassom a basic start/load parancsokkal vagy az exdos :load -al, vagy a wp f1- el, vagy barmivel amivel csak programot szoktunk futtatni. A felhasznalo negativat ne tapasztaljon, csak vagy ki tud lepni egy programbol, vagy nem, de ne kelljen fejben tartania, hogy ez egy kilepni kepes program, vagy hogy ezt most maskepp kell inditani, vagy ilyesmi.




Namost ha jol ertettem meg az exos tolteset akkor 2 helyen lehet azt specializalni.

Az egyik hogy az enterprise file formatum modul fejleceben a modul fejlec tipust 31- nel nagyobb ertekre allitom. Ekkor az exos azt nem fogja felismerni tolteskor, es vegig fogja probalni a rendszerbovitoket hogy ezt a fejlec tipust valamelyik be tudja- e tolteni. Ide akkor lehetne irni egy rendszerbovitot, ami felismerne, hogy ez egy ilyen visszateresre alkalmas program, es korrekt modon lefuttathatna, majd mikor a  program hozza visszatert, akkor o is visszaterhetne abba az AAP- be ahonnan a toltes ki volt adva.

Ennek a modszernek az lenne a lenyegi hianyossaga ( azon kivul hogy egy gyari program atirasahoz modul fejlecet is valtoztatni kene ), hogy a mi mostmar sajat modul fejlec tipusu programunkat csak akkor tudnank betolteni, ha meglenne hozza egy rendszeren az a rendszerbovito, ami kezeli a fejlec tipusunkat. tehat egy rendzserbovito nelkuli gepen az adott program nem indulna el. ezt nem szeretnem en, ahogy irtam, egy felhasznalonak legyen mindegy hogy ez most meg "hagyomanyos" program, vagy kilepni kepes program, o csak futtat es ha adottak a feltetelek akkor a program kilephet, ha nem adottak, akkor nem lephet ki, de lefutni mindig fusson le. Nem beszelve arrol, hogy ezeket a fejlec azonosito szamokat hogyan lehet szinkronizali egymashoz, hogy 2 kulonbozo rendszerbovito ne ugyanarra a fejlec azonosito szamra figyeljen, es toltogessek be egymas moduljait ?

A masik lehetoseg az lenne, hogy a modul fejlecet 2- esre allitanank ( ahogy zozo korabban javasolta ) mert ezzel elbanik az exos, nem kell hozza, hogy egy kulon rendszerbovito legen a gepen, a betoltodesehez. Na igen am, de ez csak akkor igaz ( ha jol ertem ), ha az adott AAP kezelni tudna a 2-es fejlecu modult, ugyanis az exos csak formailag banik el ezzel a modultipussal, a betoltesi hely meghatarozasa a hivo felre van bizva ( jelen esetben ugye ez az AAP lenne ). Szoval vegeredmenyben itt meg rosszabb a helyzet, mert itt nemcsak egy rendszerbovito kene jelen legyen az adott gepen, mint az elozo peldaban, hanem az osszes programunkat ( wp, basic, epdos, stb. ) fel kene kesziteni az ilyen alkalmazasok betoltesere, ami sok program csrejet jelenteni, romokban is, szoval teljesen ertelmetlennek tunik.

Nekem ugy tunik, hogy az egyetlen jo lehetoseg az lenne a dologra, ha egy ilyen "kilepni is kepes" program az maradna 5- os fejlecu program, ami akkor nyilvan ugyanugy toltodne es futna hagyomanyos modon futtatva mint eddig, de lenne keszitve egy rendszerbovito, aminek van egy :run vagy :call kommand sztringje, ami egy tetszoleges 5- os fejlecu programot kepes lenne betolteni es lefuttatni oly modon, hogy nem valtja at az AAP- t az aktualis programra.

Ugy gondolnam ezt kivitelezni, hogy mikor meghivodna a :run program.com vagy :call program.com rendszerbovito kommand, akkor a rendszerbovito nem hivna exos "load_module" rendszerhivast, hanem a megnyitott csatornabol o olvasna be a headert, ellenorizne hogy 5- os programrol van szo, es betoltene exos- tol igenyelt szegmensekre, es gepi kodu call utasitassal hivna meg a 100H- as cimet.

Innentol mar a kilepesre felkeszitett megirt/atirt program felelossege lenne a hardvert ( irq, cpu, mamorialapok, minden ) korrekten "lekapcsolni" az exosrol, majd futni, es kilepeskor korrekten mindent visszaadni az exosnak, majd ret- tel visszaterni.

Ennek a modszernek megegy elonye lenne: mivel van egy sajat rendszerbovitonk ehhez, ezert annak lehetnek exos valtozoi, es egy ilyen exos valtozoban jelezni tudjuk a futo programnak, hogy visszatereses modon lett futtatva, nem pedig a hagyomanyos betoltokkel. Igy a program tudja majd azt is, hogy o most kilephet- e, vagy pedig mivel exos futtatta le, nem a :run rendszerbovito, ezert mar "nincs hova" visszaterjen hiszen o lett az AAP.

Ennek a modszernek tahat a vegeredmenye sztm. a kovetkezo lenne:

- egy atiratlan, hagyomanyos 5- os fejlecu program is futtathato lenne a :run rendszerbovito kommandunkkal ( de termeszetesen nem tudna kilepni, hiszen nem ugy lett megirva, de lefutna )
- egy kilepesesre atirt/megirt program is futtathato lenne a normal eddigi osszes betoltesi modunkon ( de termesztesen nem tudna kilepni, hisz hagyomanyos futtataskor "nem lenne hova", hisz megszunt az eredeti AAP ami futtatta )
- ha viszont a :run rendszerbovito kommandunkkal futtatnank egy olyan programot ami fel is lett keszitve ra, akkor a programbol siman visszaterhetnenk abba az AAP- be, amibol kiadtuk a :run- t





Vegeredmenynek pedig mindennemu mas program megvaltoztatasa nelkul pld. a kovetkezo kulonbseg lenne:

epdos- ban benavigalnek egy program konyvtaraba, ha ugye ott az adott konyvtarban beirom hogy:

:load batman.com

akkor a batman futtatasa utan, reszetelnem kell a gepet, ujra elinditanom az epdos- t, es ujra vissza kell navigalnom a batmanra az epdossal, vagy epp a batman utani jatekra

viszont ha el lenne keszitve ez a rendszerbovito, es a batman is fel lenne keszitve ra, akkor mikor a batmant futtattam a

:run batman.com

kommanddal, es kileptem belole, mondjuk esc hatasara, akkor ott talalnam magam az epdosban, ahol beirtam a kommandomat, fellephetnek egy konyvtarral a kovetkezo jatekra.


Ez persze a gyakorlatban nem sokat jelentene, hiszen csak 1-2 ilyen jatek lenne, de az elvi lehetosege meg lenne teremtve a dolognak.



Na hat ha rovidebb nem is lett, de osszeszedettebb es szakszerubb lett remelem.

Most jo lenne akkor ha valami exos guru akkor rabolintana, hogy jol gondolom ezeket, erdemes belekezdeni a megvalositasaba technikailag ertve, mert mukodni fog, vagy pedig valamit nem ertek, es ez nem fog mukodni.




« Last Edit: 2012.March.18. 19:35:38 by Z80System »
Z80 System

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13376
  • Country: hu
  • OS:
  • Windows 7 Windows 7
  • Browser:
  • Firefox 11.0 Firefox 11.0
    • View Profile
    • http://enterprise.iko.hu/
Re: Assembly programozás
« Reply #282 on: 2012.March.18. 20:46:05 »
Hát elvileg talán meg lehetne csinálni, de minimum kell lefoglalni egy szegmenst, hiszen az egész nullás lapot el kell menteni. És videó memóriából is kevesebb fog jutni a programnak, hiszen ott vannak a megnyitott videolapok, és egyéb csatornák.

Szerintem egyszerûbb lenne egy autostartos EPDOS-t beraknod a konfigba :-)

Offline Z80System

  • EP addict
  • *
  • Posts: 3842
  • Country: hu
  • OS:
  • Windows 7 Windows 7
  • Browser:
  • Safari Safari
    • View Profile
Re: Assembly programozás
« Reply #283 on: 2012.March.18. 21:06:22 »

Hat egyreszt be van allitva termeszetesen az epdos autostart, de ott van a navigacio.

De hat nem is ez lenne a lenyeg, a dolog a basicbol is mukodne, 2 basic sor kozott lehetne lefuttatni egy jatekot/demot ily modon, ami szerintem allat lenne, mindig is hianyzott ...



Igen, technikailag mar erdekesebb a memoria szempontjabol, igazabol meg kavarog bennem hogy az exos mikor milyen szegmenseket hova tesz, mit kovetel, mit nyujt, rendszer memoria, alkalmazas memoria, megosztott lap, ilyen bovito, olyan meghajto, szal nem igazan latom at, hogy ilyen memoria szempontjabol hogy lehet majd ugy kavarni egy tetszoleges programmal ( legyen mondjuk batman, cauldron, sorcery, akarmi ) hogy meghagyjon mindent ami az exos, de fusson rendesen, es aztan visszaadjon mindent.

Ugy elvileg gondolkodva ugye lesznek szelsoseges dolgok, pld. egy 256K- s konfig 250K- ja tele van tomve rendszerbovitokkel, akkor nyilvan egy 5- os fejlecu mindent felulbarmolos kod meg mindig kepes lefutni, mig a :run majd nem fog tudni memoriat allokalni a programnak, es kiirja hogy futtasd :load -dal, vagy esetleg automatikusan megiscsak meghivja az load_module- t es akkor meg mindig lefutott, csak nem ugy ahogy vartuk, de hat nem volt ra memoria.

Ha meg ugy gondolkodunk hogy a mindenkori videoszegmensek elmentesehez van eleg exostol allokalhato szabad szegmens, es meg plusszban 1-2 szegmens amit esetleg meg a video szegmensen kivul hasznalt az alkalmazas, akkor meg elvileg atirhato ugy, hogy fusson, es mukodjon ilyen visszaterosen.

En sem gondolom hogy alkalmazasok tomegei lesznek majd ilyenek, de en irok ilyen demoeffekteket azok ilyenek lesznek, meg tervezek irni egy ilyen latvanyos arcade modu tetriszt, amilyenek amigan voltak anno, ha lattal olyat, az is igy tudna majd futni, meg 1-2 dolgot majd biztos atirna meg valaki, aki ert valamelyik hiresebb program lelkivilagahoz, es legfeljebb majd ennek a :run -os futtatasnak lesznek nagyobb rendszerkovetelmenyei.

Osszegeszeben mivel a programok kb 64kb- ot hasznalnak, es feltetelezzuk hogy a masik 64k nincs agyonrendszerbovitozve, akkor a nagyja program szerintem elvileg a maegoldhato kategoriaba kell essen.

Nem ?




Z80 System

Offline Z80System

  • EP addict
  • *
  • Posts: 3842
  • Country: hu
  • OS:
  • Windows 7 Windows 7
  • Browser:
  • Safari Safari
    • View Profile
Re: Assembly programozás
« Reply #284 on: 2012.March.18. 21:12:14 »
Ezt nem tudtam hova irni, es nem talalom search- el, ugyhogy itt kerdezem meg:

A kurzor F1 -re alakitasa a konfigokban huzalozott ? tehat melyik bovito csinalja, es lehet-e opcionalis, vagy ha az a bovito benn van, akkor cursor = F1 ?

Z80 System