Hello,
Since Gerald gives us the meaning to make project on cartridge, i've decided to test some cartridges possibilities. So, after many hours of debugging, you could find here the Cpr version of X-Mas 2008.
This Special edition now works on all Amstrad Plus version. 64Kb is now necessary to run this demo instead of 128Kb in the Disk version.
64KB ? Yes, this dentro runs on Gx 4000 and Amstrad 464 Plus Too!
It is time to insert your cartridge in your system now!
Yippee, thanks. My GX4000 is very happy.
All my tests were done on Winape and Gx 4000, so please tell me if it runs correctly on Amstrad Plus original models (464 & 6128 Plus).
Thanks!
Great !
Next step: Synergy ? :)
why not? but i'll need more time....
Please can you tell me if the dentro works at home ? Some people report me that there is some problems. Tell me in which machine you had run it. Thank you !
Sorry but I believe the Cpr version posted here has problems of sound. I don't know why but I'll be back soon with a full running version.
At least, it make MESS crash even before it make it to the driver screen :o
@Ast (http://www.cpcwiki.eu/forum/index.php?action=profile;u=573):
The header has a bad size. :(
bytes 4,5,6,7 should be 24,00,01. The size is bad here. Arnold thinks it's a bad cpr and loads it as a binary dump.
The boot seems bad too. I don't see where you set interrupt mode 1. By default z80 restarts in interrupt moDe 0.
EDIT: I see IM1, but interrupts are enabled before it is set. that will cause a problem.
Have you set all the crtc registers? All registers are set to 0 at reset time.
EDIT: Please setup all the hardware in your boot code and please set interrupt mode 1 before enabling interrupts. I also don't see the PPI being initialised. Port A is input at startup. Please fix it so I can see it working 100%.
Edit: I see you tested it on gx4000. Did you test it through the car chooser or put it in a slot and boot it direct?
I keep all your comments to modify it and i'll do my best for the next version...
Thanks for advices. I didn't know i must initialize the ppi so i.d correct it too.
Can you tell me more about the size problem. You speak about 4 bits and give me 3 values only. Thanks.
Concerning Gx 4000, i simply put the cpr file in the game slot (15) and run it using the menu.
Quote from: Ast on 22:15, 04 May 15
I keep all your comments to modify it and i'll do my best for the next version...
Thanks for advices. I didn't know i must initialize the ppi so i.d correct it too.
Yes, assume all hardware state is unknown and initialise all you use.
Quote from: Ast on 22:15, 04 May 15
Can you tell me more about the size problem. You speak about 4 bits and give me 3 values only. Thanks.
Oops.
The size field is the size of the cpr file with 8 subtracted. It is written like z80, low byte, then next then next then high byte.
For your cart it is (including the 0 I missed out - oops):
24,00,01,00
Size of your cart file is &00010028
Quote from: Ast on 22:15, 04 May 15
Concerning Gx 4000, i simply put the cpr file in the game slot (15) and run it using the menu.
it is possible the game menu doesn't initialise all hardware state when the cart is run.. i will mention this to gerald.
if you put it into another slot and activate the slot you can run it without game menu and get the correct actual initial hardware state. :)
Or, use a usb cable and download it into the cart directly - this will do the same.
The c4cpc is a great design :)
Quote from: arnoldemu on 08:59, 05 May 15
it is possible the game menu doesn't initialise all hardware state when the cart is run.. i will mention this to gerald.
The PPI, memory configuration, ASIC paging/lock, interrupt mode, r register are initialised to reset value when leaving CprSelect or the BootStrap (for big cartridge).
Quote from: arnoldemu on 08:59, 05 May 15
if you put it into another slot and activate the slot you can run it without game menu and get the correct actual initial hardware state. :)
That would be OK if the RIFF size was correct ;) , the uC only check that value to decide to use the bootstrap or not.
Quote from: arnoldemu on 08:59, 05 May 15
Or, use a usb cable and download it into the cart directly - this will do the same.
That the best method for getting the out of reset state. Load the CPR, then power on the GX/CPC
Quote from: arnoldemu on 08:59, 05 May 15
The size field is the size of the cpr file with 8 subtracted. It is written like z80, low byte, then next then next then high byte.
For your cart it is (including the 0 I missed out - oops):
24,00,01,00
Size of your cart file is &00010028
Must i put #24 or #28 ?
Quote from: Ast on 10:56, 05 May 15
Must i put #24 or #28 ?
Size of your cart file is &00010028 (in fact &0001002C)
size field is the size of the cpr file with 8 subtracted
= &00010024 (24 00 01 00 in little endian)
Remember this is a 64kb cartridge, not 128kb one....
So is the size the same thing ?
Can you give me the way of this result? How do you do?
Quote from: Ast on 12:37, 05 May 15
Remember this is a 64kb cartridge, not 128kb one....
So is the size the same thing ?
Can you give me the way of this result? How do you do?
For a N 16384 page cart :
RIFF size field =
AMS! : 4
cbxx : + N * ( 8 + 16384)
File size will be RIFF size + 8
for a 64k cpr N=4 :
- RIFF size = 4 + 4*(8+16384) = 65572 = 0x10024
- File siez = 65580 = 0x1002C
Thanks a lot Gerald.
As i see, here is the good bytes you have to put :
For 64kb cartridge bit 4,5,6 and 7 must be : #24,00,01,00
For 128kb cartridge bit 4,5,6 and 7 must be : #44,00,02,00
For 256kb cartridge bit 4,5,6 and 7 must be : #84,00,04,00 <- sorry to forget this size
For 512kb cartridge, bit 4,5,6 and 7 must be : #04,01,08,00
Maybe It can help someone, who knows?
Here is the final version. Thanks to Gerald and ArnoldEmu for their good advices. This time, dentro will run with no black screen and music...
@DevilMarkus: Please erase the first file in this topic.
@All CpcWiki readers : Please send me a comment to tell me if it works at home and which system you used to run this dentro !
Woking fine on my GX4000 !
Great job ;)
Thanks!
Will test it in my plus' and gx. Love the new scroller text tho, I read that last night.
Send me a feedback when i'll be done, please. I want to know if it runs correctly on Amstrad plus 464 & 6128.
Happy to read you love the 'new scroller'...
Quote from: Ast on 13:57, 05 May 15
Here is the final version. Thanks to Gerald and ArnoldEmu for their good advices. This time, dentro will run with no black screen and music...
@DevilMarkus: Please erase the first file in this topic.
@All CpcWiki readers : Please send me a comment to tell me if it works at home and which system you used to run this dentro !
tested on all my ASIC based hardware and it's fine on all of it :)
Many thanks the tune is as awesome as ever.
Can you tell me which hardware you used precisely ?
Quote from: Ast on 22:19, 05 May 15
Can you tell me which hardware you used precisely ?
Sure....
GX4000
464plus (Internal upgrades to 6128plus spec) with connected Xmem, Xmass, PlayCity and Mini Booster
6128plus
SO I guess you could say 2 6128plus'
Craig
Fine !
Did someone test it on amstrad 464 plus nude (without any expansions for sure) ?
Quote from: Ast on 19:02, 10 May 15
Did someone test it on amstrad 464 plus nude (without any expansions for sure) ?
yes. confirmed it works fine :)
464 plus with NO extras :)
Thank you for testing. It's fine this dentro works on all amstrad plus range... CoOl...
Quote from: Ast on 19:47, 24 May 15
Thank you for testing. It's fine this dentro works on all amstrad plus range... CoOl...
So It's official this is the first GX4000 demo, who's next??
My next project is coming... Be connected... And never forget, Gx4000 rulez... I'll do my best for all my next demos/intros run on all amstrad plus, including 464 Plus and Gx 4000 for sure!
Kiss.
Eh, dunno if it rules, but I like it :)