Welcome, Guest. Please login or register.


Author Topic: HiSoft Pascal (Read 87754 times)

Offline Povi

  • EP addict
  • *
  • Posts: 2296
  • Country: hu
    • http://povi.fw.hu
Re: HiSoft Pascal
« Reply #105 on: 2013.November.24. 11:33:01 »
PAGE módosítva
plusz még csináltam HI és LO függvényeket.

érdekes viszont ez az EXOS(x) parancs. Ugyanis eredetileg ez egy függvényként van definiálva, és visszatérési értéke az A regiszter értéke, CHAR típussal. Tehát, ha az ENTERPRESS-ben megjelent kódot használjuk (WRITE(EXOS(x)), akkor sikeres hívás esetén minden esetben kiír a képernyőre egy CHR(0)-t. Azon gondolkodom, hogy inkább ezt egy sima eljárássá kéne alakítani, így lehetne simán EXOS(x)-ként hívni. Az A regiszter értékét pedig úgy is feltölti az RA-ba, tehát nem vész el az infó.
*** Speicherplatz zu klein

Offline Lacika

  • EP addict
  • *
  • Posts: 3191
  • Country: hu
    • http://www.ep128.hu
Re: HiSoft Pascal
« Reply #106 on: 2013.November.24. 13:40:13 »
Quote from: Povi
Azon gondolkodom, hogy inkább ezt egy sima eljárássá kéne alakítani, így lehetne simán EXOS(x)-ként hívni. Az A regiszter értékét pedig úgy is feltölti az RA-ba, tehát nem vész el az infó.
Ez jó ötlet!

Offline Povi

  • EP addict
  • *
  • Posts: 2296
  • Country: hu
    • http://povi.fw.hu
Re: HiSoft Pascal
« Reply #107 on: 2013.November.24. 16:30:54 »
Quote from: Lacika
Ez jó ötlet!
itt van
*** Speicherplatz zu klein

Offline Povi

  • EP addict
  • *
  • Posts: 2296
  • Country: hu
    • http://povi.fw.hu
Re: HiSoft Pascal
« Reply #108 on: 2013.November.24. 17:22:40 »
valami miatt a heass fagyással indul, ha be volt töltve előtte a Pascal. Tök mindegy, hogy BASIC-ből, vagy Pascal-ból indítom a HEASS-t. Ez vajon mitől lehet?
*** Speicherplatz zu klein

Offline Lacika

  • EP addict
  • *
  • Posts: 3191
  • Country: hu
    • http://www.ep128.hu
Re: HiSoft Pascal
« Reply #109 on: 2013.November.24. 20:29:15 »
A READLN mi a búbánatot művel HiSift Pascalban? (Furcsán működik, legalábbis képernyőre...)

Offline Povi

  • EP addict
  • *
  • Posts: 2296
  • Country: hu
    • http://povi.fw.hu
Re: HiSoft Pascal
« Reply #110 on: 2013.November.24. 20:39:34 »
miért, mit művel?
*** Speicherplatz zu klein

Offline Lacika

  • EP addict
  • *
  • Posts: 3191
  • Country: hu
    • http://www.ep128.hu
Re: HiSoft Pascal
« Reply #111 on: 2013.November.24. 21:10:04 »
Kétszer kell ENTER-t nyomni.

Offline Povi

  • EP addict
  • *
  • Posts: 2296
  • Country: hu
    • http://povi.fw.hu
Re: HiSoft Pascal
« Reply #112 on: 2013.November.24. 22:08:43 »
néhány grafikus parancs beépítve, és a hozzávaló demo :-)
*** Speicherplatz zu klein

Offline Povi

  • EP addict
  • *
  • Posts: 2296
  • Country: hu
    • http://povi.fw.hu
Re: HiSoft Pascal
« Reply #113 on: 2013.November.24. 22:11:32 »
azon gondolkodom, hogy lehet, hogy úgy kéne csinálni (mert kicsit zavaró, hogy minden utasításhoz be kell írni a csatornaszámot is), hogy a csatornaszám egy külön változóba lenne eltárolva, és lenne egy parancs (pl. setchannel), amivel a csatornaszámot lehet változtatni, így a következő rajzoló parancs már azzal menne (ha több videolap van nyitva).
*** Speicherplatz zu klein

