Welcome, Guest. Please login or register.


Author Topic: HiSoft Pascal (Read 54617 times)

Offline endi

  • EP addict
  • *
  • Posts: 7305
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 61.0.3163.100 Chrome 61.0.3163.100
    • View Profile
    • Honlapom
Re: HiSoft Pascal
« Reply #345 on: 2017.October.17. 16:24:25 »
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.

de miért nem exos hívással állítod be?
Vigyázat! Szektás vagyok! :)

Offline Tomato77

  • EP user
  • *
  • Posts: 361
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Chrome 50.0.2661.94 Chrome 50.0.2661.94
    • View Profile
Re: HiSoft Pascal
« Reply #346 on: 2017.October.17. 16:38:17 »
Mert nem tudom, hogy kell. :) Meg majd a click-et és a statust is ki szeretném kapcsolni, és ezek nagyjából egy kupacban vannak. Annyit még felfogok, hogy a memóriában átírok valamit, de a hexa inline parancsokat nem értem.
Kotasoft

Offline endi

  • EP addict
  • *
  • Posts: 7305
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 61.0.3163.100 Chrome 61.0.3163.100
    • View Profile
    • Honlapom
Re: HiSoft Pascal
« Reply #347 on: 2017.October.17. 16:46:01 »
Mert nem tudom, hogy kell. :) Meg majd a click-et és a statust is ki szeretném kapcsolni, és ezek nagyjából egy kupacban vannak. Annyit még felfogok, hogy a memóriában átírok valamit, de a hexa inline parancsokat nem értem.

hát ezeket tipikusan exos-al kell átállítani. ha tudod a poke címét, akkor hogyhogy nem tudod az exos lehetőségeket? :)
ha meg nem akarsz exos-t használni akkor pl a bordert port-on keresztül kell írni, ez esetben az exos megszakítást le kell tiltani.
ami biztos, hogy poke-al semmiképpen nem érdemes ilyesmiket átírni.
exos hívásokról meg majd valaki linkeljen egy doksit, gondolom ep128.hu-n van.
Vigyázat! Szektás vagyok! :)

Offline Lacika

  • EP addict
  • *
  • Posts: 3058
  • Country: hu
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Firefox 56.0 Firefox 56.0
    • View Profile
    • http://www.ep128.hu
Re: HiSoft Pascal
« Reply #348 on: 2017.October.17. 18:47:49 »
A funkcióhívásokról itt lehet közérthetően olvasni. Ebből még én is - többé-kevésbé - megértem... :oops:
A az ep128.hu-ról letölthető Hisoft Pascal-ban van grafikai rutingyűjtemény (több is). Ezek használatáról itt lehet olvasni
« Last Edit: 2017.October.17. 18:52:39 by Lacika »

Offline endi

  • EP addict
  • *
  • Posts: 7305
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 61.0.3163.100 Chrome 61.0.3163.100
    • View Profile
    • Honlapom
Re: HiSoft Pascal
« Reply #349 on: 2017.October.17. 19:03:54 »
A funkcióhívásokról itt lehet közérthetően olvasni. Ebből még én is - többé-kevésbé - megértem... :oops:
A az ep128.hu-ról letölthető Hisoft Pascal-ban van grafikai rutingyűjtemény (több is). Ezek használatáról itt lehet olvasni

hm ez de jó. nem is tudtam hogy ilyenek is vannak hogy saját pascal rajzoló rutinok, sprite kezelés...
valahogy mindig azt hittem hogy az ep pascal valami fapados izé :)
hm, ha ezeket én annak idején tudom...
Vigyázat! Szektás vagyok! :)

Offline Tomato77

  • EP user
  • *
  • Posts: 361
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Chrome 50.0.2661.94 Chrome 50.0.2661.94
    • View Profile
Re: HiSoft Pascal
« Reply #350 on: 2017.October.18. 11:50:19 »
Köszönöm az ötletet! #10-ás EXOS hívással sikerült a keretet átállítani. Azért poke-kal próbálkoztam, mert a memóriacímet találtam meg előbb a Tippek és trükkök c. könyvben és Basicben működött is.
Kotasoft

