Nuclear Invaders - Now with ZXPand support

General games-related topics
User avatar
kmurta
Posts: 305
Joined: Tue Sep 01, 2009 5:04 am
Location: Belo Horizonte - BR
Contact:

Nuclear Invaders - Now with ZXPand support

Post by kmurta »

Nuclear Invaders is a game developed by Dancresp for multiples plataforms: Dragon, MSX, ORIC, ZX Spectrum and Jupiter Ace. The game was developed in BASIC (the Jupiter version is in forth, of course) and was made available with commented listing in the spanish forum "Zona de Pruebas".

I ported the Jupiter Ace version to Toddy Forth adding some improvements (extra life, sound effects, UFO movement) and available here in this forum some days ago. Unfortunately that version requires the CHR128 mod and not works with the ZXPand :(

To correct this, now I present a new version with WRX support that will work with ZXPand, incluing support for joystick (not tested).

Image

Downloads can be made here:
http://sinclairzxworld.com/viewtopic.ph ... 746#p13746
1 x ZX81, 2 x TK85 , 1 TK82C, 1 TK95, 1 x Alphacom 32 printer, 1 x ZXpand
ZeXtender board, Joy81 - Programmable Joystick Controller, Turbo Sound 81
http://zx81.eu5.org
https://toddysoftware.itch.io/
sirmorris
Posts: 2811
Joined: Thu May 08, 2008 5:45 pm

Re: Nuclear Invaders - Now with ZXPand support

Post by sirmorris »

Nice! Great work as always Kelly!
RWAP
Posts: 1348
Joined: Thu May 08, 2008 8:42 am
Location: Stoke-on-Trent, UK
Contact:

Re: Nuclear Invaders - Now with ZXPand support

Post by RWAP »

Love it - excellent :)
User avatar
kmurta
Posts: 305
Joined: Tue Sep 01, 2009 5:04 am
Location: Belo Horizonte - BR
Contact:

Re: Nuclear Invaders - Now with ZXPand support

Post by kmurta »

Sorry :oops:

I forgot to adjust the checking values for keys/joystick in routine MOVER, so the ZXPand joystick probably will respond with swapped directions (moving stick right go to left and vice versa). The corrected version is available for download in previous location and the directionals keys are changed to K and L. Indeed, all keys bellow (and combinations) are allowed:

Code: Select all

LEFT    RIGHT   FIRE
 X        Z     SFT
 D        S      A
 E        W      Q
 3        2      1
 8        9      0
 I        O      P
 K        L      NL
 M        .     SPC
For use with JOY81 joystick controller, you have to use the keys X, Z and SHIFT in the JOYCFG.TXT file.

Please, I don't have how to test if the ZXPand joystick routine is ok, then I ask that someone check for me if it is working.

Thanks.

Edited: my friend Marcus test it and the joystick works 8-)

http://www.youtube.com/watch?v=6bqOJ12JLNM

Thanks Marcus!
1 x ZX81, 2 x TK85 , 1 TK82C, 1 TK95, 1 x Alphacom 32 printer, 1 x ZXpand
ZeXtender board, Joy81 - Programmable Joystick Controller, Turbo Sound 81
http://zx81.eu5.org
https://toddysoftware.itch.io/
User avatar
siggi
Posts: 990
Joined: Thu May 08, 2008 9:30 am
Location: Wetterau, Germany
Contact:

Re: Nuclear Invaders - Now with ZXPand support

Post by siggi »

