CPCWiki forum

General Category => Demos => Topic started by: Ast on 15:02, 04 May 15

Title: X-Mas 2008 Special Edition !
Post by: Ast on 15:02, 04 May 15
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!
Title: Re: X-Mas 2008 Special Edition !
Post by: CraigsBar on 15:10, 04 May 15
Yippee, thanks. My GX4000 is very happy.
Title: Re: X-Mas 2008 Special Edition !
Post by: Ast on 15:22, 04 May 15
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!
Title: Re: X-Mas 2008 Special Edition !
Post by: Kris on 15:32, 04 May 15
Great !
Next step: Synergy ? :)
Title: Re: X-Mas 2008 Special Edition !
Post by: Ast on 15:41, 04 May 15
why not? but i'll need more time....
Title: Re: X-Mas 2008 Special Edition !
Post by: Ast on 21:37, 04 May 15
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 !
Title: Re: X-Mas 2008 Special Edition !
Post by: Ast on 22:14, 04 May 15
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.
Title: Re: X-Mas 2008 Special Edition !
Post by: remax on 22:49, 04 May 15
At least, it make MESS crash even before it make it to the driver screen  :o
Title: Re: X-Mas 2008 Special Edition !
Post by: arnoldemu on 23:14, 04 May 15
@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?
Title: Re: X-Mas 2008 Special Edition !
Post by: Ast on 00:15, 05 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.


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.
Title: Re: X-Mas 2008 Special Edition !
Post by: arnoldemu on 10:59, 05 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.


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



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 :)

Title: Re: X-Mas 2008 Special Edition !
Post by: gerald on 11:38, 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).

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.

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
Title: Re: X-Mas 2008 Special Edition !
Post by: Ast on 12:56, 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 ?
Title: Re: X-Mas 2008 Special Edition !
Post by: gerald on 13:11, 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)
Title: Re: X-Mas 2008 Special Edition !
Post by: Ast on 14: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?
Title: Re: X-Mas 2008 Special Edition !
Post by: gerald on 14:55, 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

Title: Re: X-Mas 2008 Special Edition !
Post by: Ast on 15:13, 05 May 15
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?
Title: Re: X-Mas 2008 Special Edition !
Post by: Ast on 15: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 !



Title: Re: X-Mas 2008 Special Edition !
Post by: gerald on 17:43, 05 May 15
Woking fine on my GX4000 !

Great job  ;)
Title: Re: X-Mas 2008 Special Edition !
Post by: Ast on 18:00, 05 May 15
Thanks!
Title: Re: X-Mas 2008 Special Edition !
Post by: CraigsBar on 18:16, 05 May 15
Will test it in my plus' and gx. Love the new scroller text tho, I read that last night.
Title: Re: X-Mas 2008 Special Edition !
Post by: Ast on 18:21, 05 May 15
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'...
Title: Re: X-Mas 2008 Special Edition !
Post by: CraigsBar on 23:42, 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.
Title: Re: X-Mas 2008 Special Edition !
Post by: Ast on 00:19, 06 May 15
Can you tell me which hardware you used precisely ?

Title: Re: X-Mas 2008 Special Edition !
Post by: CraigsBar on 00:21, 06 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

Title: Re: X-Mas 2008 Special Edition !
Post by: Ast on 00:58, 06 May 15
Fine !
Title: Re: X-Mas 2008 Special Edition !
Post by: Ast on 21:02, 10 May 15
Did someone test it on amstrad 464 plus nude (without any expansions for sure) ?
Title: Re: X-Mas 2008 Special Edition !
Post by: arnoldemu on 21:04, 24 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 :)
Title: Re: X-Mas 2008 Special Edition !
Post by: Ast on 21:47, 24 May 15
Thank you for testing. It's fine this dentro works on all amstrad plus range... CoOl...
Title: Re: X-Mas 2008 Special Edition !
Post by: CraigsBar on 22:15, 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??
Title: Re: X-Mas 2008 Special Edition !
Post by: Ast on 22:19, 24 May 15
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.
Title: Re: X-Mas 2008 Special Edition !
Post by: Gryzor on 18:57, 07 June 15
Eh, dunno if it rules, but I like it :)