News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
T

Zynaps title music on emulators.

Started by tastefulmrship, 14:44, 11 October 11

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

tastefulmrship

#25
Quote from: redbox on 12:33, 12 October 11
Nice version.

I don't think the initial "LOADING : ZYNAPS" is needed though...?  And you didn't compress the loading screen  :P
I wanted it to look like the original in as many ways as possible ("LOADING : ZYNAPS", full screen size, LDIR from &4000 to &C000)... and there's still 123K left on the disk!

Actually, I was going to see if I could compress both the screen and code, but I need to work on those compressors a little more and see which one can cope with compressing to &0F00-&A000.
Then modify the decompression code slightly to have c64/Amiga style borders! I realise this will slow down decompression, but it would look funky!

Quote from: redbox on 12:33, 12 October 11
I see you went for Axelay's solution in your code as you're only checking for Y or N inputs  :)
To be honest, when I was writing the key-press section of code his was the only one posted. I only saw yours when I was posting the finished product. But yours in my library and will come in handy when I get round to doing my text adventure parser.

redbox

Quote from: tastefulmrship on 12:40, 12 October 11
I wanted it to look like the original in as many ways as possible ("LOADING : ZYNAPS", full screen size, LDIR from &4000 to &C000)... and there's still 123K left on the disk!

Didn't realise that message was on the original, and see why you've kept it now.

I know you don't need to compress loading screens etc these days, but I like it because it's in keeping with the old school way of cracking when disc space was at a premium  :)

I compressed the loading screen with Exomizer (just for fun) which is only &c5b in length which includes the decruncher and buffer:

tastefulmrship

Quote from: redbox on 13:08, 12 October 11
I compressed the loading screen with Exomizer (just for fun) which is only &c5b in length which includes the decruncher and buffer:
And here's the result... now we have 137K left on disc! ^_^

redbox

Quote from: tastefulmrship on 13:27, 12 October 11
And here's the result... now we have 137K left on disc! ^_^

Haha, that's cool.

I compressed the main game as you asked about doing it with a file the size of this one.  It compressed to about 22kb with Exomizer.


You need to assemble it and then CALL &A002 to start.  The reason for the location of the data and decruncher is explained in the Exomizer wiki page under the decompression section.


tastefulmrship

Quote from: redbox on 13:48, 12 October 11
You need to assemble it and then CALL &A002 to start.  The reason for the location of the data and decruncher is explained in the Exomizer wiki page under the decompression section.
Wow! That's simply amazing!

Here's the full result made a little smaller by only having the decompressor routine in one location. (Attached!) It leaves a whopping 152K left on disc! I wonder how small we could make it using PACKFIRE?

I thought about single-filing this, but that kinda defeats the object of having a loading screen!

Gryzor

I'm undecided whether I prefer the psychedelic screen or not... both are nice :)

Also: Zynaps. @ 4kb and Zynaps.gam @ 22kb, that's just crazy! At these sizes you can have awesome compilations on single disks...

tastefulmrship

Quote from: Gryzor on 14:51, 12 October 11
Also: Zynaps. @ 4kb and Zynaps.gam @ 22kb, that's just crazy! At these sizes you can have awesome compilations on single disks...
Potentially, the whole of the HEWSON collection in one .dsk file! And, of course, someone to produce a decent cracktro-menu system!

Gryzor


TotO

Quote from: tastefulmrship on 15:00, 12 October 11
Potentially, the whole of the HEWSON collection in one .dsk file! And, of course, someone to produce a decent cracktro-menu system!
How many games ? I coun't height:
Nebulus, Netherworld, Cybernoid, Cybernoid II, Deliverance, Stormlord, Urinium, Zynaps.
I got my idea for a nice menu selection... I'll make some try.
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

tastefulmrship

#34
Quote from: TotO on 09:00, 12 October 11
Finaly, is-it possible to get something like "15s title / 5s scores" (timing to test) ? And it will be perfect. :)
I have found where the 'timing' is set for each 'screen' (for interest; &8000 Hiscores, &C000 title screen), and it is located within the routine from &63A9 (Highscore screen). There's a LD B,&FF at &63B6, then it calls the rasters, music and keybaord routines and B is then DJNZ-ed. Once B hits 0, the code moves to &62E8 where the title logo is shown. (&62F5 has a similar LD B,&FF)

