Welcome, Guest. Please login or register.


Author Topic: HiSoft Pascal (Read 87795 times)

Offline nyuzga

  • EP addict
  • *
  • Posts: 2280
  • Country: hu
Re: HiSoft Pascal
« Reply #330 on: 2017.July.31. 17:40:36 »
"win7 alatt már nem fut nekem"

Nálam fut 64 biten. Jó kis játék lehetett volna ebből. :D

Offline endi

  • EP addict
  • *
  • Posts: 7298
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
    • Honlapom
Re: HiSoft Pascal
« Reply #331 on: 2017.July.31. 17:49:47 »
"win7 alatt már nem fut nekem"

Nálam fut 64 biten. Jó kis játék lehetett volna ebből. :D

hú, nem tudnál felvenni videót?
nekem is win7 64 bit van. simán csak elindítod és fut?
Vigyázat! Szektás vagyok! :)

Offline nyuzga

  • EP addict
  • *
  • Posts: 2280
  • Country: hu
Re: HiSoft Pascal
« Reply #332 on: 2017.July.31. 18:00:39 »
hú, nem tudnál felvenni videót?
nekem is win7 64 bit van. simán csak elindítod és fut?

Igen. Bár az Avast sz%rakodott, hogy ismeretlen file, de kikapcsoltam. :)
Nálad ezek hiányozhatnak :

Net Framework 4.7
Vcredist Összes 2005-2015 32-64-bit
Esetleg Java 7-8 32-64

Majd próbálok videót készíteni, de most nincs fent olyan programom.
« Last Edit: 2017.July.31. 18:05:30 by nyuzga »

Offline nyuzga

  • EP addict
  • *
  • Posts: 2280
  • Country: hu
Re: HiSoft Pascal
« Reply #333 on: 2017.July.31. 18:56:55 »
Tessék a mozi. :)


Offline endi

  • EP addict
  • *
  • Posts: 7298
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
    • Honlapom
Re: HiSoft Pascal
« Reply #334 on: 2017.July.31. 20:36:28 »
hú ez tök jó, köszi. már régen láttam, jó volt újra látni :)
Vigyázat! Szektás vagyok! :)

Offline nyuzga

  • EP addict
  • *
  • Posts: 2280
  • Country: hu
Re: HiSoft Pascal
« Reply #335 on: 2017.August.01. 08:41:02 »
Igen. Bár az Avast sz%rakodott, hogy ismeretlen file, de kikapcsoltam. :)

Megjött az elemzés :


Offline endi

  • EP addict
  • *
  • Posts: 7298
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
    • Honlapom
Re: HiSoft Pascal
« Reply #336 on: 2017.August.01. 08:52:14 »
ja hát ez előfordul :)
de biztos nem vírusos
Vigyázat! Szektás vagyok! :)

Offline nyuzga

  • EP addict
  • *
  • Posts: 2280
  • Country: hu
Re: HiSoft Pascal
« Reply #337 on: 2017.August.01. 10:29:17 »
ja hát ez előfordul :)
de biztos nem vírusos

Nem vírusos.

Offline Tomato77

  • EP user
  • *
  • Posts: 397
  • Country: hu
    • Támogató Támogató
Re: HiSoft Pascal
« Reply #338 on: 2017.October.12. 19:10:09 »
Szervusztok!

Elkezdtem ismerkedni a HiSoft Pascallal, és máris elakadtam. Szeretném a grafikai lehetőségeket próbálgatni. Láttam, hogy a GRAPH16.HPU-ban sok eljárás van, amik közül csak néhányra volna szükségem (videolapok nyitása és megjelenítése, paletta és BIAS beállítása), ezért arra gondoltam, hogy ezeket bemásolom magába a programba. Próbából a keret színét szerettem volna átállítani az alábbi mini programmal, ami lefordul, de futáskor lefagy:

PROGRAM Proba;

