Los Amores de Brunilda - Amstrad CPC

Started by XeNoMoRPH, 14:47, 03 January 21

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Cwiiis

I'd love to play this, but I don't have a Dandenator and they aren't available to buy (I'm on the waiting list...) - have you considered making a Plus/GX4000 version?

GUNHED

Let me know when 'not now' turns into 'right now'. I'm a programmer, but nevertheless I did the Orion Prime translation. Not small either.
http://futureos.de --> Get the revolutionary FutureOS (Update: 2022.03.09)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

Joseman

Quote from: Cwiiis on 19:18, 23 September 21
I'd love to play this, but I don't have a Dandenator and they aren't available to buy (I'm on the waiting list...) - have you considered making a Plus/GX4000 version?
Hi

Do you know the Dandanator Entertainment System?
https://auamstrad.es/des/#pack
There will be a version of Brunilda for it.
Or isn't avaliable at the moment?


Cwiiis

Quote from: Joseman on 10:15, 24 September 21
Hi

Do you know the Dandanator Entertainment System?
https://auamstrad.es/des/#pack
There will be a version of Brunilda for it.
Or isn't avaliable at the moment?

Right, not available right now - I'm on the waiting list.

XeNoMoRPH

your amstrad news source in spanish language : https://auamstrad.es

bitvision

Congrats Spirax, amazing work!. Just completed the game and I would say I really liked everything on it. Looking forward to buy the physical release. Bravo  8) !!!

XeNoMoRPH

Quote from: bitvision on 03:17, 29 September 21
Congrats Spirax, amazing work!. Just completed the game and I would say I really liked everything on it. Looking forward to buy the physical release. Bravo  8) !!!
physical edition will come out in cartridge format for DES.
your amstrad news source in spanish language : https://auamstrad.es

Targhan

I want to play this!!! On the real hardware!!! What can be done if no Dandanator is available?
Targhan/Arkos

Arkos Tracker 2.0.1 now released! - Follow the news on Twitter!
Disark - A cross-platform Z80 disassembler/source converter
FDC Tool 1.1 - Read Amsdos files without the system

Imperial Mahjong
Orion Prime

XeNoMoRPH

#33
Quote from: Targhan on 13:28, 29 September 21I want to play this!!! On the real hardware!!! What can be done if no Dandanator is available?

sorry but there is no other possible way other than with Dandanator or DES, due to the large amount of data that the game handles, the game is programmed to work from cartridge.
your amstrad news source in spanish language : https://auamstrad.es

roudoudou

Quote from: XeNoMoRPH on 13:45, 29 September 21
sorry but there is no other possible way other than with Dandanator or DES, due to the large amount of data that the game handles, the game is programmed to work from cartridge.

But DES is "only" 512K like most of ROM expansion board, so i guess what is blocking is the use of non conventionnal connection?
use RASM, the best assembler ever made :p

I will survive

Cwiiis

I was looking to see how feasible a Dandanator -> Plus rom conversion would be, and the answer is that depending on how the game uses it, non-trivial.

The Plus lets you map the first 128K of memory in any block, then the rest of the 512K only in the last block. The Dandanator lets you map any two pages to any block (there are some limitations, but for all intents and purposes this is the case). Depending on how this is used, this could make cartridge ports difficult/infeasible, but is fine if you're looking to make a ROM set.


The second Dandanator feature that's more troublesome is its 'delayed action'. This lets you queue up an action (such as mapping a page) and have it executed when a RET opcode is fetched. I don't know if games tend to use this or not, but it has the potential to make ports pretty much infeasible too.

There might be more details that make hacks difficult, I'm just going on a cursory reading of the docs I could find... I expect if you have access to the source though, making a ROM set would be very feasible and if you designed from the start with it in mind, making a Plus ROM would also be very feasible.

Spirax

the game need to access more than 200k on memory (ROM and RAM) at the same time.This is a big handicap for a disk version as also will not fit on a 6128 without reading from disk continuosly.
but it could be posible with another cardbridges with a LOT of work
We have programmed the game to take some advantages from Dandanator.

there are 2 dandanator funtionalities that will not allow to make a easy hack or port to another cardbridge format.
1.- the dandanator allow us to page 2 slots of memory on different addresses and at the same time.

