Welcome, Guest. Please login or register.


Recent Posts

Pages: [1] 2 3 4 5 6 7 8 ... 10
1
VIDEO: / Re: GraCha Sprite System
« Last post by endi on Yesterday at 10:37 »
JSP, your program is cool, I always wanted to make a pixel-moving basic game.
2
Programozás / Re: Fájltömörítés Enterprise-on
« Last post by IstvanV on 2019.April.21. 22:10:40 »
Itt megtalálható (frissített változat a 2.0.11.2 verzióhoz).
3
Programozás / Re: Fájltömörítés Enterprise-on
« Last post by Zozosoft on 2019.April.21. 20:39:37 »
History fülön keresztül még elérhető. Rá kell kattintani az utolsó előtti változat dátumára, és akkor megnyílik.
Köszi! Gyorsan elmentettem.
4
Programozás / Re: Fájltömörítés Enterprise-on
« Last post by ergoGnomik on 2019.April.21. 20:00:40 »
Nem találom :-(
History fülön keresztül még elérhető. Rá kell kattintani az utolsó előtti változat dátumára, és akkor megnyílik.
5
Programozás / Re: Fájltömörítés Enterprise-on
« Last post by Zozosoft on 2019.April.21. 19:50:24 »
6
Programozás / Re: Fájltömörítés Enterprise-on
« Last post by IstvanV on 2019.April.21. 18:54:07 »
ROM: eszköz átalakítva m3 használatára:

* romfsdev.asm (13.76 kB - downloaded 3 times.)
* romload.lua (7.04 kB - downloaded 2 times.)

* epfileio.rom (16 kB - downloaded 1 times.)
* epfileio.asm (11.24 kB - downloaded 2 times.)
* romfile.asm (17.4 kB - downloaded 1 times.)
* start.asm (0.79 kB - downloaded 2 times.)
7
VIDEO: / Re: GraCha Sprite System
« Last post by endi on 2019.April.20. 15:03:14 »
már csak az a kérdés hogy több címet vagy file név címét hogy lehet átadni a basic code hex utasításba?

hm, rájöttem hogy egyszerűen a csatornát basic-ben kell megnyitni, és a dolog meg van oldva :)
8
VIDEO: / Re: GraCha Sprite System
« Last post by JSP on 2019.April.19. 20:24:41 »
Hi

Well, the code was a sort of 'proof of concept' to test if it is possible to make reasonable sprites in BASIC, and within limits this seems to be the case.

The main trick for speeding up the code is to avoid arrays if possible and to precalculate everything once before using the results in the main loop and plot routine. Common sense really, and it improves the speed by about 50%! You also have to rewrite a few address specifications to get them to work with ZZZIP. All peeking and poking is done using speek/spoke. This minimizes the limitations from ZZZIPs integer code and results in very fast code in ZZZIP.

The code around line 7000 is just there in case you want to implement some code to react to specific events. In the code example below, there are no such events, but you might implement a collision check or whatever, and put it there.

Anyway, here is the BASIC code, if you feel like trying it out.