Now, it's possible to decrease the Hiscore screen time, but I cannot work out how to increase the logo screen time. LD B,&FF takes two bytes, but LD BC,&01FF takes three. Does anyone have any ideas or are we stuck?

Quote from: TotO on 15:32, 12 October 11
How many games ? I coun't height:
Nebulus, Netherworld, Cybernoid, Cybernoid II, Deliverance, Stormlord, Urinium, Zynaps.
I got my idea for a nice menu selection... I'll make some try.
Infact, they did the following;

City Slickers, Dragontorc of Avalon, Firelord, Fantasia Diamond, Cybernoid, Cyernoid II, Eliminator, Exolon, Impossaball, Marauder, Maze Mania, Nebulus, Netherworld, Ranarama, Stormlord, Stormlord 2, Technician Ted, Uridium, Zynaps, Air Traffic Control, Southern Belle & Supercup.

Maybe two .dsks, then?

TotO

Quote from: tastefulmrship on 15:45, 12 October 11Now, it's possible to decrease the Hiscore screen time, but I cannot work out how to increase the logo screen time. LD B,&FF takes two bytes, but LD BC,&01FF takes three. Does anyone have any ideas or are we stuck?
Stop me if I'm wrong but is-it possible to change the timer interval from 5s to 15s and then decrease the score value to match 5s ?

QuoteInfact, they did the following;
City Slickers, Dragontorc of Avalon, Firelord, Fantasia Diamond, Cybernoid, Cyernoid II, Eliminator, Exolon, Impossaball, Marauder, Maze Mania, Nebulus, Netherworld, Ranarama, Stormlord, Stormlord 2, Technician Ted, Uridium, Zynaps, Air Traffic Control, Southern Belle & Supercup.


Maybe two .dsks, then?
Ouch!!! So productive ?
May be two discs by release dates... Or hits on the first and shits on other!  :-\

"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

SyX

Quote from: tastefulmrship on 15:45, 12 October 11
I have found where the 'timing' is set for each 'screen' (for interest; &8000 Hiscores, &C000 title screen), and it is located within the routine from &63A9 (Highscore screen). There's a LD B,&FF at &63B6, then it calls the rasters, music and keybaord routines and B is then DJNZ-ed. Once B hits 0, the code moves to &62E8 where the title logo is shown. (&62F5 has a similar LD B,&FF)

Now, it's possible to decrease the Hiscore screen time, but I cannot work out how to increase the logo screen time. LD B,&FF takes two bytes, but LD BC,&01FF takes three. Does anyone have any ideas or are we stuck?
Copy that little loop (LD B,... RET) to a free ram zone ($0048  looks nice), use BC how counter (LD BC, ... DEC BC / LD A,B / OR C/JR NZ,)  and in the LD B,$FF put a JP to your patch ;)

tastefulmrship

#37
Quote from: SyX on 16:06, 12 October 11
Copy that little loop (LD B,... RET) to a free ram zone ($0048  looks nice), use BC how counter (LD BC, ... DEC BC / LD A,B / OR C/JR NZ,)  and in the LD B,$FF put a JP to your patch ;)
Done and done! Thank you, sir!
(attached)

FYI; the logo stays on screen for 25 seconds, the highscore stays on the screen for 5 seconds.
I've used the clean version, instead of the compressed version, but I will change that as well for the complete HEWSON collection.

EDIT: Done and done again! (attached!)

SyX

Really nice!!! :)

The only problem is that i can not load Zynaps from B drive, but the fix is really short,  i use this (only the $BE7D Amsdos variable is important, but somebody can find helpful the rest of code):MC_START_PROGRAM                EQU $BD16
TXT_VDU_ENABLE                  EQU $BB54
TXT_VDU_DISABLE                 EQU $BB57
KL_ROM_WALK                     EQU $BCCB

start
    ; Save the disk drive number used to load the program
    LD   HL,($BE7D)
    LD   A,(HL)
    LD   (disk_drive + 1),A
   
    LD   C,$FF                  ; Disable the roms
    LD   HL,real_start          ; Real start address for the program
    CALL MC_START_PROGRAM       ; RUN program

real_start
    CALL TXT_VDU_DISABLE        ; Disable messages from firmware while initializing the ROMs
    CALL KL_ROM_WALK            ; Reinitialize the roms (not only the rom 7, because for example i have ParaDOS in the rom position 6)
    CALL TXT_VDU_ENABLE         ; Enable messages from firmware again

    ; Set the active disk drive at the used to load this program
