Jump to content
IGNORED

Dark Star


Recommended Posts

I *really* like Dark Star for the Jupiter Ace. The Jupiter Ace has the same screen resolution as the TI: 32x24 so this game is very easy to do on the TI. It could really be done in any language.

 

http://www.youtube.com/watch?v=pQUt7r5OMC8

 

In TF it would be nice. You could just draw each level in the editor! No source code required to design each level. Then each level can be loaded and displayed very easily. If you want to change a level, just edit it in the block editor!

Much the same, just another variant, and something I did less than a month ago. A stupid example of how I waste my time or enjoy fooling around - no strings.

 

“Coding by example” is a way to go. Maybe you could do a line by line, from XB to TF, conversion (here in this thread) ? Easy to include in your book (under Examples or indeed Coding by examples).

 


Edited by sometimes99er
Link to comment
Share on other sites

Hmmm.... How about...

 

13 VALUE X  \ man x coordinate
9 VALUE Y  \ man y coordinate

0 VALUE XT \ temp x
0 VALUE YT \ temp y
0 VALUE MOVES \ number of moves 

: DrawScreen ( --)
 1 GMODE  \ 32 column graphics mode
 1 SCREEN \ black screen
 DATA 4 $FF00 $FF00 $FF00 $FF00  96 DCHAR
 DATA 4 $1818 $3CE7 $E73C $1818 104 DCHAR
 DATA 4 $0000 $0018 $1800 $0000 105 DCHAR
 DATA 4 $3C42 $8199 $9981 $423C 112 DCHAR
 12 6 8 COLOR   13 11 0 COLOR   14 3 0 COLOR
  2  8 96 16 HCHAR	 3 23 96 11 VCHAR
 14  8 96 16 HCHAR	 3  8 96 11 VCHAR
  5 11 96  1 HCHAR	 6 22 96  1 HCHAR
 12 12 96  1 HCHAR	11 19 112 1 HCHAR
 13 TO X   9 TO Y	  X  Y 104 1 HCHAR  
;

: CheckPos ( x y -- flag)
 XT YT GCHAR \ read screen at xt,yt
 CASE
 96 OF 1 ( hit wall) ENDOF
112 OF 2 ( allow loop to exit) ENDOF
\ othwerwise...
X Y 105 1 HCHAR \ draw trail
XT TO X   YT TO Y \ update x & y to new position
X Y 104 1 HCHAR \ draw man in new position
MOVES 1+ TO MOVES \ increase moves counter
0 \ push 0 flag (prevent loop from ending)
 ENDCASE
;

: Game ( --)
 DrawScreen   0 TO MOVES
 BEGIN
0 JOYST \ scan joystick #1
CASE
  2 OF ( left)  Y 1- TO YT   X TO XT  CheckPos ENDOF
  4 OF ( right) Y 1+ TO YT   X TO XT  CheckPos ENDOF
  8 OF ( down)  X 1+ TO XT   Y TO YT  CheckPos ENDOF
 16 OF ( up)	X 1- TO XT   Y TO YT  CheckPos ENDOF
 0 \ default case (joystick in centre position)
ENDCASE
 2 = UNTIL \ loop until CheckPos returns 2 on the stack
 ." HURRAH! IN " MOVES U. ." MOVES!" CR
;

 

Just ask if there's anything you don't understand...

 

Explanation of DATA

Explanation of DCHAR

Explanation of COLOR

Explanation of JOYST

 

(open the above links in a new tab)

 

TF Color Sets.pdf TF COLOR set reference (they are numbered differently to BASIC, since TF gives you access to all 32 colour sets).

 

Link to comment
Share on other sites

Ah, thanks. Thanks for taking the time – doing the conversion. Actually looks pretty straightforward.

 

Hmmm ... Guess I could try and tweak it into something like Dark Star (one screen to start with). The ZX version is apparently also black & white.

 

The source might be here. Lots of versions here - even MSX.

Edited by sometimes99er
Link to comment
Share on other sites

Here's the story so far:

 

\ dark star
forget levelsblock
72 CONSTANT LevelsBlock \ starting block for levels
0 VALUE Column
0 VALUE Row

HEX
: BrickUDG
  DATA 4 7FAA D5A8 D0A0 C080  80 DCHAR
  DATA 4 FEA9 4101 0101 0101  81 DCHAR
  DATA 4 8080 8080 8080 807F  82 DCHAR
  DATA 4 0101 0101 0101 01FE  83 DCHAR ;

