CPCWiki forum

General Category => General Discussion - Introductions => Topic started by: wilco2009 on 13:19, 11 September 13

Title: Hi to all
Post by: wilco2009 on 13:19, 11 September 13

As you can read in the topic, hi to all.


I'm a spectrum user, but one month ago I bought two broken CPC464.
I have repaired one of them, and I'm discovering the cpc world.


The first thing that I did is to build a MEGAROM interface, and I'm totally suprised by the possibilities. In fact now I'm building some MEGAFLASH interface units with a group of friends.



Everything is ok with it, but I have a doubt. Why some ROMs are bigger than 16Kb if are tagged as only one rom in the ROMList: ROM List - CPCWiki (http://www.cpcwiki.eu/index.php/ROM_List)
For instance the size of Chuckie Egg is 17Kb http://www.cpcwiki.eu/imgs/b/b0/EGGRSX.ROM (http://www.cpcwiki.eu/imgs/b/b0/EGGRSX.ROM)


How can I to burn it in a 16kb segment.?
Title: Re: Hi to all
Post by: redbox on 13:23, 11 September 13
Quote from: wilco2009 on 13:19, 11 September 13
Everything is ok with it, but I have a doubt. Why some ROMs are bigger than 16Kb if are tagged as only one rom in the ROMList: ROM List - CPCWiki (http://www.cpcwiki.eu/index.php/ROM_List)
For instance the size of Chuckie Egg is 17Kb http://www.cpcwiki.eu/imgs/b/b0/EGGRSX.ROM (http://www.cpcwiki.eu/imgs/b/b0/EGGRSX.ROM)
How can I to burn it in a 16kb segment.?

It probably contains an AMSDOS header, which is the file system used on CPC discs.

Remove the first 128 bytes (header) and the ROM should be 16kb (16384 bytes) which can be burnt.
Title: Re: Hi to all
Post by: Bryce on 13:37, 11 September 13
Hi and welcome wilco2009,

I'd give you several likes if I could, just for chosing my hardware to build first. Post some pictures of the hardware please, I always like to see new versions :)

Regarding the ROM size. If the raw file in a hex editor is larger than 16384, then it has a header. Just remove the first 80H bytes and it should work fine.

Bryce.
Title: Re: Hi to all
Post by: wilco2009 on 17:55, 11 September 13

Thanks you very much for your fast reply, for your wellcome and for your help.


First, I'm sorry for my english.


Really the first thing that I did was to build a ROM interface like the interface one for spectrum. I didn't knew nothing about ROMs in Amstrad CPC, but I saw the bus is very similar to the spectrum bus, and I designed and make an spectrum like interface for CPC.


After that, while I was reading cpcwiki,  I understood that this kind of interface is only useful for lowerROM and ROM0, but CPC have a lot more possibilites talking about ROMs, and I decided to built a MEGAROM interface as a prototype.


After I was sure that I understood your schematics (I like to understand all that I build), I redrew your schematic with Eagle, and I rerouted the board, adding a very little modification to let me use 512Kb EPROM with two sets of 16 ROMs, selectables by a switch.


After test it and enjoy it I decided to go a step forward and build a MegaflashROM interface with some friends, sharing the cost of the board and components to reach a more professional finish.


I have purchased all the components and redrawn the circuit on Eagle, adding the possibility to use both PLCC or DIP flash chip, and I resized it to make possible to use a standard box of 60x100.


At the end the cost of each kit, with board, components, ZIF and box is 16.45€ (I don't like to earn nothing with it), and probably I send today to the files to seedstudio.com to be built.


Below you can see pictures of the lowerROM and MEGAROM interface and the schematics and the board of the MEGAFLASH interface.


LowerROM interface
(https://lh5.googleusercontent.com/X0jo1vk2Pj2JMCTWDqJYxTHaXg9Ke6gyap7gwZlBvaw=w276-h207-p-no) (https://lh5.googleusercontent.com/X0jo1vk2Pj2JMCTWDqJYxTHaXg9Ke6gyap7gwZlBvaw=w276-h207-p-no)
(https://lh5.googleusercontent.com/gtUr6En2YBFb2f5hkqONVADmfv60bWM0BOwUDL3WpXE=w276-h207-p-no) (https://lh5.googleusercontent.com/gtUr6En2YBFb2f5hkqONVADmfv60bWM0BOwUDL3WpXE=w276-h207-p-no)
(https://lh3.googleusercontent.com/TTAc87JW0t4Y0uAu0OlM63CyHkVqCcNoNovR26uPZb8=w276-h207-p-no) (https://lh3.googleusercontent.com/TTAc87JW0t4Y0uAu0OlM63CyHkVqCcNoNovR26uPZb8=w276-h207-p-no)


(https://lh5.googleusercontent.com/Zz0js1oItSc17D3-NQGdpqw7lYTGdGiGi7n9QYb_5Os=w307-h230-p-no) (https://lh5.googleusercontent.com/Zz0js1oItSc17D3-NQGdpqw7lYTGdGiGi7n9QYb_5Os=w307-h230-p-no)
(https://lh6.googleusercontent.com/hBYY8A7v9iooXBriJBFghae0NzSDT0ifCB4CQhSjJjU=w307-h230-p-no) (https://lh6.googleusercontent.com/hBYY8A7v9iooXBriJBFghae0NzSDT0ifCB4CQhSjJjU=w307-h230-p-no)


MEGAROM


Back and front board sides printed, ready to be transferred
(https://lh6.googleusercontent.com/kkEoYjjvtpWOo1tIoWGBbv9yQiAd_Ut3pPTQtTkaSgM=w231-h224-p-no) (https://lh6.googleusercontent.com/kkEoYjjvtpWOo1tIoWGBbv9yQiAd_Ut3pPTQtTkaSgM=w231-h224-p-no)


(https://lh4.googleusercontent.com/aTGzNpRj1tSdiIAtHQIuEBxbnGoZtI7qHtBwSP1QQ8w=w231-h224-p-no) (https://lh4.googleusercontent.com/aTGzNpRj1tSdiIAtHQIuEBxbnGoZtI7qHtBwSP1QQ8w=w231-h224-p-no)


Home made board
(https://lh3.googleusercontent.com/BvsVL-Sl_GQ-BUQ6hopT9oJ8LWOUduA1wjvh-8bf6wA=w468-h350-p-no) (https://lh3.googleusercontent.com/BvsVL-Sl_GQ-BUQ6hopT9oJ8LWOUduA1wjvh-8bf6wA=w468-h350-p-no)


welding components
(https://lh6.googleusercontent.com/pw2IfJDbb7r2hS6KS7xDHeENZa4tokg0_ZjAa0C5GvA=w236-h229-p-no) (https://lh6.googleusercontent.com/pw2IfJDbb7r2hS6KS7xDHeENZa4tokg0_ZjAa0C5GvA=w236-h229-p-no)


Final result
(https://lh5.googleusercontent.com/RGlYVyoYl71Zy05Wp5A3XYRaeEGWDT6xsr7rAOjmvps=w299-h224-p-no) (https://lh5.googleusercontent.com/RGlYVyoYl71Zy05Wp5A3XYRaeEGWDT6xsr7rAOjmvps=w299-h224-p-no)


interface fitted to the CPC
(https://lh3.googleusercontent.com/shDMxOJff54jHY79jxNCI5WUL5AHiLRz3cOkDbJP9wU=w307-h229-p-no) (https://lh3.googleusercontent.com/shDMxOJff54jHY79jxNCI5WUL5AHiLRz3cOkDbJP9wU=w307-h229-p-no)


MEGAFLASHROM


This is de Box that I purchase to use
(http://i.ebayimg.com/00/s/NTM0WDcwMA==/$T2eC16RHJIYE9qUcOO2+BQRqIwUKLw~~60_12.JPG) (http://i.ebayimg.com/00/s/NTM0WDcwMA==/$T2eC16RHJIYE9qUcOO2+BQRqIwUKLw~~60_12.JPG)




Board ready to be sent to seedstudio.com
(https://lh4.googleusercontent.com/--SrHwH5n65M/UjCc22oXN1I/AAAAAAABUWM/4akRZQjR9s8/w564-h324-no/MEGAFLASHROM.png) (https://lh4.googleusercontent.com/--SrHwH5n65M/UjCc22oXN1I/AAAAAAABUWM/4akRZQjR9s8/w564-h324-no/MEGAFLASHROM.png)
Title: Re: Hi to all
Post by: Joss on 18:46, 11 September 13
Welcome here too Wilco :)  I give you a "like" too in the name of Bryce  :D
Title: Re: Hi to all
Post by: wilco2009 on 19:05, 11 September 13
Hi Joss!, Nice to see you. I didn't expect to see you here.   ;)
Title: Re: Hi to all
Post by: Bryce on 19:33, 11 September 13
Hey, really nice work. I never did the MegaROM layout in Eagle, but the MegaFlash was completely done in Eagle, so if you need any of the original files let me know. The MegaFlash was also made to fit in a particular box, but with different dimensions. If you need any other info regarding the hardware workings of the CPC, then send me questions in a PM. It's very similar to the Spectrum in some ways, but very different to the Spectrum in other ways.

Bryce.
Title: Re: Hi to all
Post by: wilco2009 on 19:52, 11 September 13
Thank you very much Bryce, could be very interesting to take a look of your files.


I think I understand the logic of the hardware, but I don't understand the logic of the software in depth.
I understand the main topics, but I'll not be able to make a program to run on it.


For example, How can I initialise manually ROMs from 8 in a CPC464?


How can I convert a conventional program to run in a ROM?. Probably making a loader and copying the content in RAM?


Do you have some utilities to do it automatically?
Title: Re: Hi to all
Post by: TFM on 20:02, 11 September 13
Very welcome here  :)
Title: Re: Hi to all
Post by: Bryce on 20:09, 11 September 13
I only do the hardware, software isn't really my thing, but there are many here who can answer all those questions for you.

Bryce.
Title: Re: Hi to all
Post by: wilco2009 on 21:30, 11 September 13
Thank you very much again Bryce.


Is for me a Honour to know you.


All your work is really great.

Title: Re: Hi to all
Post by: arnoldemu on 09:27, 12 September 13
Quote from: wilco2009 on 19:52, 11 September 13
How can I convert a conventional program to run in a ROM?. Probably making a loader and copying the content in RAM?
Did you have a specific program you wanted on ROM?


Quote from: wilco2009 on 19:52, 11 September 13
Do you have some utilities to do it automatically?
I will make something that can help you, but some programs may still need modification.
Title: Re: Hi to all
Post by: arnoldemu on 09:31, 12 September 13
To put a game on ROM:

The ROM needs a special header, it needs to register a startup function and a function for the "|" command to start it. The command can then copy the ROM data into RAM and then run it.

Up to 4 roms can be used, they must be side by side. The other 3 roms also have headers, but it's the main ROM (1st) that has the | command.

So in this way you can put a program of 63K into ROM (not full 64K because of the headers).

If you compress the data (pucrunch) then you can have larger programs I think.

It is easiest to put a program on there that you can RUN from basic and is a single file. More files means a more special function.

I will make an example and you will see and with a tool to make them.
Title: Re: Hi to all
Post by: wilco2009 on 12:24, 12 September 13

Quote from: arnoldemu on 09:27, 12 September 13Did you have a specific program you wanted on ROM?

I'm thinking in general, not in a specific program.


Quote from: arnoldemuI will make something that can help you, but some programs may still need modification.

It will be great!!

Quote from: arnoldemu on 09:31, 12 September 13
To put a game on ROM:

The ROM needs a special header, it needs to register a startup function and a function for the "|" command to start it. The command can then copy the ROM data into RAM and then run it.

Up to 4 roms can be used, they must be side by side. The other 3 roms also have headers, but it's the main ROM (1st) that has the | command.

So in this way you can put a program of 63K into ROM (not full 64K because of the headers).

If you compress the data (pucrunch) then you can have larger programs I think.

It is easiest to put a program on there that you can RUN from basic and is a single file. More files means a more special function.

I will make an example and you will see and with a tool to make them.



I have  thought more or less in this process, but I'm not known cpc at depth, and at the moment, I can't be able to make the program.


Thanks for your help, and I'll wait your example.
Title: Re: Hi to all
Post by: arnoldemu on 13:52, 12 September 13
Example is attached.

I give some instructions of how I did it.
I give the main rom.asm file (without binary files). Can be built with:
pasmo --bin gb-cpc.asm gb-cpc.bin
pasmo --bin rom.asm rom.bin

of course you need the game binary data. Not in this zip.
I give the final rom.rom I made. It is for the 464, it crashes on 6128 :(

But I think it will show what to do with a simple game.

I think most games need to be compressed to fit.

I don't have time to make the tool yet that will allow you to have more than 1 rom.


Title: Re: Hi to all
Post by: McKlain on 18:01, 12 September 13
Tremendo  ;D
Title: Re: Hi to all
Post by: TFM on 20:06, 12 September 13
For assembling I use the famous MAXAM ROM attached to the CPC (or CPC emulator). Seel wiki page.
Title: Re: Hi to all
Post by: TFM on 20:08, 12 September 13
Quote from: TFM on 20:06, 12 September 13
For assembling I use the famous MAXAM ROM attached to the CPC (or CPC emulator). Seel wiki page.


@Wilco: If you want to have a particular game in ROM, you can post it's DSK here. If it has an simple unprotected loader, then I can make a ROM for you and put the ROM file back here.
Title: Re: Hi to all
Post by: wilco2009 on 15:30, 13 September 13
Thank you a lot.
I'm thinking in general, not in a specific game, but is very interesting your offer.


I'll think on it and will tell you a game to convert.
Title: Re: Hi to all
Post by: wilco2009 on 15:51, 13 September 13
Quote from: arnoldemu on 13:52, 12 September 13
Example is attached.

I give some instructions of how I did it.
I give the main rom.asm file (without binary files). Can be built with:
pasmo --bin gb-cpc.asm gb-cpc.bin
pasmo --bin rom.asm rom.bin

of course you need the game binary data. Not in this zip.
I give the final rom.rom I made. It is for the 464, it crashes on 6128 :(

But I think it will show what to do with a simple game.

I think most games need to be compressed to fit.

I don't have time to make the tool yet that will allow you to have more than 1 rom.


Thankyou very much for you example.
I have to read it in depth to learn the process.

Title: Re: Hi to all
Post by: Munchausen on 03:44, 15 September 13
Quote from: wilco2009 on 15:30, 13 September 13
Thank you a lot.
I'm thinking in general, not in a specific game, but is very interesting your offer.


I'll think on it and will tell you a game to convert.


FYI, the ROM manager I think can automatically convert many simple software to ROM for you http://www.octoate.de/wp/2013/02/17/roman-v1-0megaflash-rom-manager/
Title: Re: Hi to all
Post by: Devilmarkus on 11:21, 15 September 13
Nice usage of my C64 ROM ;)

Welcome on board, Wilco!
Title: Re: Hi to all
Post by: TFM on 18:52, 15 September 13
Quote from: Munchausen on 03:44, 15 September 13

FYI, the ROM manager I think can automatically convert many simple software to ROM for you http://www.octoate.de/wp/2013/02/17/roman-v1-0megaflash-rom-manager/

That works only up to 15 KB, which is far too small. Using the legendary Softbrenner from the Inicrons, you can use up to 31 KB. So if you compress a game, it will fit in there.

Title: Re: Hi to all
Post by: wilco2009 on 08:24, 16 September 13
Quote from: Devilmarkus on 11:21, 15 September 13
Nice usage of my C64 ROM ;)

Welcome on board, Wilco!


Thanks!
Really nice ROM.  ;)
Title: Re: Hi to all
Post by: wilco2009 on 12:07, 16 September 13
Quote from: TFM on 20:08, 12 September 13


@Wilco: If you want to have a particular game in ROM, you can post it's DSK here. If it has an simple unprotected loader, then I can make a ROM for you and put the ROM file back here.


I'm thinking in Goody, but there are only disk versión and I don't know if could be possible to copy it to a ROM or it need the disk.
If not, could you convert "Game Over" and "Camelot Warriors".


I'll send you the links by private?



Title: Re: Hi to all
Post by: TFM on 15:08, 16 September 13
Disc versions are perfectly to convert into a ROM. However they should already be cracked, because until November I'm short in time. [nb]Have to finish a game until then.[/nb] Just email me the DSKs and I see what I can do.[nb]See PM[/nb]
Title: Re: Hi to all
Post by: mr_lou on 17:09, 16 September 13
Hm, I would also be interested in having a few games as ROM for my Megaflash, if possible.

:)
Title: Re: Hi to all
Post by: Gryzor on 18:19, 16 September 13
Just wanted to welcome you here :) Have fun!


Also, mmm, a modified board... let us see pics when the finished product is back, will you? :)
Title: Re: Hi to all
Post by: TFM on 19:12, 16 September 13
Quote from: mr_lou on 17:09, 16 September 13
Hm, I would also be interested in having a few games as ROM for my Megaflash, if possible.

:)


That's not a problem.... just attach the DSKs...

Title: Re: Hi to all
Post by: wilco2009 on 07:29, 17 September 13
Quote from: Gryzor on 18:19, 16 September 13
Just wanted to welcome you here :) Have fun!


Also, mmm, a modified board... let us see pics when the finished product is back, will you? :)


Of couse.
Boards are finished and have been sent from seedstudio today. When I have them I'll publish pictures, and also with components. ;)
Title: Re: Hi to all
Post by: TFM on 20:14, 24 September 13
Hi Wilco,


Got your Email, but am too busy at the moment. Will be not forgotten though.

Powered by SMFPacks Menu Editor Mod