SOS - Reviving a Power 3000 tape

User avatar
mrtinb
Posts: 1976
Joined: Fri Nov 06, 2015 5:44 pm
Location: Denmark
Contact:

Re: SOS - Reviving a Power 3000 tape

Post by mrtinb »

If Lambda software is made in Basic it will often work with both ROM versions except when color commands are used.

If Lambda software is made with machine code then it will often NOT work on both ROM versions because calls to ROM routines are very different.

The Lambda engineers almost refactored the entire ROM with version 2, so no code is in the same place. This meant software compatibility for machine code software with version 1 was broken.

You might not know this, but the Lambda ROMs can auto detect a ZX81 program on tape and convert it to Lambda format. It will often work if it’s pure Basic.
Martin
https://zx.rtin.be
ZX81, Lambda 8300, Commodore 64, Mac G4 Cube
David G
Posts: 400
Joined: Thu Jul 17, 2014 7:58 am
Location: 48 North

Re: SOS - Reviving a Power 3000 tape

Post by David G »

I couldn't get this game to run correctly, so made a patched version

SOS_norom.p
ROM-independent S.O.S. game
(1.92 KiB) Downloaded 9 times

Tested OK NO$ZX emulator (with both built-in ROMs) and EightyOne with the Updated ROM (lambda8300colour.rom)


KEYS
S.O.S. uses the standard Lambda 8300 game keys:
* R:down
* 4:up
* 7:left
* F:right
* U:fire
Joystick port is also mapped to these keys


This game is visually appealing, and fits in 2K!

The slight graphics character changes from the ZX81 -- only a dozen characters -- makes a big difference. The ZX81 has only block graphics characters, while the Lambda has has some angular chars and even one with wheel


Programboxen S.O.S.
POWER 3000/2K
sos_omslag_s.jpg
UFO!
LAMBDA 8300
MARATHON
2K/16K
PROGRAMEKSPERTEN præsenterer.
UFO! -et rumspil
TIL
* LAMBDA 8300
* MARATHON
2K/16K
Peter Gjørup, Rothskilde


The version posted earlier (SOS.p) does load & run ... after asking STYK SKYD [press shoot e.g. U key or joystick Fire] it starts to play but within one second exits and/or locks up

Tried it with three ROMS ... Reportedly works with the orginal V1 (LAM10061.BIN) ROM, however my EightyOne v1.40 doesn't work with this ROM (no programs will load or save although I can type in and run programs). With the Updated ROM, the game crashes with 16K, and runs with 2K but with visual distortion

Commented out the two ROM calls and it runs fine. They are $0450 and $0460. Copied these routines from the V1 ROM into the game, and patched the game to call them, now the game is ROM-independent and sound works too

* 0450 in the Updated ROM pops the stack, then returns. This explains why the game exits unexpectedly when a certain sound effect is called for

* 0460 in the Updated ROM is in the middle of EXPAND TOKENS so it starts reading whatever HL is pointing to and putting characters on the screen. It will eventually crash the system
User avatar
mrtinb
Posts: 1976
Joined: Fri Nov 06, 2015 5:44 pm
Location: Denmark
Contact:

Re: SOS - Reviving a Power 3000 tape

Post by mrtinb »

David G wrote: Thu Sep 19, 2024 7:57 am Tried it with three ROMS ... Reportedly works with the orginal V1 (LAM10061.BIN) ROM, however my EightyOne v1.40 doesn't work with this ROM (no programs will load or save although I can type in and run programs). With the Updated ROM, the game crashes with 16K, and runs with 2K but with visual distortion
If you cannot load the game in EigthyOne with the old ROM, then maybe it will work, if you use a wave file instead, and the ROM code will run instead of just filling the RAM with the code.

On top of that the JSZeddy emulator supports both Lambda ROMs.

https://www.weggetjes.nl/jszeddy/jszeddy.html
Martin
https://zx.rtin.be
ZX81, Lambda 8300, Commodore 64, Mac G4 Cube
David G
Posts: 400
Joined: Thu Jul 17, 2014 7:58 am
Location: 48 North

Re: SOS - Reviving a Power 3000 tape

Post by David G »

thanks Martin. i see now that it works very nicely with JSZeddy
Post Reply