THE SEUCK VAULT
Main | Menus | Archive | Tips | Links | Contact
SECRET OF SEUCKCESS
BY JON WELLS - PART 1
This article first appeared in Commodore Format issue 39.
This feature is dedicated solely to the Shoot-'Em-Up Construction Kit. In the three parts we'll be looking at endless possibilities to enhance your SEUCKed games. We're going to be looking at incorporating BASIC for the title screens, high-score tables and end sequences.
In this particular introductory feature we'll be covering the basics, just to get you started. Next follows two listings that insert a reset option in your finished game (saved from SEUCK). The first is for cassette users, the second for disk.
1 REM ** SEUCK TAPE RESET HACK **
2 C=0:FORA=49152TO49273:READB
3 POKEA,B:C=C+B:NEXTA:PRINTCHR$(5);CHR$(147)
4 IFC<>14152 THEN PRINT"DATA ERROR!":GOTO 7
5 PRINT"SAVE HACK FOR FUTURE USE"
6 PRINT"TYPE SYS49152 TO START.."
7 PRINTCHR$(154):END
10 DATA 162,0,189,16,192,157,0,1,232
11 DATA 224,105,208,245,76,0,1,32,86
12 DATA 245,169,16,141,87,4,169,1,141
13 DATA 88,4,76,252,3,169,76,141,217,68
14 DATA 169,16,141,218,68,169,96,141
15 DATA 219,68,141,99,66,169,41,141,98
16 DATA 66,169,53,133,1,141,156,68,162
17 DATA 40,189,66,1,157,16,96,189,48
18 DATA 253,157,224,231,202,16,241,76
19 DATA 72,64,169,1,208,3,76,6,69,120
20 DATA 169,55,133,1,169,0,141,32,208
21 DATA 169,11,141,17,208,76,226,252
22 DATA 162,32,189,224,231,157,48
23 DATA 253,202,16,247,76,58,68,189
1 REM ** SEUCK DISK RESET HACK **
2 C=0:FORA=49152TO49281:READB
3 POKEA,B:C=C+B:NEXTA:PRINTCHR$(5);
4 IFC<>14836 THEN PRINT"DATA ERROR!":GOTO8
5 PRINT"SAVE HACK FOR FUTURE USE":PRINT
6 PRINT"TYPE SYS49152 TO START.."
7 PRINT"THEN LOAD GAME AS NORMAL"
8 PRINTCHR$(154):END
10 DATA 162,0,189,16,192,157,0,1,232
11 DATA 224,113,208,245,76,0,1,169,11
12 DATA 141,40,3,169,1,141,41,3,96,169
13 DATA 24,141,77,4,169,1,141,78,4,76
14 DATA 237,246,169,76,141,217,68,169
15 DATA 16,141,218,68,169,96,141,219,68
16 DATA 141,99,66,169,41,141,98,66,169
17 DATA 53,133,1,141,156,68,162,40,189
18 DATA 74,1,157,16,96,189,48,253,157
19 DATA 224,231,202,16,241,76,72,64,169
20 DATA 1,208,3,76,6,69,120,169,55,133
21 DATA 1,169,0,141,32,208,169,11,141
22 DATA 17,208,76,226,252,162,32,189
23 DATA 224,231,157,48,253,202,16
24 DATA 247,76,58,68,189
Once you've entered the relevant hack, it would be wise to SAVE it so you don't have to type it in again. The tape version is easy to operate - simply enter SYS 49152, press Return and press PLAY on tape.
The disk version however is a little more long-winded. First enter SYS 49152 - this installs an interrupt to access the disk. Now load the finished game with the usual command, e.g. LOAD "MONSTER MASH",8,1 - under no circumstances should you reset your machine, because if you do the hack will be wiped from memory. You must remember that these hacks only work with finished SEUCK games - those that are saved with the construction kit's loader. The listings won't work on modified games, like the ones from the Commodore Format Power Packs.
Once the game has loaded and the title screen appears, you can return to BASIC by hitting the RESTORE key. Don't worry, all the game's code will still be in memory. To prove this, type SYS 16595, which will re-enter the game.
Right, now you know how to restart the game, we can start doing some little bits of code. Hit RESTORE again to enter BASIC, and let's change the colour of your player. This is in location 11411 ($2C93 hexadecimal) for player 1, and 11471 ($2CCF) for player 2. To change this we POKE (or store) the memory location with the relevant numbers.
To change the colour of player 1, use the following POKE:
POKE 11411,(PEEK(11411)AND240)+COLOUR
Where COLOUR is in the range 0-15.
Re-enter the game with SYS 16595 and hey presto! Play the game and you'll find that the player 1 sprite is a new colour... Well, I know it's nothing outstanding, but it's a start and it can only get better.
To gain infinite lives, POKE 19308, 173 for player 1 or POKE 20092,173 for player 2. (That's hex $4B6C for player 1 and $4E7C for player 2). To re-enable lives, change the 173s in both POKEs to 141 instead.
If you want to have a real laugh then change the player's speed. POKE 16550,8 for player 1 and POKE 16569,8 for player 2. (Hex locations $40A6 and $40B9). The POKE speed doesn't have to be 8, you could choose a higher or lower number as well.
The amount of lives is held at 16557 ($40AD) for player 1, and 16575 ($40C0) for player 2. The highest these locations can hold is 9 and no more.
The player collision values (deciding which character stops/kills the player) are held at 16556 ($40AC) and 16575 ($40BF). POKE these locations with 255 ($FF) to enable the player to move over all background characters.
(More locations are in the MEMORY MAP in part 3)
Some of the in-game colours can also be easily changed.
To change the SPRITE MULTI-COLOUR #1:
POKE 16513, colour (hex $4081)
Remembering that the colours range from 0 to 15 only.
Other locations are:
16515 ($4083) - SPRITE MULTI-COLOUR #2
17427 ($4410) - BORDER COLOUR
16517 ($4085) - BACKGROUND COLOUR #1
16518 ($4086) - BACKGROUND COLOUR #2
16519 ($4087) - BACKGROUND COLOUR #3
Next follow a couple of small BASIC programs, but first a word of warning. Don't attempt to include large listings of your own. This is because the start of BASIC is at 2049 ($0801) and the game code starts at 2304 ($0900) - this gives us only 254 bytes of BASIC to play with at the moment, and a larger program would overwrite valuable code.
Anyway, now let's fiddle about with the NMI (Non-Maskable Interrupt). We'll do a simple "flashing colour" program, which will give you an idea of the extra routines that can be incorporated into a SEUCK game.
Type in and RUN this BASIC program:
1 FOR A=24624TO24629:READB:POKEA,B:NEXTA
2 POKE17668,48:POKE17669,96
3 DATA238,32,208,76,148,92
Enter the usual SYS 16595 to restart, and when you start the game the BORDER will flash repeatedly while you play. Now press RESTORE and POKE 24625,33 - this time BACKGROUND COLOUR #1 will flash.
The number codes to POKE into this routine are:
32 - BORDER
33 - BACKGROUND COLOUR #1
34 - BACKGROUND COLOUR #2
35 - BACKGROUND COLOUR #3
37 - SPRITE MULTI-COLOUR #1
38 - SPRITE MULTI-COLOUR #2
To disable the flashing routine, POKE 17668,148:POKE 17669,32. (You must enter both POKEs).
So how's it done? Well, the sound effects routine is jumped to from location 17668-17669 ($5403-$5404), and we've changed this with our listing. So instead of playing the sound effects, it jumps to a new routine at 24624 ($6030). This first flashes the colour and finishes by jumping to the actual sound effects routine in location 23700 ($5C94).
And so we'll move onto a more advanced routine. Type in and RUN this BASIC listing:
1 FOR A=24640TO24657:READB:POKEA,B:NEXTA
2 POKE16829,64:POKE16830,96
3 DATA32,148,92,206,71,96,169,2,208
4 DATA5,169,0,32,51,92,76,56,65
Right, so what does it do?
Well, turn up the volume on your TV and restart the game (with SYS 16595). Now listen. If you've typed it all in correctly you should hear sound effects on your title screen. You can play any of the 24 sound effects that are available in the kit. So, to test this, reset by pressing RESTORE and enter POKE 24651,0-23 (number of the sound to play). Use a value of 24 to play no sound.
The number formation goes like this:
0-7 are the player SFX
8-15 are the enemy SFX
16-23 are the enemy explosion SFX
It would be a good idea to make your "title effect" in enemy explosion 8 (sound effect 23). You could make a warble or low thud sound - this would give you an eerie effect on the title screen.
One last thing - to disable the RESTORE option, POKE 24593,0. Be very careful though, because once you restart the game you'll have no way to reset again.
All right sprite-pickers? Groovy!