Programmers Development System (Dominion and some other sources)

Whether it's Mire Mare or a BASIC tape you found in the attic, it needs to be preserved digitally. Post here and experts can help to do so.

Moderator: pavero

User avatar
goodboy
Microbot
Posts: 141
Joined: Tue Jul 23, 2019 8:22 am
Location: Russia

Re: Programmers Development System (Dominion and some other sources)

Post by goodboy »

Mr.Bojangles wrote: Wed Apr 19, 2023 4:45 pmSEND MSDOS,file.ext
thank you, it works.
a header is assigned to each file and they are combined into one
Xela
Drutt
Posts: 49
Joined: Tue Apr 18, 2023 8:17 am

Re: Programmers Development System (Dominion and some other sources)

Post by Xela »

jpnz wrote: Mon Apr 17, 2023 11:37 am This is Saracen (from the PDS\Programming\Spectrum\Saracen-5-4-93 directory)
Looks like a tech demo - QAOP keyboard controls and SPACE to pause/crash!?
I think in .PJG files are much more recent sources: *.PDS - Version 00.14, *.PJG - Version 00.57
There even main menu with control select, scores, weapon, etc as i see in files.
User avatar
jpnz
Manic Miner
Posts: 324
Joined: Tue Nov 14, 2017 4:07 pm
Location: Hamilt[r]on - City Of The Future - NZ

Re: Programmers Development System (Dominion and some other sources)

Post by jpnz »

Mr.Bojangles wrote: Wed Apr 19, 2023 4:45 pm To skip necessity to capture serial, PDS can output directly to file with:
SEND MSDOS,file.ext
Undocumented feature.
Nice find!
User avatar
jpnz
Manic Miner
Posts: 324
Joined: Tue Nov 14, 2017 4:07 pm
Location: Hamilt[r]on - City Of The Future - NZ

Re: Programmers Development System (Dominion and some other sources)

Post by jpnz »

Thanks to the top tip from @Mr.Bojangles I took a look at the code for Mean Machine

All the files for this game have .PJG extensions so I took a punt and renamed them to .PDS and loaded them up fine!

Image

This game is a little different as it places code into the screen display, so that meant reassembling the PDS downloader to sit at 0xa000 and switch off the debug messages that would corrupt the screen

Anyway, this is what came out - some AY artifacts, dodgy graphics and no collision detection...



:)
Adrian_Singh
Drutt
Posts: 19
Joined: Tue Feb 19, 2019 12:07 pm

Re: Programmers Development System (Dominion and some other sources)

Post by Adrian_Singh »

I've got the 'Steg the Slug' map editor up and running from the PDS source files....

Image

https://www.dropbox.com/s/hsyguc621vhuf ... r.tap?dl=0

You build the levels using big blocks, which you can construct from smaller tiles. So for instance to build a thin wall you'd construct the base block using two wall tiles in one column and two blank tiles in the other column. Note if you change the tiles that make up a big block it instantly changes everywhere that block is used throughout all the levels!

Map editor keys are:

'Q','A','O','P' - move cursor

'J', 'K' - prev/next big block (2x2 tiles) in tray
'Z'', 'X' - prev/next small tile in tray
'G' - grab big block under cursor
'SPACE' - place big block at cursor
'M' - clear big block under cursor

'1' replace big block top left with small tile
'2' replace big block top right with small tile
'3' replace big block bottom left with small tile
'4' replace big block bottom right with small tile

'L' - next level

To play game with the edited map/levels
Full map data in the editor is stored at $E480-$E7FF, so save this range as a binary file (decimal start=58496, length=896).
To insert the edited map data into the game, load it to address: $E280 (decimal 57984).
Last edited by Adrian_Singh on Thu Apr 20, 2023 5:46 pm, edited 1 time in total.
Xela
Drutt
Posts: 49
Joined: Tue Apr 18, 2023 8:17 am

Re: Programmers Development System (Dominion and some other sources)

Post by Xela »

jpnz wrote: Thu Apr 20, 2023 1:07 pm All the files for this game have .PJG extensions so I took a punt and renamed them to .PDS and loaded them up fine!
You can load any extension in PDS by changin' it in file browser by F5:

Image

Even .LE3 for Level 3 of Dominion :)

Image
User avatar
jpnz
Manic Miner
Posts: 324
Joined: Tue Nov 14, 2017 4:07 pm
Location: Hamilt[r]on - City Of The Future - NZ

Re: Programmers Development System (Dominion and some other sources)

Post by jpnz »

Mr.Bojangles wrote: Mon Apr 17, 2023 9:54 pm Thanks so much for this!
Dominion outro works on its own, but rest of the game has to be assembled from parts
Image
There's so much of everything it'll take some time to go through
Even PSX and Saturn stuff
Got the intro working
Spoiler
Just need to work on those bits in the middle! :lol:
Mr.Bojangles
Drutt
Posts: 5
Joined: Fri Mar 31, 2023 2:52 am