we use a simple memory map of 64k of ram, so it will be compatible with all the models 464 and 6128.we disable the firmware as we don't use it for anythiing
on #0000 we have the main code of the game with our own interrupts handler , we only use 16k of ram for the main code ;)
on #4000 we have the main screen of the gameon #8000 we map one slot of the dandanatorwhen it is disabled we have the current level map and some routines to manage the map, scripts, doors, etcon #c000 we have the shadow screen of the gamebut on #c000 we map a second slot of the dandanator
to print the screen we use 256 tiles per map that are stored on 2 consecutive slots of 16k (32k on total)
the original tiles from MSX was 256 tiles of 16x16 (32k)For the CPC we use 256 Tiles of 12x16 (24k max) and the other 8k are used to store the map for the level.
we map both slots (32k) at the same time on memory, 1st at #8000 and 2nd on #c000
to print the tiles we can have the ROM slot on top on screen Memory at #c000 as for the tiles don't use mask
so when we read the from #c000 we take the tile data from ROM and when write to #c000 we write on the RAM (memory screen)
for the sprites we only use one slot of 16k that is mapped on #8000 and the 2nd slot on #c000 is disabled.so we can print the sprites on both screens at #4000 and #c000 using masks (as we need to read from the second screen at #c000 to apply the maks of the sprite)
we use both screens to wrote on it on alternates fotograms,when we are writing on the main screen we are showing the shadow, when we are writing on the shadow we are showing the main, etc.
we also use 2 slots (32k) for the music, on every interrupt we map both slots 32k at the same time, so we can run the player from rom and have the music, instruments, efects, etc uncompressed on rom without need to use the ram.
for the lenguage we only use one slot of 16k per lenguage that is mapped on #8000, on this slot there are most of the print routines and all the text for the full adventure, when this slot is mapped we can write on both screens as the second slot at  #c000 is disabled.

2.- the second funcionality that will be unable to reproduce on other cardbridge is the ability to write on the cardbridge the state of the game to recover it after power off the cpc, this routines for save and load will need to be disabled on others cardbridges.


I don't say it's imposible, but have a lot of work and most of the screen print routines will need to be rewrited if only one slot can be mapped at the same time.for example to print screen now we map both slots and print all the tiles without change the slot mapped. (only when music interrupt is done)
if only one slot can be mapped at the same time, the print screen routine will need to check per each tile the slot where the tile is stored to map the apropiate slot 1 or 2 on the memory slot.

Also the second screen address will need to be moved to #8000 and all the slots reprogramed to be mapped at #c000
There are no plans to reprogramm it to support any other cardbridge.

Targhan

Please bear in mind that in no way am I asking for the creators to reprogram their game :). But I'd like to play it, and it seems no hardware can be bought at the moment :(.
Targhan/Arkos

Arkos Tracker 2.0.1 now released! - Follow the news on Twitter!
Disark - A cross-platform Z80 disassembler/source converter
FDC Tool 1.1 - Read Amsdos files without the system

Imperial Mahjong
Orion Prime

Dubliner

Did you try Hobbyretro? I think they do have Dandanators on stock.

https://hobbyretro.com/retro/dandanator-cpc


Sebastian Blanco

So the game will work from some sort of cartridge because it uses too much ram ?.How does it managed to works on a 128k zx spectrum then, the cpc version is a larger game ?.

TotO

#40
Quote from: Sebastian Blanco on 03:18, 01 October 21
So the game will work from some sort of cartridge because it uses too much ram ?.How does it managed to works on a 128k zx spectrum then, the cpc version is a larger game ?.
May be it is the new way to do speccy ports.
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

Spirax

Quote from: Sebastian Blanco on 03:18, 01 October 21
So the game will work from some sort of cartridge because it uses too much ram ?.How does it managed to works on a 128k zx spectrum then, the cpc version is a larger game ?.
Hello Sebastian.
the difference is than this is a port of the MSX 2 graphics version that is 1Mb cardbridge.
On the CPC version the cardbridge is only 512K.
There are different cardbridges that use different programming modes. we chossed the Dandanator standard for some specs we use on the game.
There are different models of Dandanators compatible with the rom,

Dandanator CPC mini, (The original)
Dandanator DES
Dandanator Elite
Dandanator CPC dual.
bassically all the models that use the free open source from dandanator proyect.

There are also some emulators than provide support to emulate the dandanator cardbrigde.
RetrovirtualMachine
CPCEC
ZESARUX


We reference it as a por of the ZX Spectrum as the original was relased for ZX first.The real difference is than on ZX 8 pixeles are stored on only 1 Byte (with the color clash of a 8x8)on MSX2 and CPC mode 0, 8 pixeles are stored on 4 Bytes, so you need 4 x memory store the same graphics.

on the CPC version we use an special resolution on the ctrc to use tiles of 12x16 instead the 16x16 as the MSXso we need 3 x memory of the zx to store the graphics.


