cartridge filesystem

Started by arnoldemu, 16:07, 26 September 13

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

gerald

Quote from: Kris on 22:19, 27 September 13
OK, now I understand why we have 2 differents results  :-\


HW emulator ?
Cartridge emulator would be the right word  :D

About the different result (border color), that cannot be explained by that piece of HW.

Kris

Quote from: gerald on 22:24, 27 September 13

About the different result (border color), that cannot be explained by that piece of HW.


How can you be sure about that as results is OK on real CPC+ ?

gerald

Quote from: Kris on 22:33, 27 September 13
How can you be sure about that as results is OK on real CPC+ ?
The two screeshot above have been taken on a real CPC+ and a real GX4000 using the same cartridge emulator and the 1st CPR that arnoldemu provided.
With fixed CPR, the border is black as expected.

Kris

OK, I understand better now....In any case, look like a nice piece of HW. ACID emulation should be the most difficult isn't it ?

gerald

Quote from: Kris on 22:45, 27 September 13
OK, I understand better now....In any case, look like a nice piece of HW. ACID emulation should be the most difficult isn't it ?
Well, the ACID part is the easiest, thanks to nocash work.
This proto is done in 3 parts
-  the cartridge itself, that use a PLD for emulating the acid, and can hold a proper eprom.
-  the eprom emulator, done with a RAM and a PLD for multiplexing access from CPC and access from the uC that program the RAM
-  a custom uC card that handle the transfert from a uSD card to the RAM and can be connected to a PC through USB

In its current state, the system still rely on a PC connected though USB for selecting the cartridge to use, but the goal is to be able to have all controlled from the CPC.

Kris

Impressive work ! Sounds good for CPCplus users :D
Congratulations because there are not so much new HW project .


gerald

I mainly hope that once the HW will be available for everyone  ::) we will see more cartridge game/demo.
Mais ne vendons pas la peau de l'ours avant de l'avoir tué, my current problem is that half the existing cartridges game are randomly crashing >:(

Kris

If you are in "debugging" phase then your project is on the good way.....

arnoldemu

Quote from: gerald on 21:02, 27 September 13
I did not get the same border color, mine was always orange  :o
Looking at the code, the border is not initialised, this includes with the second release.
So the border colour appears to be random at start up - official docs says this:
"The border colour will be undefined at power-on reset "

so if you got black. Well done ! :)

I will make another release soon with some colour fades and colours for the title screen.
My aim is to get this working as well as I can so I can give guidance to others for programming games and be sure my filesystem works correctly on gx4000 and all plus.

A modified filesystem will be useable on ctc-ay. (I have one of these now so I can make carts for cpc too ! :)


My final plan is more to release *new* plus games, especially my own games that have plus features added. Eventually one game which is written to take advantage of most of the plus hardware.
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

arnoldemu

@gerald: Does it work fine on gx4000?
I know the gx4000 will be slightly slower (or faster???).
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

arnoldemu

Quote from: gerald on 23:10, 27 September 13
I mainly hope that once the HW will be available for everyone  ::) we will see more cartridge game/demo.
Mais ne vendons pas la peau de l'ours avant de l'avoir tué, my current problem is that half the existing cartridges game are randomly crashing >:(
@ gerald: This hardware is nice. It would be good to see more hardware solutions so new games can be released.

I am also to see cartridge versions of existing games with plus enhancements.
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

gerald

Quote from: arnoldemu on 11:45, 28 September 13
@gerald: Does it work fine on gx4000?
I know the gx4000 will be slightly slower (or faster???).
Yes, it works on gx4000. Regarding speed, my GX4000 has a 39.9MHz oscillator so it's 0.25% slower than a CPC which use a 40MHz one.

Quote from: arnoldemu on 11:46, 28 September 13
I am also to see cartridge versions of existing games with plus enhancements.
Maybe also true cartridge games, ie using ROM for data and code exec as much as possible and leave RAM for variable, screen or auto-modifing code.

arnoldemu

#37
I have released the source and tools for my cartridge filesystem:

http://www.cpctech.org.uk/download/cart_setup.zip

fs contains the directory for the filesystem, the tools and the code to load the data with instructions.
The tools can be built on linux. I don't have a windows exe in there yet.

single shows how you can create a single binary and download that into ram and execute that.

absolute is a work in progress because there isn't an example. The romInject tool can be used to inject files in a place of choice. In this way you can plan where code/data/music will go and inject the data to that position with this tool, then in your code you can enable specific cartridge pages and do as you want.

These tools need programming knowledge!

I have tried to explain how they work and what they do. Feedback is welcome. I will update them again especially when I start to use them more.

EDIT: absolute example has been updated.

If you use linux, you can make each tool then copy it into a binary directory of your choice and access the tools through shell scripts.

This now shows how you can put data into a cartridge in various ways.

remember, when writing cartridge games you must do everything yourself (drawing text, sprites, screen setup).
The examples show basic hardware setup, and in my other examples I show how to draw sprites so using all my examples together you should be able to have a go at making a cart game now.
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

Powered by SMFPacks Menu Editor Mod