Page 3 of 8

Re: DarkStar 2

Posted: Fri Nov 25, 2011 4:09 pm
by Moggy
sirmorris wrote:Hi Moggy - yep - I gone and introduced a regression in this build :P I'll fix that later this morning.

What kind of glitches are you seeing?? Could it be zxpand loading the title screen??

C

Indeed Charlie title screen, top and bottom border little lines appear and a twitch of screen.

Re: DarkStar 2

Posted: Sat Jan 28, 2012 12:50 am
by zx81jens
hi guys!

i am currently working on a ZX81-ARCADE with ZXPand + sound. DSTAR2 is the perfect game for that!!!! however, the control should be adjusted...

5,6,7,8 for movement, 0 (zero) for switching and SHIFT+5 for retry (quit is not necessary)

is it possible to change that?? the game should be AUTOSTART, too :-)

greetings an thanx
jens

Re: DarkStar 2

Posted: Sat Jan 28, 2012 9:12 am
by sirmorris
It already supports both sets of controls :)

C

Re: DarkStar 2

Posted: Sat Jan 28, 2012 9:21 am
by zx81jens
i hate the 5,6,7,8,0-keys also - but many (older) games use them - so i had to decide for only one joystick-configuration :-(

i´ll present the ZX81-ARCADE in march at the 16th-user-meeting in germany!!

grretings
jens

Re: DarkStar 2

Posted: Tue Jan 31, 2012 3:32 pm
by sirmorris
OK - I'm happy with the latest version BUT it requires RAM at 8K ... is that a problem?

** EDIT - is the collection meant for zxpand or for all users with hires/sound capable machines?

C

Re: DarkStar 2

Posted: Sun Feb 05, 2012 12:28 pm
by siggi
Hi Charlie,
I played with the 1.3 version on my Laptop. I don't have a ZXPAND connected to it, but I have a Sascha's sound card connected . But I don't get any sound :(

And about LOAD/SAVE of hires screens or highscores: could you please move LOAD/SAVE to the BASIC section of the program, so that users, who want to load/save using floppy, USB-sticks, MEFISDOS, FAT32 MMC cards or Ethernet could modify the BASIC section to load/save on their mass storage devices?

Siggi
--------------------------------------------------------------------------------------------------------------------------------------------------------
EDIT: A solution for LOAD/SAVE outside the C program could be:
start the C program with
2 GOTO USR 16514

Then the C program could use "exit(200)" or " exit(400) to go to BASIC line 200 or 400 (e.g. to do a LOAD of the startup screen from USB stick)

The BASIC should then (after having done its job) "GOTO 2" to return to the C program. The C program can save its internat state in global or static variables (they are initialised during compile time only and keep their values after restart of the C program), so that it knows where to continue the game ...

Siggi

Re: DarkStar 2

Posted: Mon Feb 06, 2012 1:35 pm
by sirmorris
This was intended to be a showcase for ZXpand, so I didn't really cater for other hardware set-ups. I'm making some changes to remedy this.

The first round is done - I've separated the AY detection from the ZXpand detection and now any AY chip at $DF/1f, $CF/0F should be detected.

The next step will be to add code to call out to BASIC for the file operations if no zxpand is present. I like your suggestion Siggi but I think the in-game saving of hiscores would complicate the logic unnecessarily - have you any experience of z88DK's BASIC functions interface? Unfortunately my experience of this tool set isn't a particularly positive one. I have the constant feeling that things are holding together with thin threads :?

YMMV :D

C

Re: DarkStar 2

Posted: Mon Feb 06, 2012 4:12 pm
by siggi
sirmorris wrote: I like your suggestion Siggi but I think the in-game saving of hiscores would complicate the logic unnecessarily
As I wrote above: static and global variables hold their values when the program is restartet. So if highscore and other things are hold in those variables, a SAVE of the program also saves that variables (e. g. highscore) and LOAD loads the "frozen" values of the last SAVEd state. So highscore need not to be saved separately.
have you any experience of z88DK's BASIC functions interface?
No. As I understood the description, the C program can execute a single BASIC statement. But that might not be enough:
using e. g. a ZX96 with floppy drive or MEFISDOS those lines need to be executed:

Code: Select all

100 POKE 8,1   /* page in EPRROM at 8K with floppy driver */
110 PRINT USR 8192,... /* do LOAD or SAVE */
120 POKE 8,5   /* page out EPROM and page in RAM at 8K */
130 goto 2 /* back to C */
or for MEFISDOS

Code: Select all

100 POKE 8,13   /* page in EPRROM at 8K with MEFISDOS and RAM above 48K  */
110 PRINT USR 8192,... /* do LOAD or SAVE */
120 POKE 8,5   /* page out EPROM and page in RAM at 8K and page in normal RAm at 48K */
130 GOTO 2 /* back to C */
So the z88dk's C to BASIC interface IMHO would not help ...

Siggi

Re: DarkStar 2

Posted: Mon Feb 06, 2012 4:45 pm
by sirmorris
Automatic save occurs down inside the game loop. restarting the game at that point - no matter how many static variables are saved - would be nasty.

If we went with the re-start approach, then I wouldn't auto-save the high scores. This could be done at program exit, with the player having the responsibility to make sure that the save button is pressed before quitting...

If you're happy with this compromise then I can go ahead with it.

C

Re: DarkStar 2

Posted: Mon Feb 06, 2012 5:01 pm
by sirmorris
Thinking about it - why so complex?

Load the screen & hi-score in BASIC, invoke the machine code, and save the high score at exit.

A few pokes would tell the program if data was loaded, and on exit a quick peek would indicate if high score data needs to be saved.

Of course, z88dk doesn't make adding BASIC very simple - so I may have to create a tool to help...

C