roudoudou

Quote from: TotO on 09:54, 01 October 21
May be it is the new way to do speccy ports.
Even dandanator bank switching is weird, it offers ROM configuration kind like CPR cartridge on all slots so...
...if DES annoys you, i'm sure you can make this 2 slots configuration on regular CPC with a better handling (for high performance banking), then Brunilda may be ported changing banking macro only  :P
use RASM, the best assembler ever made :p

I will survive

reidrac

@Spirax thanks for the technical explanation, very interesting.

And also: thanks for the game!
Released The Return of Traxtor, Golden Tail, Magica, The Dawn of Kernel, Kitsune`s Curse and Brick Rick for the CPC.

If you like my games and want to show some appreciation, you can always buy me a coffee.

robcfg

I'd love a M4 compatible version.


In the meantime, I'll get my Dandanator out  :D

roudoudou

Quote from: Spirax on 12:16, 01 October 21
the difference is than this is a port of the MSX 2 graphics version that is 1Mb cardbridge.
On the CPC version the cardbridge is only 512K.
on the CPC version we use an special resolution on the ctrc to use tiles of 12x16 instead the 16x16 as the MSXso we need 3 x memory of the zx to store the graphics.
thanks for sharing, great work!
use RASM, the best assembler ever made :p

I will survive

TotO

@Spirax Thank you for sharing the information about the followed process to port the game.
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

Uto

#47

Hi!

As I was not registered in this forum, I will introduce myself first, and then go ahead with the topic: I was (am) an Spectrum user, although Amstrad CPC was very present in my life BITD (some friends and neighborghs had one). At the moment I have a CPC 6128 ready to use among some other retro machines.


At this moment I can say I can code in Z80 assembler properly, although I had not made games, but some (I hope helping tools). The one more related to CPC is Maluva (https://github.com/daad-adventure-writer/MALUVA), an addon for Infinite Imaginations (aka Tim Gilberts) DAAD, that is the text adventure game engine made for the Spanish company Aventuras AD. I started
by making it for Spectrum, then for CPC, then for MSX, then for Amstrad PCW, then I had to learn 6502 assembler in order to do it for C64 and Plus/4. It was fun, and made a man who knows a little from all those machines, and a lot from none of them.

So why I introduce myself in this thread? Because I came here to say something related with it:

Yesterday  I read about this game in Twitter, and I asked myself I I could port the game to M4 interface. I was out with the family so I read @Spirax post vaguely, but after thinking it wasn't that hard, I read again and thought it was harder, and now I agree with Spirax it's rather difficult.


So I come here with some questions, mainly for the author, aiming to have a serious look at the chances of having a M4 port, knowing it's not going to be easy, or maybe not just difficult but too laborious, which in the end makes it difficult anyway (lack of time).

First obvious question is:  can I have the source code? Otherwise this "projects" end here and now for me :-)

Aside of that, I want to share some thoughs to see what are the chances we (ehhmmm, I) have:

- The M4 interface is able to load CPC+ cartridges in a standard CPC. This is fact. Of course, most cartridge won't work because they use CPC+ features, but if you create a cart that don't use them it'll work. You can check Barbarian cart in M4 to check.

- That means you can create a cart, plenty of ROM slots, just like with Dandanator, that behave like ROM. I yet have to find how they can be paged, although I suspect it will work with standar CPC paging, which would be a problem.

- M4 interfaca can use the SD card, so savegames won't be a problem. Probably it's matter of paging the firmware in, and use a 16K file simualting the savegames slot.


There are big challenges because what @Spirax says, the way the slots are used, and very specially because of the music.

So not many things to say yet, I will be investigating a bit about those CPC+ carts and ROM  paging (which I have forgotten but was used in the Maluva addon). Any information is welcome.


Oh, I promise nothing, I'm having a serious look at it, and maybe tomorrow I say: it's impossible, or is possible but to laborious, etc.


robcfg

Hi, mate!


Nice to see you here too.


What makes the M4 banking that different from the Dandanator one, that it poses such a problem? Aren't they both romboxes?

ComSoft6128

#49
Quote from: Targhan on 13:28, 29 September 21
I want to play this!!! On the real hardware!!! What can be done if no Dandanator is available?


If you have a Gotek or 3.5" drive and ParaDos you could use the Romdos D20 format (.dsk or real disk) and that gives 792K of storage space.


RomDos:
https://www.cpcwiki.eu/index.php/ROMDOS

Powered by SMFPacks Menu Editor Mod