The thread of POKEs

General software. From trouble with the Banyan Tree to OCP Art Studio, post any general software chat here. Could include game challenges...
Post Reply
User avatar
Alessandro
Dynamite Dan
Posts: 1908
Joined: Wed Nov 15, 2017 11:10 am
Location: Messina, Italy
Contact:

Re: The thread of POKEs

Post by Alessandro »

R-Tape wrote: Sun Nov 04, 2018 3:14 pm One for S.E.U.D developers. These stop bonus 1 + 2 being automatically collected when they fall off the end of the screen:

Code: Select all

49191,201
49206,201
Thanks Dave - this is much simpler than the solution I found following Jonathan's advice (here).

Some other POKEs for SEUD (thanks to Dave and Jonathan):
  • POKE 29679,156 to enable PAPER color change.
  • The keycodes are stored between 50501 and 50507 and must be changed
  • Player score is located at 51340.
  • Lives are located at 48429.
  • A routine at 48905 colours the screen to whatever INK colour you have chosen, if you poke in an instruction at 48915 to jump to your own colour routine it arrives there with the HL register pair pointing at the colour for that level.
  • To avoid making the SEUD game (or level) restart after the player reaches the end: the three bytes at 48561 are the ones which restart the game. There is a JP Z,LOOPLV (202, 167, 187) instruction at that address. Changing that to a RET Z followed by two NOPs (200, 0, 0) will exit the game.
I also found, by following the flow of the game with the Spectaculator monitor/debugger, that you can add custom sound effects for shooting, bonus collection and explosions. For the hidden bonus game of Apulija-13 2.0, I initially employed the standard AY sound effect, then took notice of the address the program jumped to for those events and modified the CALL to that effect with three distinct calls to short beeper sound routines stored after the main code.

On the other hand Dave - I remember you managed to hack the SEUD core code to add two horizontal bars of different attributes to that of the game area, for horizontally scrolling titles. Could you tell us how did you do it?
User avatar
R-Tape
Site Admin
Posts: 6353
Joined: Thu Nov 09, 2017 11:46 am

Re: The thread of POKEs

Post by R-Tape »

Alessandro wrote: Sun Nov 04, 2018 7:16 pm
Thanks Dave - this is much simpler than the solution I found following Jonathan's advice (here).
Oh. That worries me. I haven't done a full disasm of SEUD, and the odds of me finding a better solution than Jonathan are very small indeed*. I tested them and can't find anything wrong, but based on this I'll need to investigate further.

*My only hope is that this is the reason (Jon's quote from WoS):
Forgive me if this doesn't make too much sense, I've been drinking homebrew. It's the best I can do in my current inebriated state!
:mrgreen:
On the other hand Dave - I remember you managed to hack the SEUD core code to add two horizontal bars of different attributes to that of the game area, for horizontally scrolling titles. Could you tell us how did you do it?
It was a long time ago, on a now lost laptop. At least 3 people have asked me for this, so I should create a patch, or detailed notes. I'm too busy right now, but will look at this.
User avatar
Einar Saukas
Bugaboo
Posts: 3070
Joined: Wed Nov 15, 2017 2:48 pm

Re: The thread of POKEs

Post by Einar Saukas »

R-Tape wrote: Fri Sep 28, 2018 10:52 pmOooh handy. Sooner or later we'll have to start incorporating utilities like these into ZXDB.
This kind of information is stored in tables "tools" and "toolfiles" in ZXDB.
User avatar
Alessandro
Dynamite Dan
Posts: 1908
Joined: Wed Nov 15, 2017 11:10 am
Location: Messina, Italy
Contact:

Re: The thread of POKEs

Post by Alessandro »

Sorry, I just noticed I forgot to amend and complete this:
Alessandro wrote: Sun Nov 04, 2018 7:16 pm The keycodes are stored between 50501 and 50507 and must be changed
The above should read as follows:

The keycodes are stored between 50501 and 50507 and can be changed according to the codes returned by the ROM routine at address 654, which returns the number of the key pressed (in the E register), in the range 0-39. Check this handy table:

Image
XoRRoX
Manic Miner
Posts: 231
Joined: Wed Jul 11, 2018 6:34 am

Re: The thread of POKEs

Post by XoRRoX »

S.E.U.D.

I was messing about with it and figured out invincibility: poke 48966,201 (RET, is normally RET Z (200)). Great for dev testing.
Post Reply