Jump to content
IGNORED

Sector Wars - New Atari Game Release (Potential 1980s English Software Release)


SectorWars

Recommended Posts

Sector Wars - New Atari Game Release

 

So after 35 years I am finally releasing Sector Wars.  It is a multi-phased shoot 'em up for Atari 400/800/XL/XE computers (32K), written in Assembler.  I just want to say many thanks for all those have shown interest in this game over the years, and sorry for taking so long to finally release it :).

 

As I mentioned before I originally worked on this from around 1983 to 1985 as a teenager, and I actually had started speaking to the UK-based game developer 'The English Software Company' about a release (I met Phillip Morris at a show).  For anyone interested in the history/details I have attached a Word Document, which also includes the gameplay instructions.

 

I hope that some of you at least enjoy this, particularly if you are now trapped at home in Lockdown.  I tested the game in Altirra and Atari800WinPlus.

 

If anyone gets into the game at all, it would be great to hear of any 'High Scores' and the 'Sector Number' that you manage to get to starting at Skill Level 1.

 

Cheers

 

Vic

 

XEX File:

Sector_Wars_by_Vic_Thorn_PAL.XEX

 

Sector Wars - Flyer Mock-up (I am no artist :)):

Sector Wars - Flyer Mock-up

 

 

MicroMart Magazine Coverage (UK 6th Nov 2008 - Issue 1029):

 

MicroMart Magazine Coverage

 

 

Video - Sector Wars GamePlay:

 

 

Video - Sector Wars (Atari) Arcade Cabinet Gameplay:

 

 

Related Threads:

 

 

www.sectorwars.co.uk

 

 

 

SectorWars_Backgound_and_Instructions.doc

Edited by SectorWars
  • Like 26
  • Thanks 9
Link to comment
Share on other sites

plays well on altira, unfortunatly wont work on ultimate cart and 130xe... just hangs when you try and load it.... aw

 

oh yeh, got 22,000 and reached space invader level, i like it!

Edited by AHA
Link to comment
Share on other sites

37 minutes ago, AHA said:

plays well on altira, unfortunatly wont work on ultimate cart and 130xe... just hangs when you try and load it.... aw

I just analyzed the XEX file and found this:

C:> xex-filter.pl Sector_Wars_by_Vic_Thorn_PAL.XEX
Analyzing "Sector_Wars_by_Vic_Thorn_PAL.XEX"...
  -: 65535       [$FFFF]               BINHEAD
  1:  7168-32767 [$1C00-$7FFF] (25600) <- CODE/DATA

There is no RUNAD vector!

 

I just added it to the attached file.

C:> xex-filter.pl -w RUNAD=$1C00 -o SECTWARS.XEX Sector_Wars_by_Vic_Thorn_PAL.XEX
Analyzing "Sector_Wars_by_Vic_Thorn_PAL.XEX"...
  -: 65535       [$FFFF]               BINHEAD
  1:  7168-32767 [$1C00-$7FFF] (25600) <- CODE/DATA
Adding words...
  2:   736-737   [$02E0-$02E1]     (2) RUNAD -> 7168 [$1C00]
Writing "SECTWARS.XEX"...
  -: 65535       [$FFFF]               BINHEAD
  1:  7168-32767 [$1C00-$7FFF] (25600) <- CODE/DATA
  2:   736-737   [$02E0-$02E1]     (2) RUNAD -> 7168 [$1C00]
25612 bytes written

Please try it and comment.

 

SECTWARS.XEX

Edited by vitoco
  • Like 2
Link to comment
Share on other sites

31 minutes ago, vitoco said:

I just analyzed the XEX file and found this:


C:> xex-filter.pl Sector_Wars_by_Vic_Thorn_PAL.XEX
Analyzing "Sector_Wars_by_Vic_Thorn_PAL.XEX"...
  -: 65535       [$FFFF]               BINHEAD
  1:  7168-32767 [$1C00-$7FFF] (25600) <- CODE/DATA

There is no RUNAD vector!

 

I just added it to the attached file.

 