Re: Programmers Development System (Dominion and some other sources)

Post by Mr.Bojangles »

That's so cool. Pity it got canned.
Hopefully Mr. Griffiths gets to finish those ZX Next games mentioned in interview.

I got some CPC games working
but SMS and NES roms are having problem with SEND MSDOS overwriting the same file again and again,
since they're outputting multiple banks, so I've been hacking PDS to work around that
Xela
Drutt
Posts: 49
Joined: Tue Apr 18, 2023 8:17 am

Re: Programmers Development System (Dominion and some other sources)

Post by Xela »

Tennis is almost unplayble in 1 player mode, as opponent moves to the left, and nothing happens. And absolutely unplayble in 2 players mode - as some sh*t with auto pause..

^m00h^
Dizzy
Posts: 87
Joined: Fri Apr 17, 2020 11:48 pm

Re: Programmers Development System (Dominion and some other sources)

Post by ^m00h^ »

Its very dissapointing but the game seems to be unfinished.
Ralf
Rick Dangerous
Posts: 2289
Joined: Mon Nov 13, 2017 11:59 am
Location: Poland

Re: Programmers Development System (Dominion and some other sources)

Post by Ralf »

While others are recovering the games I decided to make my own try with it too.

I took a different approach. Instead of struggling with PDS I decided to convert the code to some modern format, Sjasm to be exact.
I made a simple tool for myself and it's quite quick with it.

Please. have a look. These are three unfinished game prototypes: Saracen, Mean Machine and Tennis:
Image

Mean Machine looks quite different than on previev screenshots in the magazines. It's actually an unfinished, dirty conversion of https://spectrumcomputing.co.uk/entry/4 ... Skateboard It has the same background with added colours and uses the same menu.

And here is the download with the source code included. I'll be uploading it to SC too.

https://www.sendspace.com/file/6l4hci

Anybody willing to finish any of this is welcomed. And no, personally I'm not going for it ;)
Ralf
Rick Dangerous
Posts: 2289
Joined: Mon Nov 13, 2017 11:59 am
Location: Poland

Re: Programmers Development System (Dominion and some other sources)

Post by Ralf »

Some graphics for the Tennis game:

Image

Looks like they couldn't decide on the name ;)
Xela
Drutt
Posts: 49
Joined: Tue Apr 18, 2023 8:17 am

Re: Programmers Development System (Dominion and some other sources)

Post by Xela »

Saracen looks like take bits from here and there:

Panel from Shanghai Warriors Prototype:
Image

Main sprite from Joe Blade

Background from Castle Capers loading screen :)
Image
Xela
Drutt
Posts: 49
Joined: Tue Apr 18, 2023 8:17 am

Re: Programmers Development System (Dominion and some other sources)

Post by Xela »

Ralf wrote: Sat Apr 22, 2023 7:22 pm Looks like they couldn't decide on the name ;)
you can see it even in the sources:

;NEW NAME OF TENNIS IS PRO TOUR TENNIS

****************************************
* TENNIS SOURCE CODE *
* RESTARTED FROM SCRATCH ON 7-8-90 *
****************************************
Xela
Drutt
Posts: 49
Joined: Tue Apr 18, 2023 8:17 am

Re: Programmers Development System (Dominion and some other sources)

Post by Xela »

Ralf wrote: Sat Apr 22, 2023 4:12 pm These are three unfinished game prototypes: Saracen, Mean Machine and Tennis:
If Tennis is compiled in PDS (or, as I think, in sjasm with DEVICE ZXSPECTRUM128) - there will be music for AY in the main menu :)
Mr.Bojangles
Drutt
Posts: 5
Joined: Fri Mar 31, 2023 2:52 am

Re: Programmers Development System (Dominion and some other sources)

Post by Mr.Bojangles »

I've made a little cl program to extract data from compiled PDS binaries and bundled it with hacked PDS versions that output to file
https://www.mediafire.com/file/thu8oyv5kn6sqr0/
this basically allows to run this on any emulator that supports memory images
some examples:

Code: Select all