disk_drive
    LD   A,0
    LD   HL,($BE7D)
    LD   (HL),A
    .
    .
    .


tastefulmrship

Quote from: SyX on 18:36, 12 October 11
Really nice!!! :)

The only problem is that i can not load Zynaps from B drive, but the fix is really short,  i use this (only the $BE7D Amsdos variable is important, but somebody can find helpful the rest of code):
Ok, I'm having a bit of trouble getting drive B to work on WinAPE. Infact, no disc I "insert" seems to work, each one fails!
My .ini looks ok and the .dsk works in A. *confused*



EDIT: Removed ParaDOS from ROM7 and now it works again!

SyX

That is normal, ParaDOS view by default the B drive how a 3"1/2 disk drive (double side and 80 tracks). You can change that using the rsx |DRIVE in configure > disk option ;)

tastefulmrship

Ok, added that code and it seems to work on drive B.

Also, I reset the logo/hiscore timer for psychedelic mode. The new timer only works in raster-logo mode!
(... attached!)

Nich

Quote from: tastefulmrship on 14:13, 12 October 11
Here's the full result made a little smaller by only having the decompressor routine in one location. (Attached!) It leaves a whopping 152K left on disc! I wonder how small we could make it using PACKFIRE?

I thought about single-filing this, but that kinda defeats the object of having a loading screen!
It's good to see that people are using my tutorial already! :D

You should easily be able to fit both the title screen and game into one file. Just decompress the screen to &C000 (I don't worry about trying to stay as close to the original loader as possible!), then decompress the game (you don't need to worry about the compressed screen data any more).

TotO

Quote from: tastefulmrship on 19:18, 12 October 11I reset the logo/hiscore timer for psychedelic mode. The new timer only works in raster-logo mode!
Wise decision. :)
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

SyX

Excellent work!!! :D

If you don't mind, i will send it at my friend Bruno of CPC Power, because there isn't a crack for Zynaps there ;)

Only add your signature, hidden or visible as you prefer ;)

tastefulmrship

Quote from: SyX on 19:45, 12 October 11
If you don't mind, i will send it at my friend Bruno of CPC Power, because there isn't a crack for Zynaps there ;)

Only add your signature, hidden or visible as you prefer ;)
Well, the code includes a lot written by yourself, axelay and redbox as well as ideas from TotO and a lot of other people here. It might be easier to say it's a CPC-Wiki community crack!

TotO

#46
Quote from: SyX on 19:45, 12 October 11If you don't mind, i will send it at my friend Bruno of CPC Power, because there isn't a crack for Zynaps there ;)
Please, test the game to the end (bug free) before releasing on CPC Power ! :)
(I run it with invulnerability on WinAPE and I find it with a "crached screen" when I came back 2 hours laters)


Quote from: tastefulmrship on 19:48, 12 October 11It might be easier to say it's a CPC-Wiki community crack!
I agree.
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

tastefulmrship

#47
Quote from: TotO on 19:58, 12 October 11
Please, test the game to the end (bug free) before releasing on CPC Power ! :)
(I run it with invulnerability on WinAPE and I find it with a "crached screen" when I came back 2 hours laters)
I played it with invulnerability earlier (before all the compression & drive stuff was added) & got though all the levels before they wrapped-around and I gave up & quit. It might be a good idea to have the original TAPE version running for 2 hours as well, just to see if the original has the same problem with extended playtimes.


EDIT: The CP/M version on CPC-POWER doesn't work in drive B, but is that a CP/M problem?

EDIT2: Ah, double dang it! More working ZYNAPS versions.
http://cpcrulez.fr/GamesTest/zynaps.htm

redbox

Quote from: tastefulmrship on 20:10, 12 October 11
EDIT2: Ah, double dang it! More working ZYNAPS versions.
http://cpcrulez.fr/GamesTest/zynaps.htm


Ah, but your final one is a really polished crack, well done, nice work there.


And you got to grips with how Exomizer works with large files  :)

TotO

Quote from: tastefulmrship on 20:10, 12 October 11The CP/M version on CPC-POWER doesn't work in drive B, but is that a CP/M problem?
Yes. It's unfortunately impossible to run a CP/M disk on B drive.
It seem to be hardcoded... When you launch |CPM after a |B command, the CPC try too boot the disc on A:

Nobody for fixing this "ROM" problem ? :D
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

Powered by SMFPacks Menu Editor Mod