SectorWars Posted April 22, 2020 Share Posted April 22, 2020 (edited) 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 ): MicroMart Magazine Coverage (UK 6th Nov 2008 - Issue 1029): Video - Sector Wars GamePlay: Video - Sector Wars (Atari) Arcade Cabinet Gameplay: Related Threads: www.sectorwars.co.uk SectorWars_Backgound_and_Instructions.doc Edited April 22, 2020 by SectorWars 26 9 Quote Link to comment Share on other sites More sharing options...
+Philsan Posted April 22, 2020 Share Posted April 22, 2020 Thank you very much! I will test it on real hardware. Quote Link to comment Share on other sites More sharing options...
Mclaneinc Posted April 22, 2020 Share Posted April 22, 2020 Thank you Vic... Quote Link to comment Share on other sites More sharing options...
TrekMD Posted April 22, 2020 Share Posted April 22, 2020 Thank you! Quote Link to comment Share on other sites More sharing options...
+Philsan Posted April 22, 2020 Share Posted April 22, 2020 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. Quote Link to comment Share on other sites More sharing options...
vitoco Posted April 22, 2020 Share Posted April 22, 2020 59 minutes ago, SectorWars said: 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. Scored 21920 in my first try using Altirra. Quote Link to comment Share on other sites More sharing options...
TGB1718 Posted April 22, 2020 Share Posted April 22, 2020 Very nice game, well done and thanks Quote Link to comment Share on other sites More sharing options...
AHA Posted April 22, 2020 Share Posted April 22, 2020 (edited) 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 April 22, 2020 by AHA Quote Link to comment Share on other sites More sharing options...
Mclaneinc Posted April 22, 2020 Share Posted April 22, 2020 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. Quote Link to comment Share on other sites More sharing options...
vitoco Posted April 22, 2020 Share Posted April 22, 2020 (edited) 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 April 22, 2020 by vitoco 2 Quote Link to comment Share on other sites More sharing options...
SectorWars Posted April 22, 2020 Author Share Posted April 22, 2020 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? Quote Link to comment Share on other sites More sharing options...
SectorWars Posted April 22, 2020 Author Share Posted April 22, 2020 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. 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 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. 1 Quote Link to comment Share on other sites More sharing options...
Wrathchild Posted April 22, 2020 Share Posted April 22, 2020 (edited) 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. test.xex Edited April 22, 2020 by Wrathchild Quote Link to comment Share on other sites More sharing options...
SectorWars Posted April 22, 2020 Author Share Posted April 22, 2020 (edited) 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 ) Edited April 22, 2020 by SectorWars 4 1 Quote Link to comment Share on other sites More sharing options...
vitoco Posted April 22, 2020 Share Posted April 22, 2020 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. Quote Link to comment Share on other sites More sharing options...
SectorWars Posted April 22, 2020 Author Share Posted April 22, 2020 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 . 2 Quote Link to comment Share on other sites More sharing options...
www.atarimania.com Posted April 22, 2020 Share Posted April 22, 2020 Thanks, the game really plays great! 1 Quote Link to comment Share on other sites More sharing options...
Sikor Posted April 22, 2020 Share Posted April 22, 2020 Nice little game. Thx. 1 Quote Link to comment Share on other sites More sharing options...
Faicuai Posted April 22, 2020 Share Posted April 22, 2020 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 ) Am I hallucinating... or is this an Atari Assembler Editor output? Quote Link to comment Share on other sites More sharing options...
+DjayBee Posted April 22, 2020 Share Posted April 22, 2020 11 minutes ago, Faicuai said: Am I hallucinating... or is this an Atari Assembler Editor output? I guess so: 7 hours ago, SectorWars said: What I did was basically saved the RAM from 1C00 to 7FFF from within the Assembler Editor Quote Link to comment Share on other sites More sharing options...
Faicuai Posted April 22, 2020 Share Posted April 22, 2020 Just now, DjayBee said: I guess so: Wow! Vic is definitely a brave man.... I wonder what is the net assembly time (with Antic DMA=off)... ? Quote Link to comment Share on other sites More sharing options...
dash_rendar Posted April 23, 2020 Share Posted April 23, 2020 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 ? Quote Link to comment Share on other sites More sharing options...
McKong Posted April 23, 2020 Share Posted April 23, 2020 Good game 56290 Sector 19 Quote Link to comment Share on other sites More sharing options...
SectorWars Posted April 23, 2020 Author Share Posted April 23, 2020 (edited) 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 April 23, 2020 by SectorWars 1 1 Quote Link to comment Share on other sites More sharing options...
SectorWars Posted April 23, 2020 Author Share Posted April 23, 2020 (edited) 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 Edited April 23, 2020 by SectorWars Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.