Unpublished spectrum game
Hi there
I have a Spectrum PDS development environment and before I get rid of my old PC which has an ISA slot I thought I should ask this question in case I need to change something - see below.
In 1989/90 I wrote a budget game which was never published and somewhere in my archives have the game image. The code's from 16384 to 65535 and a binary file. I wondered how I could get it into a Spectrum emulator and then offer it on a web site I'm constructing as a free download.
I would be most grateful for any advice you can give and am sorry if this is the wrong part of the forum to post this message.
Greg Holmes
I have a Spectrum PDS development environment and before I get rid of my old PC which has an ISA slot I thought I should ask this question in case I need to change something - see below.
In 1989/90 I wrote a budget game which was never published and somewhere in my archives have the game image. The code's from 16384 to 65535 and a binary file. I wondered how I could get it into a Spectrum emulator and then offer it on a web site I'm constructing as a free download.
I would be most grateful for any advice you can give and am sorry if this is the wrong part of the forum to post this message.
Greg Holmes
Post edited by gregory.holmes on
Comments
You can load it in most emulators, just importing the binary file. In Spectaculator, for example, if the file has a .raw or .bin extension, it will ask for the starting loading address (16384) and it will place it there.
However, Spectaculator is far from good when debugging, since you cannot load or save memory while in debug mode (that's why I use other emulators when doing serious ASM testing).
Being 16384 the start of screen RAM, I suppose that this 48 KB file will overwrite everything in BASIC area, and it *might* crash even before you're able to jump into the executing address. However, you can always split that binary in the exact pieces where the code/data is, and load them in their respective position.
Afterwards, a loading scheme could be generated with all those pieces, and put together in a TZX file with a program like ZX Block Editor. Lately I have developed the loaders for some of the spanish games released in 2005/2006.
Maybe this thread fits better in the "Development" section of the forum.
Hope it helps. Sorry for my english ... ;)
[ This Message was edited by: Black Hole on 2006-03-09 22:10 ]
That's a very familiar name ;)
We like to see some of the original programmers turn up and we like even more to see some old code turn up with them :)
As mentioned, Spectaculator will load it into memory with drag+drop if the filename has a '.bin' extension. Spin has a load binary option under the file menu and many other emulators can do this as well.
Also mentioned is that you'll have a problem in that your memory dump is the full RAM space -- this will certainly crash the emulated Spectrum on loading since the rest of the machine state (stack pointer, pc, etc) won't be right...
Two things you can do (other than splitting the file into pieces and loading the pieces into memory as mentioned above):
1. change the memory dump to a .sna snapshot -- this is a snapshot format with a full 48k ram dump, uncompressed, with about 20 or so bytes prepended that includes z80 state info (location of stack, pc, register contentsm, etc). If you know what the state should be you can stick the info on the front, call the file an .sna and this will load fine on just about any emulator. You can also put this file on the web as it's one of the earliest formats supported by almost all Spectrum emulators. Don't know about the Java emulators - they might want a .z80, but then it's easy to convert from .sna to .z80. Info on the sna snapshot format can be found at http://www.worldofspectrum.org/faq/reference/formats.htm
2. dig up some info on the PDS system -- maybe the state info is buried in the memory dump somehow and is restored when the PDS transferred to a real machine? There was a thread on here about the PDS, maybe someone else dug a little deeper into the subject? Anyone?
EDIT: once the program is in memory you can use the emulator to write it out as a standard format (save as...)
[ This Message was edited by: Alcoholics Anonymous on 2006-03-09 22:53 ]
Write games in C using Z88DK and SP1
Then you'll have to point the SP register (offsets 23 & 24, little endian) somewhere safe and place the PC in memory at the SP so that a RET will get it and the game will start.
That assumes that the game sets up all the other registers and IM modes (etc) in its initialisation routine.
Failing that, I'm an old hand at converting games to disk and will help you out, should you require it. ;)
Oh, if the binary file is on spectrum tape somewhere then what you are asking is probably how to get that over to the PC ? Sample the file into a WAV format and use MakeTZX (check utilities section of WOS here) to convert the wav to .TZX format. Use TZX2TAP to convert it to .TAP and then just strip off first 3 bytes and the last byte to get a pure binary that should be on 16384...
[ This Message was edited by: tom-cat on 2006-03-10 13:09 ]
Who said retro is dead (er..nobody? - Ed)!?
Bytes:Chuntey - Spectrum tech blog.
When the code was still in BASIC you can
give a load command in an emulator which will load from soundcard or real tape.
Import your binary file and return to emulator. Then press break.
Did it come out finally?
I've never seen this thread before. I hope the game does get released.
Is that elephant in JTN 2 wearing sunglasses?
He hasn't posted again since this thread... Maybe he's working on the above game ;)
Something about him getting some developers moving to Derby from ??? (Sheffield maybe, isn't that where Gremlin were based?) to work on it. Could be this the same Greg Holmes? If so, I wonder who those developers were, maybe the elusive Mr Harrap and Hollingworth?
yup carver street, sheffield
just above this shop, just micro :P
remember plenty of days playing on speccy and later atari st games on the machines in the shop on saturdays and while wagging it :P
anybody fancy ringing it see what happens??
lol
:-o lol
He had a sex change?
ahhhhhh "clock"
Any news yet on this game?