Fontos klub információ
Important club information
Welcome, Guest. Please login or register.


Author Topic: HiSoft Pascal (Read 38714 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 58.0.3029.81 Chrome 58.0.3029.81
    • View Profile
    • Honlapom
Re: HiSoft Pascal
« Reply #315 on: 2017.May.21. 09:10:06 »
futtatható programot is berakhatnál, főleg a sprite-os dolgokról :)
Vigyázat! Szektás vagyok! :)

Offline IstvanV

  • EP addict
  • *
  • Posts: 4806
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 52.0 Firefox 52.0
    • View Profile
Re: HiSoft Pascal
« Reply #316 on: 2017.May.21. 10:34:50 »
Futtatható példák:

* tunnel3.com (7.8 kB. 37x31 - viewed 72 times.)
* g16test.com (7.54 kB. 30x30 - viewed 71 times.)
* mouse.com (7.64 kB. 126x30 - viewed 73 times.)
* sprite.com (7.85 kB. 91x31 - viewed 77 times.)
* sprdata.bin (2.83 kB - downloaded 75 times.)

Kisebb javítások, a SpriteDraw most 255 értéket ad vissza érvénytelen koordináták esetén, a 'p' paraméternek viszont párosnak kell lennie:

* graph16.hpu (4.74 kB - downloaded 70 times.)
* graph16.bin (1.08 kB - downloaded 73 times.)
* graph16.s (34.76 kB - downloaded 76 times.)
* hpuconv.c (1.14 kB - downloaded 71 times.)

Offline IstvanV

  • EP addict
  • *
  • Posts: 4806
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 52.0 Firefox 52.0
    • View Profile
Re: HiSoft Pascal
« Reply #317 on: 2017.May.26. 12:14:01 »
Továbbfejlesztett változat:
* graph16.hpu (5.65 kB - downloaded 70 times.)
* graph16.bin (1.11 kB - downloaded 68 times.)
* graph16.s (37.34 kB - downloaded 65 times.)
* hpuconv.c (1.2 kB - downloaded 66 times.)

* sprite.pas (1.4 kB - downloaded 70 times.)
* sprite2.pas (1.56 kB - downloaded 65 times.)
* sprdata.bin (2.83 kB - downloaded 75 times.)

A sprite kezelés így módosult:

procedure SpriteInit(p,s,n,c:integer);
procedure SpriteNew(b,p:integer);
function SpriteDraw(b,n,x,y:integer):integer;
procedure SpriteClr(b:integer);


s = (a SpriteInit után már nem használt) forrás adat címe, a mérete N * 6 * 21 byte
p = konvertált sprite adat címe, a mérete N * 6 * 21 * 4 byte
b = sprite puffer (az aktuális állapot és a háttér mentése) címe, csak páros lehet, a mérete 130 byte

Több sprite esetén mindegyik külön 'b' paramétert használ, de a 'p' megosztható. Jelenleg villogás nélkül csak 2 sprite jeleníthető meg, esetleg 3 a második példában látható módon az egyiket a képernyő alsó részére korlátozva. Két video lap használatával a villogás elkerülhető lenne.

Még egy kisebb újdonság:

procedure DrawChar(i,x,y:integer; c:char);

Karakter rajzolása a megadott pozícióban, az 'i' a paletta szín (0..15) vagy -1. Az előbbi esetben pixelenkénti Plot() történik a 2 színű karaktert vízszintesen nagyítva, a háttérszínű pixelek változatlanok maradnak. Ha a szín -1, akkor byte alapú a rajzolás, ami gyorsabb, és 16 színű (felhasználó által definiált) karakterkészletet tételez fel. Ez a mód csak akkor működik helyesen, ha az 'x' páros, és a teljes karakter látható (nem fordulnak elő érvénytelen koordináták).

Offline Lacika

  • EP addict
  • *
  • Posts: 2932
  • Country: hu
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Firefox 53.0 Firefox 53.0
    • View Profile
    • http://www.ep128.hu
Re: HiSoft Pascal
« Reply #318 on: 2017.June.13. 19:50:44 »
A graph16.hpu fejlesztése befejeződött? Lesz még változás? Az ismertető miatt kérdezem.

Offline IstvanV

  • EP addict
  • *
  • Posts: 4806
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 52.0 Firefox 52.0
    • View Profile
Re: HiSoft Pascal
« Reply #319 on: 2017.June.13. 19:57:09 »
A graph16.hpu fejlesztése befejeződött?

Egyelőre igen, az esetleges hibák vagy nem jól optimalizált kód lehetőségétől eltekintve. :oops:

Szerk.: korábban elkezdtem C (SDCC) változat készítését is, de nem tudom, érdemes-e befejezni.
« Last Edit: 2017.June.14. 14:28:52 by IstvanV »

Online geco

  • EP addict
  • *
  • Posts: 5522
  • Country: hu
  • OS:
  • Linux / Sony Ericsson SK17i Linux / Sony Ericsson SK17i
  • Browser:
  • Safari 4.0 Safari 4.0
    • View Profile
Re: HiSoft Pascal
« Reply #320 on: 2017.June.14. 21:15:29 »
Egyelőre igen, az esetleges hibák vagy nem jól optimalizált kód lehetőségétől eltekintve. :oops:

Szerk.: korábban elkezdtem C (SDCC) változat készítését is, de nem tudom, érdemes-e befejezni.
szerintem tuti, ha valaki esetleg C-ben szeretne programot irni

Offline Lacika

  • EP addict
  • *
  • Posts: 2932
  • Country: hu
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Firefox 53.0 Firefox 53.0
    • View Profile
    • http://www.ep128.hu
Re: HiSoft Pascal
« Reply #321 on: 2017.June.14. 23:21:46 »
István! Majd itt a GRAPH16.HPU-ra vonatkozó részt? Pl. a SpriteNew(b,p) működése nekem nem egyértelmű.

Offline IstvanV

  • EP addict
  • *
  • Posts: 4806
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 52.0 Firefox 52.0
    • View Profile
Re: HiSoft Pascal
« Reply #322 on: 2017.June.15. 10:28:21 »
István! Majd itt a GRAPH16.HPU-ra vonatkozó részt? Pl. a SpriteNew(b,p) működése nekem nem egyértelmű.

A SpriteNew() sprite számára inicializálja a 'b' paraméterben megadott kezdőcímű (ennek párosnak kell lennie), 130 byte méretű területet. Ugyanezt a paramétert használják a SpriteDraw és SpriteClr későbbi hívásai. A 'p' a SpriteInit rutinnal konvertált pixel adatra mutat, több sprite is használhatja ugyanazt a grafikát, bár 4 MHz-es gépen csak 2-3 jeleníthető meg villogás nélkül. :oops:

Offline IstvanV

  • EP addict
  • *
  • Posts: 4806
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 52.0 Firefox 52.0
    • View Profile
Re: HiSoft Pascal
« Reply #323 on: 2017.June.15. 19:38:16 »
Egy kisebb hibát találtam a leírásban: a SpriteDraw első paramétere nem p (pixel/maszk adat), hanem b (puffer).

Offline Lacika

  • EP addict
  • *
  • Posts: 2932
  • Country: hu
  • OS:
  • Windows NT 10.0 Windows NT 10.0
  • Browser:
  • Firefox 54.0 Firefox 54.0
    • View Profile
    • http://www.ep128.hu
Re: HiSoft Pascal
« Reply #324 on: 2017.June.15. 23:01:16 »
Javítva.

Offline IstvanV

  • EP addict
  • *
  • Posts: 4806
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 52.0 Firefox 52.0
    • View Profile
Re: HiSoft Pascal
« Reply #325 on: 2017.June.16. 16:46:04 »
szerintem tuti, ha valaki esetleg C-ben szeretne programot irni

Ez ugyan nem tűnik túl valószínűnek. :oops: Új EP-s programok jelenleg BASIC vagy assembly nyelven készülnek, talán BASIC verziónak lenne a legtöbb értelme, bár azt nem tudom, hogyan lehetne jól megoldani.

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 58.0.3029.110 Chrome 58.0.3029.110
    • View Profile
    • Honlapom
Re: HiSoft Pascal
« Reply #326 on: 2017.June.16. 17:03:37 »
mindig is nagy vágyam volt egy olyan basic/exos lehetőség, hogy egyik videólap megadott részét átmásolja egy másikra.
így egy videolapra kirajzolhatók (vagy betölthetők) figurák, másikra háttér, és egy harmadikon meg szépen lehet másolgatni a sprite-okat, háttér kezeléssel együtt.
persze csak úgy lenne jó, ha a zzzip is le tudná fordítani :)
(a mutant test játékomban gépi kódú sprite kirakás van, szóval valahogy biztos megoldható)
Vigyázat! Szektás vagyok! :)

Online Zozosoft

  • EP addict
  • *
  • Posts: 13623
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 53.0 Firefox 53.0
    • View Profile
    • http://enterprise.iko.hu/
Re: HiSoft Pascal
« Reply #327 on: 2017.June.16. 21:54:55 »
talán BASIC verziónak lenne a legtöbb értelme, bár azt nem tudom, hogyan lehetne jól megoldani.
BASIC utasítás bővítés?

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 59.0.3071.115 Chrome 59.0.3071.115
    • View Profile
    • Honlapom
Re: HiSoft Pascal
« Reply #328 on: 2017.July.31. 17:23:08 »
itt van még két régi játékom.
az egyik egy platform-kaland játék engine, pár pályával, kb minden funkcióval, de amúgy nem kész játék. ez is delphi és csak fullscreenben megy, win7 alatt már nem fut nekem... az volt benne az extra, hogy truecolor 320x200-ban futott. :)
ebből mellékeltem képeket is.
de gondolom ezt nincs értelme átírni mert nem kész játék. meg a grafika konverziója is marha sok munka lenne.

a másik egy dos alatt futó turbo pascal, rpg-szerű játék, saját nézet, 3d-ben rajzolja ki a falakat, 90 fokban lehet forogni, szóval mint a régi klasszikus eye of beholder és társai. de itt csak egy karakterrel lehet menni, inkább kalandjáték. ezt a book of life játékom után csináltam. ez jól fut dosbox-ban.
ez szerintem átírható lehetne.

Vigyázat! Szektás vagyok! :)

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 59.0.3071.115 Chrome 59.0.3071.115
    • View Profile
    • Honlapom
Re: HiSoft Pascal
« Reply #329 on: 2017.July.31. 17:25:18 »
ah sajnos a minirpg-nek nem találom a forrását...
Vigyázat! Szektás vagyok! :)