PROCEDURE BORDER(C:INTEGER);
BEGIN
  INLINE(#DD,#7E,#02,#CD,#B0,#BC);
END;

BEGIN
  BORDER(255);
END.

Szerintetek ennek kellene így működnie, vagy hol rontottam el?

Ilyen inline-os soroknál honnan tudja, hogy a "C" paramétert honnan vegye? Több eljárást nézegetve a #02 lett gyanús, mert több eljárásban is előfordult. Ez mutatja, hogy pl. valami után 2 bájttal található az érték?
« Last Edit: 2017.October.12. 20:04:58 by Tomato77 »
Kotasoft

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: HiSoft Pascal
« Reply #339 on: 2017.October.12. 19:56:38 »
A GRAPH16 rutinok használatához szükség van a GRAPH16.BIN betöltésére is, ez tartalmazza a megvalósításuk jelentős részét (lásd itt a GRAPH16.HPU-nál). Egyszerűbb lehet azonban az EXOS VIDEO: eszközére épülő GRAFCSX.HPU használata.

Ilyen inline-os soroknál honnan tudja, hogy a "C" paramétert honnan vegye? Több eljárást nézegetve a #02 lett gyanús, mert több eljárásban is előfordult. Ez mutatja, hogy pl. valami után 2 bájttal található az érték?  

A DD..02 az IX regiszterhez képest 2 eltolást jelent, itt található a C paraméter. Az IX értéke a veremmutató az eljárás hívásakor, IX+0-nál található a visszatérési cím, IX+2-nél az utolsó paraméter, utána a többi fordított sorrendben, majd (csak függvénynél) a visszatérési érték.
« Last Edit: 2017.October.12. 20:06:30 by IstvanV »

Offline Tomato77

  • EP user
  • *
  • Posts: 397
  • Country: hu
    • Támogató Támogató
Re: HiSoft Pascal
« Reply #340 on: 2017.October.12. 23:41:59 »
Köszönöm a választ! Egy rövid próba után úgy néz ki, hogy megértettem, hogyan működik.

Még azt szeretném kérdezni, hogy a Basic-es SPOKE híján a videomemóriába hogyan lehet közvetlenül bele"poke"-olni? A Pascal POKE-ja a belapozott négy szegmenst eléri egy Word értékkel? Arra gondoltam, hogy miután megvan a Nick cím és az abból kiszámolt szegmens száma, azt belapozom valahová. Ha jól értem, a nullás lapot nem illik használni, ezért mondjuk a kettesre: OUT(#B2,CHR(szegmens)); Ezek után még kell módosítani a címet, hogy 32768 és 49151 közötti értéke legyen? Így lehet elérni a kettes lapra belapozott szegmenst?
Kotasoft

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: HiSoft Pascal
« Reply #341 on: 2017.October.13. 09:06:14 »
A GRAPH16.HPU-nál a képernyő egyszerűen a 49152 (-16384) címtől kezdődően érhető el, mindig be van lapozva.

OUT használatánál elsősorban arra kell figyelni, hogy ne olyan lapot módosítson, amit a Pascal is használ. Talán célszerűbb lehet az Alter paranccsal C000h alá korlátozni a Pascal program területét, akkor a 3. lapra bármikor tetszőleges szegmens kerülhet.

Offline Povi

  • EP addict
  • *
  • Posts: 2296
  • Country: hu
    • http://povi.fw.hu
Re: HiSoft Pascal
« Reply #342 on: 2017.October.13. 10:59:18 »
A GRAPH16.HPU-nál a képernyő egyszerűen a 49152 (-16384) címtől kezdődően érhető el, mindig be van lapozva.
Érdemes ilyen esetekben hexa formában megadni a forráskódban a címeket, és akkor nem kell negatív számokkal elcsúfítani a kódot.
pl.:
Code: [Select]
POKE(#c000,value);
Arra figyelni kell, hogy a value bármilyen típus lehet, ha char, akkor egy bájtot fog írni, de ha pl. integer akkor két bájtot a 0xc000 és 0xc001 címre.
*** Speicherplatz zu klein

Offline Tomato77

  • EP user
  • *
  • Posts: 397
  • Country: hu
    • Támogató Támogató
Re: HiSoft Pascal
« Reply #343 on: 2017.October.13. 12:22:27 »
Rendben, köszönöm a válaszokat! Megpróbálom az Alter parancsot használni, mert ha egy teljes képernyő kb. 20 Kbájt, akkor mindenképp szükség lesz lapozásra.
Kotasoft

Offline Tomato77

  • EP user
  • *
  • Posts: 397
  • Country: hu
    • Támogató Támogató
Re: HiSoft Pascal
« Reply #344 on: 2017.October.17. 16:04:52 »
Sziasztok!

Megint segítséget szeretnék kérni. Basic-ben a keret színét be lehet állítani a SPOKE 255,16352,n paranccsal. Pascalban miért nem működik az alábbi program?

Program Border;
BEGIN
  Poke(#BFE0,Chr(73));
END.

#3FE0-val sem működik, illetve próbáltam Out paranccsal belapozni az FF szegmenst, de úgy sem csinál semmit.
Kotasoft