Offline Lacika

  • EP addict
  • *
  • Posts: 3191
  • Country: hu
    • http://www.ep128.hu
Re: HiSoft Pascal
« Reply #114 on: 2013.November.25. 09:09:44 »
Igen, ezen már én is gondolkoztam. TP programok alakítgatása közben bennem is felvetődött ez a kérdés. A BASIC-ben ügye van legalább alapértelmezése a grafikus utasításoknak. Tényleg praktikus lenne, csak a neve utaljon, mire szolgál, pl. SETVIDCH vagy valami ilyesmi (a VIDEO legyen benne).
TP alá a graph.tpu-ból majd én is csinálok ilyet próbaképp, a forráskód mérete biztos csökken, és rugalmasabb megoldás is.

Offline Povi

  • EP addict
  • *
  • Posts: 2296
  • Country: hu
    • http://povi.fw.hu
Re: HiSoft Pascal
« Reply #115 on: 2013.November.25. 11:55:26 »
na, végül megcsináltam, de úgy, hogy a write, writeln, gotoxy, page és clrscr parancsok működését is befolyásolja :-)
így az a jó, hogy bármilyen eszköz csatornaszámát írhatjuk (pl. file), és akkor a write-tal lehet file-ba írni.
Csak így nem biztos, hogy SETVIDEOCH-nak kéne lenni a parancsnak :-) Mondjuk lehetne csak SETCHANNEL().

Meg futás végén vissza kell állíani 121-re (ez az editor csatornaszáma a Pascal-ban), mert különben érdekes dolgokat művel :-) Persze majd csinálok egy RestoreCRTMode, vagy valamilyen hasonló nevű parancsot, ami visszaállítja a csatornát 121-re, és megjeleníti azt (ezt a megjelenítést csinálja egyébként a SIER5.PAS-ban lévő utolsó USER(#01EC) sor is).
*** Speicherplatz zu klein

Offline Lacika

  • EP addict
  • *
  • Posts: 3191
  • Country: hu
    • http://www.ep128.hu
Re: HiSoft Pascal
« Reply #116 on: 2013.November.25. 19:07:19 »
Milyen grafikus utasítások vannak eddig benne?

Offline Povi

  • EP addict
  • *
  • Posts: 2296
  • Country: hu
    • http://povi.fw.hu
Re: HiSoft Pascal
« Reply #117 on: 2013.November.25. 19:52:25 »
eddig még nem sok:
PLOT(x,y : integer)
PLOTREL(x,y : integer)
BEAMON
BEAMOFF
FILL
DISPLAY(ch,at,from,to : integer)
OPENVIDEO(ch : integer)
CLOSE(ch : integer)
most kivettem a csatornaszámra vonatkozó paramétert

arra gondoltam, inkább majd egy GRAPHINIT utasítás kéne, az beállítaná a rendszerváltozókat, és nyitna egy video-csatornát, így nem lenne külön OPENVIDEO

nem egyszerű a parancsok kitalálása... :-)
főleg, hogy logikus felépítésű maradjon az egész
*** Speicherplatz zu klein

Offline Lacika

  • EP addict
  • *
  • Posts: 3191
  • Country: hu
    • http://www.ep128.hu
Re: HiSoft Pascal
« Reply #118 on: 2013.November.25. 20:06:29 »
Quote from: Povi
eddig még nem sok:
PLOT(x,y : integer)
PLOTREL(x,y : integer)
BEAMON
BEAMOFF
FILL
DISPLAY(ch,at,from,to : integer)
OPENVIDEO(ch : integer)
CLOSE(ch : integer)
most kivettem a csatornaszámra vonatkozó paramétert
A DISPLAY-ból, OPENVIDEO-ból, CLOSE szavakból kár kivenni a csatornaszámra hivatkozás. Ez ott szerintem inkább bonyolítás.

Offline Povi

  • EP addict
  • *
  • Posts: 2296
  • Country: hu
    • http://povi.fw.hu
Re: HiSoft Pascal
« Reply #119 on: 2013.November.25. 20:12:42 »
azokból nem vettem ki, azért is írtam oda :-)
*** Speicherplatz zu klein