: RobotUDG
  DATA 4 0000 030F 1F1F 3F3F  84 DCHAR
  DATA 4 3F3F 1F1F 0F07 0000  86 DCHAR
  DATA 4 0000 C030 D8E8 ECFC  85 DCHAR
  DATA 4 FCFC F8F8 F0E0 0000  87 DCHAR ;
 
: HelperUDG
  DATA 4 007F 4D5F 7070 5070  88 DCHAR
  DATA 4 7050 7070 5F4D 7F00  8A DCHAR
  DATA 4 00FE B2FA 0E0E 0A0E  89 DCHAR
  DATA 4 0E0A 0E0E FAB2 FE00  8B DCHAR ;
 
: OrbUDG
  DATA 4 0000 0000 0304 0808  8C DCHAR
  data 4 0808 0403 0000 0000  8E DCHAR
  data 4 0000 0000 C020 9050  8D DCHAR
  data 4 1010 20C0 0000 0000  8F DCHAR ;
 
: EmptyUDG
  DATA 4 0 0 0 0  90 DCHAR ;
DECIMAL

: DefineGraphics
16 1 15 COLOR  17 1 15 COLOR  18 1 15 COLOR
BrickUDG  RobotUDG  HelperUDG  OrbUDG  EmptyUDG ;



: NextColumn Column 2+ TO Column ;
: NextRow	Row 2+ TO Row ;

: DrawIt ( a b c d --)
Column 1+ Row 1+ GOTOXY  EMIT
Column	Row 1+ GOTOXY  EMIT
Column 1+ Row	GOTOXY  EMIT
Column	Row	GOTOXY  EMIT
NextColumn
;

: DrawBrick  128 129 130 131 DrawIt ;
: DrawRobot  132 133 134 135 DrawIt ;
: DrawHelper 136 137 138 139 DrawIt ;
: DrawOrb	140 141 142 143 DrawIt ;
: DrawEmpty  144 144 144 144 DrawIt ;

: DecodeLevel ( level --)
 \ loads the level from a block, decodes it, and displays it
 PAGE  0 TO Column   0 TO Row
 LevelsBlock + BLOCK \ -- vdpaddr get the block
 DUP 0= ABORT" Cannot load level from disk"
 9 0 DO		\ 9 rows
16 0 DO	 \ 16 columns
  DUP	   \ dup the address
  V@		\ get a byte from VDP
  CASE
	ASCII B OF DrawBrick  ENDOF
	ASCII @ OF DrawRobot  ENDOF
	ASCII # OF DrawHelper ENDOF
	ASCII * OF DrawOrb	ENDOF
	\ otherwise...
	DrawEmpty   \ draw empty space
  ENDCASE
  1+			\ advance to next position in block
LOOP
48 +			\ advance to start of next line in block
NextRow		 \ advance to next screen row
0 TO Column	 \ reset column
 LOOP
 DROP
;

: Go 1 GMODE
DefineGraphics
0 DecodeLevel ;

 

http://www.youtube.com/watch?v=-NALNEkemkU

Link to comment
Share on other sites

  • 2 years later...

Looks like resurecting old topics is becoming a hobby for me...

 

 

So how does one load this kick-ass game on a REAL 4A without a TurboForth1.2 Command Module???

 

Even more important (for folks like me who are eprom burning illiterate (for now)), where the heck can one acquire a TurboForth cartridge of ANY version??? I would really like to play with this language now that I've seen what it can do, but only if I can eventually use it WITHOUT an emulator. I've spent days googling and only found a 4 year old post saying they are "occassionally available on ebay", but in searching ebay I couldn't even find an old listing.

 

So am I going to have to mortgage my home when I do find one, or does someone who has lost interest in it have one that they would be willing to sell for less than my soul and first born child.

 

In the interim, assistance in getting Dark Star working on a REAL TI please!!! (yes I have both a decked-out PEB and a nanoPEB (and she wonders why we're broke this month! shhhh!) but no f18a)

Link to comment
Share on other sites

Cartridge boards are generally available from me directly as assembled objects, ready to insert the ROM of your choice as acquired from Atrax, for $16 each, shipped to a US address. They fit perfectly into a TI case. I'm expecting a shipment of the bare 128K boards needed for TurboForth (they are also used for fbForth 2.0, Never-Lander, Arcturus, Rasmus cartridges, and many more) late next week, as I have used up my current batch for a soon-to-be-completed project. There are still a few of the bare boards up on the Arcadeshopper site--and I'll restock him as soon as my new boards arrive.

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...