CPC 'Dizzy 3' (https://github.com/Wireframe-Magazine/Wireframe19):
- compile for 'amstrad' with 'PDSZ80f.EXE' to get 'AA' or 'ser2.bin' from 'PDSZ80c.EXE' on 'DOSBox-X'
- unpack it to '0bank0.bin' with 'pds2rom.exe aa'
- use CaPriCe Forever
- set breakpoint: &0dfb
- run 'call &0dfb' to activate BP
- memory editor/dump/import bin
- unpause debugger and it should execute from set PC

CPC 'Lop Ears': (https://spectrumcomputing.co.uk/forums/viewtopic.php?t=1932)
- compile with 'PDSZ80f.EXE' to get 'AA' or 'ser2.bin' from 'PDSZ80c.EXE' on 'DOSBox-X'
- unpack it to '0bank0.bin' with 'pds2rom.exe aa'
- trim it with 'sfk partcopy 0bank0.bin -yes -allfrom 0x300 out.bin'
- use CaPriCe Forever
- set breakpoint: &2328
- run 'call &2328' to activate BP
- memory editor/dump/import bin
- set 'From' to &300 before importing
- unpause debugger and it should execute from set PC

ZX 'Street Cred Football': (https://spectrumcomputing.co.uk/forums/viewtopic.php?t=1932)
- compile with 'PDSZ80f.EXE' to get 'AA' or 'ser2.bin' from 'PDSZ80c.EXE' on 'DOSBox-X'
- unpack it to '0bank0.bin' with 'pds2rom.exe aa'
- trim it with 'sfk partcopy 0bank0.bin -yes -allfrom 0x4000 out.bin'
- use ZXSpin
- set breakpoint: #9472
- run 'randomize usr 38002' to activate BP
- File/Load Binary
- set 'Start' to #4000 before importing
- unpause debugger and it should execute from set PC

C64 'Altered Beast Intro' (https://github.com/milkeybabes?tab=repositories)
- compile x?.tap files with 'PDS6502f.EXE' to get 'AA' or 'ser2.bin' from 'PDS6502c.EXE' on 'DOSBox-X'
- unpack it to '0bank0.bin' with 'pds2rom.exe aa'
- prepend rom with 2 bytes and remove last 2: <- weird emulator quirk
'sfk partcopy 0bank0.bin -yes -fromto 0 2 pad.bin'
'copy /b pad.bin +0bank0.bin tmp.bin'
'sfk partcopy tmp.bin -yes -fromto 0 0x10000 out.bin'
(so if those 2 bytes happen to be meaningful, fill them from debugger later on)
- use Z64K
- Applications/Machine Monitor
'l "out.bin" 0'
'g 9837'
- close Monitor and it should run

NES 'Hero Quest' (http://shrigley.com/source_code_archive/)
- compile with 'PDS6502f.EXE' to get 'A?' or 'ser2.bin' from 'PDS6502c.EXE' on 'DOSBox-X'
- unpack it to '0bank?.bin' with 'pds2rom.exe ser2.bin'
- trim files with sfk:
'sfk partcopy 0bank0.bin -yes -fromto 0x8000 0xc000 out0.bin'
'sfk partcopy 0bank1.bin -yes -fromto 0x8000 0xc000 out1.bin'
...
'sfk partcopy 0bank6.bin -yes -allfrom 0x8000 out6.bin'
- join all files
'copy /b out0.bin +out1.bin +out2.bin +out3.bin +out4.bin +out5.bin +out6.bin tmp.bin'
- prepend 'tmp.bin' with a 16 byte header using an HEX editor or with 'sfk setbytes'
4E 45 53 1A 08 00 20 00-00 00 00 00 00 00 00 00
'sfk -yes make-random-file header 16'
'sfk -yes setbytes header 0 0x4e45531a080020000000000000000000'
'copy /b header +tmp.bin'
- rename to *.nes and run in any NES emulator


* PDS has built in 'SEND MSDOS,file.ext' command for output to file
but it has problem with multi bank output overwriting itself
to amend this I provided modified 'f' exe versions
it is better to not specify this MSDOS output with those hacked versions
but just send to either COMPUTER1/2 or SERIAL and everything should go to file
* older PDSZ80 projects appear to compile well with P2Z80
* P2Z80 has additional 'SEND ROMFILE,file.ext,128' discussed here:
https://worldofspectrum.org/forums/discussion/9588/
Ralf wrote: I took a different approach. Instead of struggling with PDS I decided to convert the code to some modern format, Sjasm to be exact.
This is very useful. Thank you!
Ralf
Rick Dangerous
Posts: 2289
Joined: Mon Nov 13, 2017 11:59 am
Location: Poland

Re: Programmers Development System (Dominion and some other sources)

Post by Ralf »

And I continued my work with converting the code from PDS to more modern assembler.

I mainly focused on Dominion. And I have some bad news unfortunately. Either I'm doing something wrong or
the game seems to be unfinished :(

I managed to compile all 3 levels of the game:
Image

You can walk around the map. The problem is that there aren't any enemies and any gameplay at all.
I checked the code and enemy sprites are in the game so maybe it's just turning some magic switch but at the moment I don't know it.

Here is the download - snapshots for all 3 levels and game code converted to Sjasm+ assembler:

https://www.sendspace.com/file/bqqbwv

Move the cursor with QAOP. Switch into menu and out of menu with M. Fire and select with space.
In order to move to next room turn so you face an exit, enter the menu and select FORWARD
User avatar
moroz1999
Manic Miner
Posts: 329
Joined: Fri Mar 30, 2018 9:22 pm

Re: Programmers Development System (Dominion and some other sources)

Post by moroz1999 »

Since I'm kind of a fan of Jabba's graphics, I've decided to make a loading screen from xenomorph sketch found in PDS files.
This can be used as a loading screen if or when Dominion gets any shape.

Image
Post Reply