Flipnic research: Ball teleportation
The ball can be teleported to a specific area by changing the value at specified offset to something else. This offset is different depending on the stage and its variant.
You can use these offsets and values by doing the following:
Locate the stage you are currently trying to play
Copy its offset
Open PCSX2 Debugger while the game is running and stage has loaded
Press Ctrl+G to go to an offset
Paste the copied offset and press Enter
Copy a value for one of the areas and paste it at the offset
Your ball will be forcibly teleported to that area
Note: These values are for PAL version only. NTSC versions will have different offsets, however you can search for array of byte using PCSX2 developer tools and specify value of 5F00464F30, then double click on the last result, see what offset it's found at and add 0x95 to it. The position value should be 16 bytes and last four bytes should be 00 00 80 3F. And while looking at PCSX2 debugger memory view, 0x20 bytes earlier, the first 2-4 bytes should be constantly changing. Generally speaking, if you find one offset for your version of the game, you can find the delta between my offset and your offset and that should be the difference at least for that particular stage.
FAQ
What do these values store? XYZ coordinates and rotation.
What happens if you put wrong value to wrong stage? Most likely the ball will fall to the void and respawn at a random area.
Can I teleport while a mission event is active? Yes. The teleportation will work.
Can I teleport during multiball mode? Sort of. The "primary ball" will teleport, while the rest will not change their position.
Does the game store these values in file somewhere? Yes, it does! Positions of all objects are stored in .LAY files. For ball spawn points with a ring plunger, look for "ROT_BALLSET" sections.
Biology : 12F19C0 (A) / 1341DD0 (B)
Spawn 1: FFFFF243000040C00000F443
Initial spawn: C1D0D94300005442DC271944
Upside down bumpers: A740DC43FFFF1F41A7C60944
Bumper village: 1454E043FFFF5342EA640444
Multiball (tree): C6A71D44A1E9DB4066740744
Multiball (area): 61232944FFFF7F3F32BF0C44
Junction: 8CD215440000E041270F2044
Butterfly area: 00800A440000A0C000800244
Ramp trigger: B8B1F2439CC50641492C0644
Mountain: AE35F443361B524122A10944
ZeroG trigger: FF7FF143C9C7A242A8991144
ZeroG spawn: 004035440000803F0000C743
Alligators: 80F4F343F9BAC8C1A06BC443
Hungry Monkey/Color Puzzle spawn: B38CF243000040C02B5FFF43
Metallurgy : 15131E0 (A) / 1536BF0 (B)
Shaft area spawn 1: F1303A44000000424F131C44
Shaft area spawn 2: FEAA2B4400008042BFC43244
Shoot down the shafts 1: 459329440500004200CF2344
Shoot down the shafts 2: 2D803D440500004289A93744
Main area spawn (magenta): 2D6748440000C0A53E020A44
Main area spawn (green): C2FD53440000C0A52D670C44
Main area spawn (blue): D39851440000C0A5C2FD1744
Main area spawn (towers): 3E0246440000C0A5D3981544
UFO area spawn 1: 006071440000803FD52C2A44
UFO area spawn 2: D52C52440000803F00A03C44
Show Time: 6DF268441E95514091923444
Teleport spawn (green): 34B35044CDCC4C3E9A590F44
Spider crab area: A4F93B44BF00803FFFBFFE43
Crab baby area 1: 34D32844B6FFC7410140DA43
Crab baby area 2: A51929441B005041FF3FFF43
Exit spider crab area: 4DE12F44A2A0683F2C6DFF43
ZeroG trigger: 235A4B4420CF7D3F85AB1544
ZeroG trigger 2: 4B714B440278CF3F110E1544
Zero Gravity: 00405D44000024C20000EF43
Optics : 10F2DE0 (A) / 10E65E0 (B)
Main spawn: 9699FF430000803FD80CF043
The area between non-stop area and loop the loop: 69A6DB430000803F71860E44
Loop the loop: FDFFF043000080C000401944
South-west of main spawn: 00C0F2430000803FAAD9DD43
The area between loop the loop and crab babies: FF9F0444BF00803F60C61144
Crab baby area: 00C00D44BF00803F00001B44
South-east of main spawn, south-west of bumper village: 00600D440000803FAAD9DD43
Bumper Area (drop): 7A8B13444273D340CD76F343
Bumper Area (respawn): 680616440000803FAC59F343
Bumper Area exit (drop): C2DC0E442914CD40A83B1A44
West of main spawn: 00C0F2430000803FD5EC0244
Non-stop area (drop): D4D0CD430100004133330944
Non-stop area (re-spawn): 00C0D7430000A0C0AAD9EE43
Non-stop area (top): F16FCB430100803F81621744
Non-stop area (danger pit): 4549CA4311263AC08486EF43
Non-stop area (trick shot): F32EDC43CF86CDBFA25A0344
Multiball (bumpers): 403405440100803F968B0144
Zero Gravity: 00402B440000803F00801A44
Geometry : B90660 (A)
Spawn 1: 00002C440000803F00400E44
Spawn 2: 000038440000803F00400544
Spawn 3: 00402D440000803F0080F743
Spawn 4: 004034440000803F0080F743
Area 74 (Spawn 1): 00C026440000803F00004744
Area 74 (Spawn 2): 00C037440000803F00004744
Galaxy Tennis: 0000F0430000803F00000744
Evolution : EE03D0 (A) / 124B370 (B) / C58370 (C) / 1229370 (D)
Locator pattern (for finding offsets on non-PAL regions): 00 00 A8 42 00 00 80 3F 00 00 B4 42 00 00 80 3F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 3F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 3F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 3F 00 00 00 00
Spawn: 0000A8420000803F0000B442
Biology 2P : 81F1B0
Locator pattern (for finding offset on non-PAL region, same method for other 2P modes, except replace the spawn point at the beginning): 02 00 C8 42 00 00 80 3F 07 00 34 43 00 00 80 3F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 3F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 3F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 3F 00 00 00 00
Spawn: 0200C8420000803F07003443
Metallurgy 2P : 843490
- Spawn: 000082430000803FC4192943
Optics 2P : 81AC90
- Spawn: 0800C8420000803F0300A443
Geometry 2P : 6D7230
- Spawn: 000096430000803F00009643