Jump to content
IGNORED

XFORTH with COLLISION and TEXT


funkheld

Recommended Posts

here is the xforth at X :

http://atariwiki.strotmann.de/wiki/Wiki.jsp?page=Index

 

and her:

http://atariwiki.strotmann.de/wiki/Wiki.jsp?page=X-FORTH

 

xforth_11c.asm and the xforth1.atr!!!

asm you can compile with atasm.exe

 

here is my xforth.atr with compilat fth.65o from atasm.exe (xforth_11c.asm)

 

start:

FTH.65o

then: INCLUDE"_D:XJOYTEX.F ("_" is the blank)

then: INIT

then text : 100 BEWEGE

an with joystick going 100 or 10x Collision then end.

 

the programm for xforth:

HEX

022F CONSTANT SDMCTL
026F CONSTANT GPRIOR
D000 CONSTANT HPOS0
D01D CONSTANT GRACTL
D407 CONSTANT PMBASE
230  CONSTANT SDLSTL
D40B CONSTANT VCOUNT
9000 CONSTANT SCREEN0
BF60 CONSTANT SCREEN1

02C0 CONSTANT PCOLR0
02C4 CONSTANT COLOR0
02C5 CONSTANT COLOR1
02C6 CONSTANT COLOR2
02C8 CONSTANT COLOR4
0278 CONSTANT STICK0
D004 CONSTANT P0PF
D01E CONSTANT HITCLR

00 VARIABLE XPOS
00 VARIABLE YPOS
00 VARIABLE TESTXY
00 VARIABLE MILLI
00 VARIABLE ODLIST
00 VARIABLE COLOR0O
00 VARIABLE COLOR1O
00 VARIABLE COLOR2O
00 VARIABLE COLOR4O
00 VARIABLE ZC
00 VARIABLE ZZ
00 VARIABLE ZA
00 VARIABLE ZA1

00 VARIABLE DLIST -2 ALLOT
70 C, 70 C, 70 C,
4D C,  SCREEN0  ,
0D0D , 0D0D , 0D0D , 0D0D ,
0D0D , 0D0D , 0D0D , 0D0D ,
0D0D , 0D0D , 0D0D , 0D0D ,
0D0D , 0D0D , 0D0D , 0D0D ,
0D0D , 0D0D , 0D0D , 0D0D ,
0D0D , 0D0D , 0D0D , 0D0D ,
0D0D , 0D0D , 0D0D , 0D0D ,
0D0D , 0D0D , 0D0D , 0D0D ,
0D0D , 0D0D , 0D0D , 0D0D ,
0D0D , 0D0D , 0D0D ,  0D C,
42 C,  SCREEN1  ,
0202 , 02 ,
41 C, DLIST ,

00 VARIABLE SPRITE0 9 ALLOT
FF SPRITE0 C!
81 SPRITE0 1 + C!
81 SPRITE0 2 + C!
81 SPRITE0 3 + C!
81 SPRITE0 4 + C!
81 SPRITE0 5 + C!
81 SPRITE0 6 + C!
81 SPRITE0 7 + C!
FF SPRITE0 8 + C!

: GCLS SCREEN0 C80 0 FILL ;

: INITPM
   SDMCTL C@ 1C OR SDMCTL C!
   3 GRACTL C!
   1 GPRIOR C!
 88 PMBASE C! ;

: DELAY
   ZZ @ 0 DO
   LOOP ;

: PM0POS
   8C00 FF 0 FILL
   SPRITE0 8C00 YPOS C@ + 9 CMOVE
   XPOS C@ HPOS0 C!
   DELAY ;

: ["] ( -- addr len )
   R COUNT DUP 1+ R> + >R ;

: " ( -- addr len )
   22 STATE @ IF
     COMPILE ["] WORD C@ 1+ ALLOT
 ELSE
     WORD DUP C@ 1+ PAD
   SWAP CMOVE PAD COUNT
 THEN ; IMMEDIATE

: CLS 7D EMIT ;

: READFILE"
 FILE" R/O OPEN-FILE
 128 < IF
   SOURCE-ID !
   SCREEN0 C80 SOURCE-ID @ READ-FILE
   SOURCE-ID @ CLOSE-FILE
   0 SOURCE-ID !
 ELSE
   ." Error open file"
 THEN ;

: READFILE
 " D:MULBI.BIN" R/O OPEN-FILE
 128 < IF
   SOURCE-ID !
   SCREEN0 C80 SOURCE-ID @ READ-FILE
   SOURCE-ID @ CLOSE-FILE
   0 SOURCE-ID !
 ELSE
   ." Error open file"
 THEN ;

: LOADPIC
 " D:MULBI.BIN" R/O OPEN-FILE DUP
 IF ." Pic Open Error " . CR ELSE
 DROP DUP SCREEN0 C80 ROT READ-FILE DUP
 IF ." Pic Load Error " . . CR ELSE
 DROP DROP CLOSE-FILE DROP THEN THEN ;

: BEWEGE
 ZA1 !

   BEGIN

       FF ZZ !

       STICK0 C@
       DUP 0E = IF YPOS C@ 1 - YPOS C! 1 TESTXY C! 1 ZA @ + DUP ZA ! . CR PM0POS THEN
       DUP 0D = IF YPOS C@ 1 + YPOS C! 2 TESTXY C! 1 ZA @ + DUP ZA ! . CR PM0POS THEN
       DUP 07 = IF XPOS C@ 1 + XPOS C! 3 TESTXY C! 1 ZA @ + DUP ZA ! . CR PM0POS THEN
           0B = IF XPOS C@ 1 - XPOS C! 4 TESTXY C! 1 ZA @ + DUP ZA ! . CR PM0POS THEN

       P0PF C@ 0 > IF
       500 ZZ !
   TESTXY C@ 1 = IF YPOS C@ 4 + YPOS C! 1 ZC @ + ZC !  PM0POS THEN
       TESTXY C@ 2 = IF YPOS C@ 4 - YPOS C! 1 ZC @ + ZC !  PM0POS THEN
       TESTXY C@ 3 = IF XPOS C@ 4 - XPOS C! 1 ZC @ + ZC !  PM0POS THEN
       TESTXY C@ 4 = IF XPOS C@ 4 + XPOS C! 1 ZC @ + ZC !  PM0POS THEN
       THEN

   ZC @ A = IF ZA1 @ ZA ! THEN

       1 HITCLR C!
       0 TESTXY C!
   ZA @ ZA1 @ = UNTIL

 0 ZC !
 0 ZA !
 0 ZA1 !
   ." wegpunkte/colli erreicht ! " CR ;

: INIT
   INITPM

   70 PCOLR0 C!
   0C COLOR4 C!
   94 COLOR2 C!
   DLIST SDLSTL !
   4 2BF C!
 READFILE
   32 DUP XPOS C! YPOS C! PM0POS
   0 ZC !
   0 ZA !
   0 ZA1 ! ;

 

 

gruss

xforth.atr

Link to comment
Share on other sites

I will not take the spartados.

I always take one dos, which is as small as possible.

when 8bitter is only one obstacle and no dos working tool.

 

I see that volks forth seems to have problems when you go back to DOS

VOLKSFORTH : back to dos with : BYE its ok.

XFORTH : back to dos with : MON its ok.

Edited by funkheld
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...