Offline Tomato77

  • EP user
  • *
  • Posts: 361
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Chrome 50.0.2661.94 Chrome 50.0.2661.94
    • View Profile
Re: HiSoft Pascal
« Reply #351 on: 2017.October.24. 18:45:56 »
Sziasztok!

Kezdő szintű Pascal-os kérdést szeretnék feltenni, ugyanis megint elakadtam az ismerkedéssel. Még mindig a videomemóriában szeretnék turkálni poke-kal, de egyelőre egy árva pixelt sem sikerült megjelenítenem, mert szinte mindig fagyás lesz a dolog vége. A 255-ös (meg majd a 254-es) lapra szeretnék írni, amiket úgy gondolom, be kellene lapozni valahová. Ha egy kis programmal megnézem, akkor alapból a 248, 249, 250 és 251 szegmenseket látom belapozva, azaz a Pascal elfoglalja mind a négy lapot? A korábbi tanácsra az Alter paranccsal próbálkoztam, de nem igazán értem, hogy mit kéne változtatni és mire. A stack-ek értéke alapból 0000h, ezek közül kellene az egyiket a könyv által javasolt C000h-ra változtatni, és ez után használhatnám a 3-as lapot? Ezt a Pascal minden betöltése után be kell állítani?

Ha jól értem, amit olvastam, ha egy szegmenst használni szeretnék, azt le kell foglalni az EXOS által. Vajon ha egy videolapot nyitok, akkor belapozhatom egyből az adott szegmenst, vagy még le is kell előtte valahogy foglalni?

Magasszintű nyelvekhez szokva nehéz felfogni az Enterprise memóriakezelését. :(
Kotasoft

Offline Lacika

  • EP addict
  • *
  • Posts: 3058
  • Country: hu
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Firefox 56.0 Firefox 56.0
    • View Profile
    • http://www.ep128.hu
Re: HiSoft Pascal
« Reply #352 on: 2017.October.24. 18:50:13 »
Ha mindenképen POKE-ézni akarsz, használd István GRAPH16.HPU-ját. C000H-tól tied a pálya...
De ha magas szintű nyelvekhez vagy hozzá szokva, miért nem a GRAFCS.HPU-t használod? Ez az EXOS-t használja, egy deka POKE nem kell a rajzoláshoz.

Offline Tomato77

  • EP user
  • *
  • Posts: 361
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Chrome 50.0.2661.94 Chrome 50.0.2661.94
    • View Profile
Re: HiSoft Pascal
« Reply #353 on: 2017.October.24. 19:08:07 »
Azért, mert szeretnék teljes képernyős képet gyorsan betölteni, meg a .HPU-hoz a graph16.bin-t is be kell töltögetni, ami magnós konfiggal nem ideális. Olyan játékot szeretnék csinálni, ami egy program- és egy képfájlból áll, de lehet, hogy megírom Delphiben PC-re. :)
Kotasoft

Offline Tomato77

  • EP user
  • *
  • Posts: 361
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Chrome 50.0.2661.94 Chrome 50.0.2661.94
    • View Profile
Re: HiSoft Pascal
« Reply #354 on: 2017.October.25. 01:54:10 »
Sikerült! :) Az Alter paranccsal a stack-et C000h-ra állítva használhatom a 3-as lapot. Vannak pixelek, és gyorsabbnak tűnik az EXOS rajzoló rutinjánál.
Kotasoft

Offline Povi

  • EP addict
  • *
  • Posts: 2122
  • Country: hu
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 61.0.3163.100 Chrome 61.0.3163.100
    • View Profile
    • http://povi.fw.hu
Re: HiSoft Pascal
« Reply #355 on: 2017.October.25. 10:37:35 »
Sziasztok!