Thanks Vitoco.  Once AHA confirms it works for him I will update the first post.  

 

Can I check with you how I would go about adding it in case I release another version?  What I did was basically saved the RAM from 1C00 to 7FFF from within the Assembler Editor and I put the RUN address, etc. in the first few bytes from 1C00 (8th and 9th byte I think - can't check atm) and I thought that is why it was working from within the emulators.  Basically I took that file as the XEX, but how do people normally create those files?.    I do have a vague recollection of the 02E0-02E1 from years ago but it is so long ago I can't remember how it worked (maybe from the DOS save).  Alternatively I could use your Perl script I guess?  

Link to comment
Share on other sites

2 hours ago, Philsan said:

It works!

Perhaps the top ten table sound is too loud. The top ten table cycles with title screen and when it appears there's the sound.

 

1326166823_SectorWars-2.thumb.jpg.510414abc8e99551d41cef744a856769.jpg

Fantastic - great to see it running on a real Atari after all these years!  I will make a note about the sound.  Thanks!

 

2 hours ago, vitoco said:

Scored 21920 in my first try using Altirra. 

Very good for an early game ;)

 

1 hour ago, TGB1718 said:

Very nice game, well done and thanks

Cheers man - appreciate the comment :thumbsup:

 

1 hour ago, AHA said:

plays well on altira, unfortunatly wont work on ultimate cart and 130xe... just hangs when you try and load it.... aw

 

oh yeh, got 22,000 and reached space invader level, i like it!

Thanks for letting me know.  If you are able to test Vitoco's fix and it works I can update things at my end. 

 

58 minutes ago, Mclaneinc said:

And Vic, in the DOC you mention liking the English Software writers, did you know Jon Williams is on here as I type, he's under the name of Nojeee, Lovely bloke too.

I did read the odd post from Nojeee but didn't realise it was Jon Williams!  It's brilliant to know he still has a passion for Atari development.  Jet Boot Jack was a favourite of mine (and I remember disassembling it has a kid - lol). - my kids even used to play it on an emulator a few years ago.  A classic.  

  • Like 1
Link to comment
Share on other sites

26 minutes ago, SectorWars said:

Can I check with you how I would go about adding it in case I release another version?

You should be able to build the binary directly with AsmEd?

e.g. ASM #D:SOURCE, #D:LIST, #D:OBJECT

This should automatically include the header for you.

 

By adding a new ORG to the end of your existing listing, this will add the needed setting of the run address:

               100  *=$1C00
               110 START JMP INIT
               ...
               300  *=$2E0
               310  .WORD START

E.g. here is what I did in Altirra, using the Device (H:) mapped to a folder from where I can collect the resulting file.

 

image.thumb.png.6d25df5b07c8ee93f9e0c751355d5eda.png

 

image.thumb.png.b3604d75279e732f5166fe9f832c2384.png

 

test.xex

Edited by Wrathchild
Link to comment
Share on other sites

For anyone interested in these kind of things here are a couple of screenshots of the assembly code.  Vectors for all the game routines, and the 'Flagship (Gorf style phase)' main loop.

(Screenshots created by the awesome atasciiprinter utility :))

 

 

vectors.thumb.png.f74ef37e1d43d08dce9455b71cf426c7.png            Flagship_MainLoop.thumb.png.411d2d0a04db636d3293d03b70c12380.png

Edited by SectorWars
  • Like 4
  • Thanks 1
Link to comment
Share on other sites

18 minutes ago, SectorWars said:

Can I check with you how I would go about adding it in case I release another version?  What I did was basically saved the RAM from 1C00 to 7FFF from within the Assembler Editor and I put the RUN address, etc. in the first few bytes from 1C00 (8th and 9th byte I think - can't check atm) and I thought that is why it was working from within the emulators.  Basically I took that file as the XEX, but how do people normally create those files?.    I do have a vague recollection of the 02E0-02E1 from years ago but it is so long ago I can't remember how it worked (maybe from the DOS save).  Alternatively I could use your Perl script I guess?

I did not examine the contents of your game. I just analize the file structure. Now that I opened it to see what does it have, I can see a lot of JMP vectors starting from $1C00, but the first vector just jumps to $2000, which I guess that it is the real start address.

 

I was writing some instructions, but @Wrathchild did it better...

 

4 minutes ago, SectorWars said:

For anyone interested in these kind of things here are a couple of screenshots of the assembly code.  Vectors for all the game routines, and the 'Flagship (Gorf style phase)' main loop.

Oh! I just see where all thos JMP instructions came from...  ;-)

 

Of course, you can use my perl script to manipulate the AS/ED output and get the final XEX to distribute, including the options to fill gaps or to merge and sort game pieces from different sources.

 

 

Link to comment
Share on other sites

Thanks Wrathchild - that's a great help.  Will take a look later.

 

Thanks Vitoco for starting to write instructions :).  Yes $2000 is the run address :).   I was searching last night for something that could screenshot very long Atari listings and keep the authentic look, and couldn't believe it when I came across atasciiprinter - I only just realised it was your utility.   Thanks for that :thumbsup:.

  • Like 2
Link to comment
Share on other sites

6 hours ago, SectorWars said:

For anyone interested in these kind of things here are a couple of screenshots of the assembly code.  Vectors for all the game routines, and the 'Flagship (Gorf style phase)' main loop.

(Screenshots created by the awesome atasciiprinter utility :))

 

 

vectors.thumb.png.f74ef37e1d43d08dce9455b71cf426c7.png            Flagship_MainLoop.thumb.png.411d2d0a04db636d3293d03b70c12380.png

Am I hallucinating... or is this an Atari Assembler Editor output?

Link to comment
Share on other sites

14 hours ago, Faicuai said:

Am I hallucinating... or is this an Atari Assembler Editor output?

Yes that is correct - I think I must have had a screw loose - lol.  When I wrote the game back in the 80s I only had an Atari Assembler Editor cartridge, alongside my Atari 400 48K.  For the first 6 months or so I was also use a 410 tape deck so it was painfully slow, but as the number of source files approached 60 I eventually I got a 1050 so that sped thing up.

 

As the game obviously got larger I needed to come up with a way of managing all the source files and the object code.  Even to this day I don't know what other people did - I am sure there were/are better ways, but basically I developed around 150 separate source files.  At the start of a development session I would load the object code which contained all the assembled game code along with graphics data, etc.  Then I would load one source file and work on that.  At the end of a session I would just save the object code with everything compiled and up-to-date.  I never assembled everything in in go.

 

I would always load source files from $8000 (ie: LOMEM 8000), so the game was constrained to 32K.  The real pain was if I needed to change/enhance a previously completed source file and it meant it would require more RAM, then I would need to shift down all other code in the memory that followed it.  That is why I used vectors (as shown in my screehshot earlier) as that meant I would only need to recompile the programs further down in RAM and then change the JMP vectors and not all the individual JSRs used throughout the code.  The process sounds painful but tbh I mostly completely developed/tested a module until I was finished with it, so I didn't often need to go back and change stuff.   The concept of the vectors was something that I came up with myself (I called them pointers at the time :)), but I later learned that it was a quite commonly used concept.

 

Does anyone else know how other people used to do Assembler Game Development in the old days?   Also how are people doing it nowadays with PCs, etc.  ?

Edited by SectorWars
  • Like 1
  • Thanks 1
Link to comment
Share on other sites

2 hours ago, dash_rendar said:

 

F00000K....

What an amazing Game... The GFX is... But the Action is SUPERB!!!! Thank You...

Want a Cover to Print and a Disklabel ? PLZZZ. I played the Game for 2 hours... It MUST have a Case to show it into our Vitrines ?

Thanks - glad it can be enjoyed today.  It would be nice to see artwork for the game, but I am not artistic at all :)

 

42 minutes ago, McKong said:

Good game

 

56290 Sector 19

Very good - so you cycled around the 8 phases twice :thumbsup:

Edited by SectorWars
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...