Hi Kelly
is there also a version avaible for non-ZXPAND-Systems, but with Sound-card (like my laptop-Zeddy). This version does not work with my laptop-Zeddy :-(

Siggi
My ZX81 web-server: online since 2007, running since dec. 2020 using ZeddyNet hardware
http://zx81.ddns.net/ZxTeaM
User avatar
kmurta
Posts: 305
Joined: Tue Sep 01, 2009 5:04 am
Location: Belo Horizonte - BR
Contact:

Re: Nuclear Invaders - Now with ZXPand support

Post by kmurta »

siggi wrote:is there also a version avaible for non-ZXPAND-Systems, but with Sound-card (like my laptop-Zeddy). This version does not work with my laptop-Zeddy :-(
Siggi, the WRX version has support for ZXPand joystick but not requires a ZXPand to work.

The requirements is 32K of RAM mapped from 16K~48K, with HR display at $A000 and characters and forth stacks from $B800 to $BFFF.

This is not conform with your laptop?

Once we figure out what might be wrong, I will gladly make available a version for your laptop ;)
1 x ZX81, 2 x TK85 , 1 TK82C, 1 TK95, 1 x Alphacom 32 printer, 1 x ZXpand
ZeXtender board, Joy81 - Programmable Joystick Controller, Turbo Sound 81
http://zx81.eu5.org
https://toddysoftware.itch.io/
User avatar
siggi
Posts: 990
Joined: Thu May 08, 2008 9:30 am
Location: Wetterau, Germany
Contact:

Re: Nuclear Invaders - Now with ZXPand support

Post by siggi »

Hi Kelly
are you calling some routines within the ZXpand-ROM (which replaces some parts the ZX81 rom) to read the ZXpand-Joystick?
If yes: those routines do not exist in the "normal" ZX81-ROM and will crash a Zeddy without ZXPAND.

The typical behaviour of other ZXPAND/NON-ZXPAND programs is to detect, whether ZXPAND is attached and only then call ZXPAND-specific routines.

Siggi
My ZX81 web-server: online since 2007, running since dec. 2020 using ZeddyNet hardware
http://zx81.ddns.net/ZxTeaM
User avatar
kmurta
Posts: 305
Joined: Tue Sep 01, 2009 5:04 am
Location: Belo Horizonte - BR
Contact:

Re: Nuclear Invaders - Now with ZXPand support

Post by kmurta »

Siggi, there is no call to ZXPand ROM. The joystick is readed directly with out/in instructions:

Code: Select all

        ld a,$a0      ; start the joystick value latching process
        ld bc,$e007
        out (c),a
        push bc
        .
        .
        .
        pop bc
        in a,(c)      ; read the previously latched joystick value
This IO address ($e007) conflict with your hardware?

By the way, what happen when you load the game?

Can you see anything on screen or the system crash immediately?
1 x ZX81, 2 x TK85 , 1 TK82C, 1 TK95, 1 x Alphacom 32 printer, 1 x ZXpand
ZeXtender board, Joy81 - Programmable Joystick Controller, Turbo Sound 81
http://zx81.eu5.org
https://toddysoftware.itch.io/
User avatar
siggi
Posts: 990
Joined: Thu May 08, 2008 9:30 am
Location: Wetterau, Germany
Contact:

Re: Nuclear Invaders - Now with ZXPand support

Post by siggi »

Hi Kelly
everything works as expected (incl. sound), when I load the program using the low-level command-line USB driver :-)

The problem is "inside" UFM, which is the screen-oriented userinterface "sitting" above the USB driver. UFM is written in C, and the Z88dk routines expect to work with an expanded D-file. So if the loaded program has a collapsed or non-standard display file, the C routines cannot handle that. Some problems (like handling collapsed D-Files) I could solve in UFM, but not all :?
The same problem arises, when I try to load Dr. Beeps 1K hires games (having very special D-files :D ). They also can only be loaded using the low-level USB driver ...

Perhaps your program does not have a standard D-file, because you don't need it when running always in hires?

Thanks for that great game :P
Siggi
My ZX81 web-server: online since 2007, running since dec. 2020 using ZeddyNet hardware
http://zx81.ddns.net/ZxTeaM
User avatar
kmurta
Posts: 305
Joined: Tue Sep 01, 2009 5:04 am
Location: Belo Horizonte - BR
Contact:

Re: Nuclear Invaders - Now with ZXPand support

Post by kmurta »

siggi wrote: Perhaps your program does not have a standard D-file, because you don't need it when running always in hires?
You're right, I just cut off the dfile to free up more memory.
siggi wrote: Thanks for that great game :P
You're welcome, but the credits must go to Dancresp that create the game. I just added some minor improvements ;)
1 x ZX81, 2 x TK85 , 1 TK82C, 1 TK95, 1 x Alphacom 32 printer, 1 x ZXpand
ZeXtender board, Joy81 - Programmable Joystick Controller, Turbo Sound 81
http://zx81.eu5.org
https://toddysoftware.itch.io/
Post Reply