Falcon programmer to team up with ARM 'coder'

News,announcements,programming,fixes,game patches & discussions.

Moderator: Petari

Post Reply
Zarchos
Posts: 25
Joined: Mon Dec 11, 2017 4:01 pm

Falcon programmer to team up with ARM 'coder'

Post by Zarchos » Sun Jan 21, 2018 8:31 am

Hi all.

I have a Falcon and want to learn and produce games for this machine.

The hitch is that, let's face it : life is short, time is a scarce resource.(One third must be dedicated to playing with the cats, anyway. THIS was the meaning of 42 !)
As I code on the Archimedes, which has a much simpler processor than the 68030 (or the DSP) I have this proposal to do :
- teaming with sbdy who is a good 030 and / or DSP coder.
To do what ?
Well, this :
- adapt Shadow Of The Beast to the Falcon
I am at the moment working on the Archie version.

I think it could be a great win / win deal.
The 030 coder could learn ARM programming, and in return I could enjoy the benefits of good 030 coding, and possibly DSP.

You can see where I am about in the process of porting SOTB to the Archie on my YT channel Zarchos
https://www.youtube.com/user/Archimedes75009/videos
Less than 5 hours for the coding, starting from scratch (it really is a poor game, technically, for a machine with fast memory accesses ;-) ).

Let's kick some Amiga fanatics Atari-Acorn-bashing arses once for all, and let's show them which were the best machines.
1st : Falcon
2nd : Archimedes

I have many more projects, linked to the project of my museum and nursing development studios dedicated to retro machines, so there would be further benefits for whoever has the strange idea to decide to work with me 8-)
I also have enough space in my real estate properties to be able to welcome anybody warmly if he or she decides to come and meet me, and stay to visit the place (Noyon, in Picardie. 1 hour by train from Paris).

Xavier Louis Tardy.

Petari
Posts: 453
Joined: Tue Nov 28, 2017 1:32 pm

Re: Falcon programmer to team up with ARM 'coder'

Post by Petari » Sun Jan 21, 2018 8:37 am

What is exact speed ratio of stock Archimedes and stock (basic machine versions) Falcon ? Here I mean using some good CPU and memory speed SW.
There is 2 kind of people: one thinking about moving to Mars after here becomes too bad, the others thinking about how to keep this planet habitable.

Zarchos
Posts: 25
Joined: Mon Dec 11, 2017 4:01 pm

Re: Falcon programmer to team up with ARM 'coder'

Post by Zarchos » Sun Jan 21, 2018 8:42 am

Petari wrote:
Sun Jan 21, 2018 8:37 am
What is exact speed ratio of stock Archimedes and stock (basic machine versions) Falcon ? Here I mean using some good CPU and memory speed SW.
For the very early Archies : 8 Mhz CPU and bus.

CPU delivers 4.6 MIPS (for what it means, not a really good measure to test real speed of a machine).

What makes the Archie strength for 2D is that for linear loading/ unloading between memory and registers, here is the timing, in cycles :
4 S + (number of registers in the transfer list -1 ) S
S= 125 ns
and the ARM can use 13 registers each time it will load or store (there is no address or date separation), the 2 others for source and destination
(The ARM has 16 registers usable in USER MODE, 15 are freely usable, the other one is the PC, but you can use it to have fast conditional or not branching to your routines with the result of an indirect reading)
Each register is 4 bytes, so 4 pixels in 256 colour modes.

The ARM chip automatically uses a copy of the contents of the register used for source or for destination, with values of the 2 lowest bits forced to 0, to align on a word aligned address (a word is 32 bits with ARM terminology).
There is a trick to 'merge' one cycle of the video DMA accesses in the multiple register transfer instructions execution if you use them with source or destination addresses on quadwords (that is 16 bytes) and I use that in my code of course : for the screen memory all lines are on a quadword aligned address, my shifted ( 0 to 3 ) picture banks too, and nearly 95% of my transfers use 12 registers to exit and start with next transfer again on a quadword aligned address. (12 registers = 48 bytes, or 3 x 16 : how convenient ;-) ).

Post Reply