Kezdő szintű Pascal-os kérdést szeretnék feltenni, ugyanis megint elakadtam az ismerkedéssel. Még mindig a videomemóriában szeretnék turkálni poke-kal, de egyelőre egy árva pixelt sem sikerült megjelenítenem, mert szinte mindig fagyás lesz a dolog vége. A 255-ös (meg majd a 254-es) lapra szeretnék írni, amiket úgy gondolom, be kellene lapozni valahová. Ha egy kis programmal megnézem, akkor alapból a 248, 249, 250 és 251 szegmenseket látom belapozva, azaz a Pascal elfoglalja mind a négy lapot? A korábbi tanácsra az Alter paranccsal próbálkoztam, de nem igazán értem, hogy mit kéne változtatni és mire. A stack-ek értéke alapból 0000h, ezek közül kellene az egyiket a könyv által javasolt C000h-ra változtatni, és ez után használhatnám a 3-as lapot? Ezt a Pascal minden betöltése után be kell állítani?

Ha jól értem, amit olvastam, ha egy szegmenst használni szeretnék, azt le kell foglalni az EXOS által. Vajon ha egy videolapot nyitok, akkor belapozhatom egyből az adott szegmenst, vagy még le is kell előtte valahogy foglalni?

Magasszintű nyelvekhez szokva nehéz felfogni az Enterprise memóriakezelését. :(

Az Alter paranccsal, amikor a compiler stack és a translate stack címét állítod, akkor annak a felső határát állítod be. Ez alapesetben 0000, vagyis ettől lefele lévő területet (0xfff, ez ugye a harmadik lap teteje) fogja használni a Pascal. Ha ezt stack-et átállítjuk 0xc000-ra (ami alatt a0xbfff van, az már a második lap), akkor biztosítva lesz az, hogy a a harmadik lapon lévő szegmens "biztonságban" legyen, azt a Pascal nem fogja használni. Ezek után oda bármit belapozhatsz (praktikusan vagy olyan lapot, amit már megigényeltél az EXOS-tól, de ez lehet video lap is, azt már nem kell külön lefoglalni magadnak).
*** Speicherplatz zu klein

Offline Tomato77

  • EP user
  • *
  • Posts: 361
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Chrome 50.0.2661.94 Chrome 50.0.2661.94
    • View Profile
Re: HiSoft Pascal
« Reply #356 on: 2017.October.25. 11:53:32 »
Köszönöm! Beállítottam tegnap éjjel a stack-eket. Működik, és állati gyors. :) Már úgy is, ha pixelenként poke-olok a képernyőre, de ha 80 vagy 84 bájtos (X szélességtől függően) blokkokból dolgozik a poke, akkor meg nagyon nagyon gyors. :)
Kotasoft

Offline Povi

  • EP addict
  • *
  • Posts: 2122
  • Country: hu
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Chrome 61.0.3163.100 Chrome 61.0.3163.100
    • View Profile
    • http://povi.fw.hu
Re: HiSoft Pascal
« Reply #357 on: 2017.October.25. 13:49:10 »
Olyan játékot szeretnék csinálni, ami egy program- és egy képfájlból áll
A képfájlt legegyszerűbben a TIN paranccsal tudod betölteni:
használata: TIN(filenév, memóriacím)

például:
Code: [Select]
tin('game.scr', #c000);
*** Speicherplatz zu klein

Offline Tomato77

  • EP user
  • *
  • Posts: 361
  • Country: hu
  • OS:
  • Linux Linux
  • Browser:
  • Chrome 50.0.2661.94 Chrome 50.0.2661.94
    • View Profile
Re: HiSoft Pascal
« Reply #358 on: 2017.October.26. 20:17:46 »
Megint bénázok a Pascallal... Ha kb. 8KB-ot elér a forrás, akkor néha azt csinálja, hogy betöltés közben "eltűnik" egy karakter valamelyik sorból, és persze nem fordul le. Pl. egy zárójel, pontosvessző, vagy egy azonosító egy karaktere. Notepad-ban írom a forráskódot, azt olvasom be emulátorral magnós konfigurációban. A txt fájl látszólag jó, ansi-ként van mentve, a sorok végén 0Dh és 0Ah. Tapasztalt már valaki ilyet?
Kotasoft

Offline Lacika

  • EP addict
  • *
  • Posts: 3058
  • Country: hu
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Firefox 56.0 Firefox 56.0
    • View Profile
    • http://www.ep128.hu
Re: HiSoft Pascal
« Reply #359 on: 2017.October.26. 23:13:24 »
Nem láttam még ilyet. Én floppyzok, de ilyet nem tapasztaltam.