regards
Jesper

    1 PROGRAM "spr_test.bas"
    2 !
    5 TEXT 80
   10 NUMERIC GFX1(1 TO 9) , OFFX1 (1 TO 9,0 TO 8) , OFFX2 (1 TO 9,0 TO 8)
   20 NUMERIC OX,OY,ODX,ODY,OHGT,OWID
   30 NUMERIC I,J,CL,ZX,ZY,M1,M2,CH,KOX,DWID,DHGT,SP
   40 NUMERIC LPTLOW,LPTHIGH,LPT,LBLOCK
   50 NUMERIC LD1LOW,LD1HIGH,LD1(1 TO 2),LD1PAGE(1 TO 2)
   60 NUMERIC LD2LOW,LD2HIGH,LD2(1 TO 2),LD2PAGE(1 TO 2)
   65 STRING T$*1,ESC$*1,LEFT$*1,RIGHT$*1,UP$*1,DOWN$*1,T1$
   70 LET WID=20:LET HGT=10:LET LBLOCK=15
   80 LET ODX=1:LET ODY=0:LET OHGT=9:LET OWID=8:LET SP=4
   81 LET OX=1:LET OY=1
   99 !
  100 CALL INIT_VARS
  110 CALL INIT_VPAGES
  998 LET T1$=TIME$
  999 !
 1000 DO
 1005   IF GET_EVENT THEN CALL EVENT_HANDLER
 1010   LET T$=INKEY$
 1012   IF T$<>"" THEN
 1015     SELECT T$
 1020     CASE ESC$
 1021       PRINT T1$,TIME$
 1025       EXIT DO
 1030     CASE LEFT$
 1035       LET ODX=MAX(ODX-1,-SP)
 1040     CASE RIGHT$
 1045       LET ODX=MIN(ODX+1,SP)
 1050     CASE UP$
 1055       LET ODY=MAX(ODY-1,-SP)
 1057     CASE DOWN$
 1060       LET ODY=MIN(ODY+1,SP)
 1065     END SELECT
 1070   END IF
 1075   DISPLAY #CH:AT LBLOCK FROM 1 TO HGT
 1080   LET CH=1-(CH=1)
 1090   CALL PLOT_OBJ
 1095 LOOP
 1105 END
 1199 !
 6000 DEF PLOT_OBJ
 6001   CLEAR #CH
 6005   LET ZX=MIN(DWID-OWID+1,MAX(1,OX+ODX))
 6010   LET ZY=MIN(DHGT-OHGT+1,MAX(1,OY+ODY))
 6015   LET OX=ZX:LET OY=ZY
 6016   IF OY>(DHGT-OHGT) OR OY=1 THEN LET ODY=0
 6017   IF OX>(DWID-OWID) OR OX=1 THEN LET ODX=0
 6020   LET CL=IP((OX-1)/8)+WID*ZY-WID
 6021   LET KOX=MOD(OX-1,8)
 6022   FOR K=1 TO OHGT
 6023     LET CLX=LD2(CH)+CL+(K-1)*WID
 6025     LET M1=OFFX1(K,KOX)
 6027     LET M2=OFFX2(K,KOX)
 6035     SPOKE LD2PAGE(CH),CLX,M1
 6040     SPOKE LD2PAGE(CH),CLX+1,M2
 6045   NEXT
 6050 END DEF
 6099 !
 6100 DEF GETLPT
 6105   LET LPTLOW=SPEEK(255,16372)
 6110   LET LPTHIGH=SPEEK(255,16373)
 6115   LET LPT=LPTLOW+MOD(LPTHIGH*128+LPTHIGH*128,16384)
 6120 END DEF
 6199 !
 6200 DEF GETLD1
 6205   LET LD1LOW=SPEEK(255,LPT+16*LBLOCK+4)
 6210   LET LD1HIGH=SPEEK(255,LPT+16*LBLOCK+5)
 6215   LET LD1PAGE(CH)=252+IP((LD1HIGH*128)/8192)
 6220   LET LD1(CH)=LD1LOW+MOD(LD1HIGH*128+LD1HIGH*128,16384)
 6225 END DEF
 6299 !
 6300 DEF GETLD2
 6305   LET LD2LOW=SPEEK(255,LPT+16*LBLOCK+6)
 6310   LET LD2HIGH=SPEEK(255,LPT+16*LBLOCK+7)
 6315   LET LD2PAGE(CH)=252+IP((LD2HIGH*128)/8192)
 6320   LET LD2(CH)=LD2LOW+MOD(LD2HIGH*128+LD2HIGH*128,16384)
 6325 END DEF
 6399 !
 7000 DEF GET_EVENT
 7005   LET GET_EVENT=0
 7010 END DEF
 7099 !
 7100 DEF EVENT_HANDLER
 7105   PRINT "Event! ";
 7110 END DEF
 8099 !
 9000 DEF INIT_VARS
 9005   RESTORE 9500
 9010   FOR I=1 TO 9
 9015     READ GFX1(I)
 9020   NEXT
 9025   FOR I=1 TO OHGT
 9030     FOR J=0 TO 8
 9033       LET OFFX1(I,J)=IP(GFX1(I)/2^J)
 9036       LET OFFX2(I,8-J)=MOD(GFX1(I)*2^J-(2^(8-J)-1)*256,256)
 9040     NEXT
 9045   NEXT
 9050   LET ESC$=CHR$(27):LET LEFT$=CHR$(184):LET RIGHT$=CHR$(188):LET UP$=CHR$(176):LET DOWN$=CHR$(180)
 9055   LET DWID=WID*8:LET DHGT=HGT*9
 9090 END DEF
 9099 !
 9100 DEF INIT_VPAGES
 9105   SET VIDEO MODE 15
 9110   SET VIDEO COLOUR 0
 9115   SET VIDEO X WID
 9120   SET VIDEO Y HGT
 9125   OPEN #1:"VIDEO:"
 9130   OPEN #2:"VIDEO:"
 9133   CALL GETLPT
 9135   FOR CH=1 TO 2
 9140     SET #CH:PALETTE RED,GREEN,YELLOW,BLUE,MAGENTA,WHITE,BLACK,243
 9145     SET #CH:BIAS 168
 9150     DISPLAY #CH:AT LBLOCK FROM 1 TO HGT
 9155     CALL GETLD1:CALL GETLD2
 9160   NEXT
 9165   LET CH=1
 9170   SET STATUS OFF
 9175   CLEAR SCREEN
 9180 END DEF
 9199 !
 9500 DATA 255,129,129,129,129,129,129,129,255
9
Egyéb témák / Re: Régészeti leletek
« Last post by Dr.OG on 2019.April.19. 19:23:51 »
Mindkettő: alapból ferde is egy kicsit, meg a szken sem tökéletes...
10
Egyéb témák / Re: Régészeti leletek
« Last post by Lacika on 2019.April.19. 10:56:38 »
Jó mazsolázást!

Az 5 perces adatkazetta borító alapból ilyen ferde? Vagy nem lett egyenesen bescannelve?
Pages: [1] 2 3 4 5 6 7 8 ... 10