Jump to content
IGNORED

New game revamp/release - Moon Shuttle VBXE edition


Rybags

Recommended Posts

I spent several hours yesterday and today working on this. It's a VBXE enhanced version of a game I wrote back around 25 years ago.

 

It's in Basic + Assembler - probably should have given it a different name given that there's an arcade/home game of the same name.

 

It will also work on non-VBXE equipped hardware or via emulation, of course with somewhat reduced amount of colour.

 

moonshut.zip - note: the original upload was in error, this is now the proper file

 

(extract to a H: directory or run via APE from a HDD Mirror.)

 

http://www.youtube.com/watch?v=ThMP-5pjHNM

Edited by Rybags
Link to comment
Share on other sites

cool... it seems really top notch code... ;)

 

i am still searching for some time to enhance Gridrunner... can you tell me how you test for VBXE hardware and how did you use the enhanced colors?

 

never played with the color ram and would like to enhance bits and pieces and do some test code in turbo basic first...

Link to comment
Share on other sites

VBXE test is straightforward... just check $D640. $FF = nothing there. Then check $D740, same story.

 

Colour RAM is easy too - just an XDL with 24 blank lines followed by colourmap, cell size 8x8 repeat 191.

 

Addressing colour RAM is by 4-byte boundary since you have 4 bytes per cell.

 

In this instance I only use the ability to change PF1 colour (with independent PF1/2 colour set). Of course you have other stuff like PF0, PF2, the ability to have PF2 replaced by PF3 in 1/8th cell stripes, and the ability to switch from hires to multicolour mode on a per cell basis.

 

I'm tossing up ATM whether to do another game enhancement - likely an old commercial game, or whether to start something afresh in 100% Assembler.

 

I toyed with the idea of enhancing Nautilus - but really that game looks good out of the box.

Link to comment
Share on other sites

Looks very nice in the VBXE.

 

It also reminds me quite a bit of my first (and last) video game -- "Treasure Quest" -- also a BASIC/assembler hybrid. (What an original title!) In my game the player commanded a submarine that had to pick up scattered "treasures" while avoiding deadly obstacles and depth charges from patrolling destroyers overhead. The wild success ;) of my game after hours and hours of work and frustration was instrumental in confirming my previous choice of a "day job."

 

-Larry

 

I spent several hours yesterday and today working on this. It's a VBXE enhanced version of a game I wrote back around 25 years ago.

 

It's in Basic + Assembler - probably should have given it a different name given that there's an arcade/home game of the same name.

 

(snip...)

Link to comment
Share on other sites

VBXE test is straightforward... just check $D640. $FF = nothing there.

 

Many XE computers, when there is nothing on an I/O page, do not return $FF, but some flipping values ($00, page number, or sth like that). So your test is likely to fail on such a machine which does not contain VBXE.

 

You should first try out the page $D6 for MEMAC B registers (i.e. try to enable MEMAC B bank $00 and see if the memory has changed under $4000), and if this succeeds, read out VBXE core revision (if this is relevant). If this test fails on $D6, rerun it for $D7.

Link to comment
Share on other sites

boy.... coding on a real hardware is so oldschoolish... ;) i am always typing wrong... ;) but it is like bicycle riding... you never forget that... ;)

 

but 1084, 40 collums plus macro ass xe vs eclipse ide... well... ;) but at least i have connected my sio2usb interface so i can boot quickly my working environment...

 

;)

Link to comment
Share on other sites

VBXE test is straightforward... just check $D640. $FF = nothing there. Then check $D740, same story.

 

Colour RAM is easy too - just an XDL with 24 blank lines followed by colourmap, cell size 8x8 repeat 191.

 

Addressing colour RAM is by 4-byte boundary since you have 4 bytes per cell.

 

In this instance I only use the ability to change PF1 colour (with independent PF1/2 colour set). Of course you have other stuff like PF0, PF2, the ability to have PF2 replaced by PF3 in 1/8th cell stripes, and the ability to switch from hires to multicolour mode on a per cell basis.

 

I'm tossing up ATM whether to do another game enhancement - likely an old commercial game, or whether to start something afresh in 100% Assembler.

 

I toyed with the idea of enhancing Nautilus - but really that game looks good out of the box.

 

Rybags... can you post the XDL from your source? i don't want to spend time debugging my own code while finding the way to adress the color ram...

Link to comment
Share on other sites

XDL is done by the Basic program at line 7040. XDL itself is small, contained in DATA at lines 7060-7063.

 

24 blank, then 192 lines of 8x8 attribute cells in normal width.

 

I have a USR routine in ATR$ that paints attributes.

 

Calling format is USR(routine,startx,starty,value,offset [,step,number])

where startx,starty are screen x/y to paint first attribute.

value gets stored in attribute cell.

offset is value 0-3 to select which attribute cell to paint (PF0,PF1,PF2,control)

step is amount to add to attribute address each step, e.g. 4 to do horizontal line, 160 for vertical line

number is the number of cells to paint, e.g. 40 for a full horizontal line of text.

 

A MEMAC window is kept open at $8000 for access to the XDL and atrribute cells. This program doesn't use any overlays, only attributes.

  • Like 1
Link to comment
Share on other sites

I made a gross error with the program uploaded - the XDL wasn't being pointed to properly so the colourmap won't work how it should on the version in the top post.

 

Don't know how I didn't pick it up before... I did powerdown but maybe VBXE didn't clear out properly.

 

This version should have all the proper features:

 

moonshut.zip

Link to comment
Share on other sites

Maybe for Gridrunner, you could just do a quick/dirty improvement of the actual grid. Instead of just solid bars, use the 640 pixel mode and have progressive luma for a 3D look.

 

Leave GTIA priority on top, don't print the normal grid if VBXE is present, then just toggle the VBXE overlay on/off as needed.

Link to comment
Share on other sites

I don't think the Atari++ VBXE version is very compatible?

 

I just did this enhancement on the real machine... the extra Asm stuff was about 10 minutes work on the PC, colourmap stuff is pretty quick to do, just check as you go along.

 

A grid would be pretty easy to do - just a set of blit commands would take care of it.

Link to comment
Share on other sites

I am hearing the guys moining that blowing a 3,5 kb game up to a "disc size" game... ;)

 

Ignore the nay-sayers ;) I'd usually be the first to whine about a small 3.5K game like that bloating, especially since GR was single handedly responsible for me failing horribly at school that term, but I think it would be in the spirit of the game and the Llamasoft trippy nonsense.. And if you could do some nice VBXE grid(ish) background (that don't distract from the foreground, and are reactive to gameplay) I think even the beardy one himself wouldn't cry like a big girl.. For once ;)

 

As long as it's got the original Vic-20 mode in there, and the VBXE stuff is an option (even with a VBXE detected) who's really going to complain ? I reckon only those for whom complaining is a professional pastime ;)

  • Like 1
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...