View Single Post
Old 11 February 2020, 18:28   #497
Registered User

Join Date: Sep 2018
Location: Germany
Posts: 35
Originally Posted by Steril707 View Post
I was under the impression (seeing how the 1200 operates) that a faster CPU needs less DMA cycles to get stuff done..

Is that wrong?
What roondar said.

To recap where you could save dma cycles for AGA/68020+ machines:
- faster cpu - Some instrcutions are 2 to 4 times faster. I could give you some examples if you want to or just read the 68020 users manual. And notice that sometimes 2 instructions get fetched by proceesor at once via one single access to memory (e.g. two add.x dx,dy)
- caches (no memory/DMA accesses when in cache). So in general there are less DMA cycles wasted on executing you code even for chip ram only systems.
- 32 Bit reads and writes to chip ram
- also you could enable FMODE=3 (double cas and 32bit iirc) for dma. Then you have to adjust you scrolling routine as you have to handle 64 scroll positions instead of only 16. IIRC I had a speedup in wonderboy in monsterland from 3/50 to 2/50 fps when enabling fmode=3 via Software ActionReplay and may be adjusting some bitplane modulos, ddfstart and ddfstop registers - I might be wrong on my memories because this is more than 25 years ago and I'm getting old (and boring)
- sprites are wider (with fmode=3; 64 Pixel instead of 16 Pixel). So no more need to double your sprites with copper DMA or just use dual playfields on AGA.
- it could be faster refreshing BOBs with processor than blitter. You could unroll a copy loop that exactly fits into your ICache on 68020+. May be if there is fast ram you can also put your level tile graphics into fast ram. So that you can read data from fast ram instead of chipram for refreshing. E.G. in my unfinsished game I had 32*16 tiles and there it was faster with 68020+ than blitter. IIRC even with ChipRam only systems, it took less than a half of the time with processor. But for my game I had the advantage that I used 32*16 px tiles (Longword reads and writes - but I guess you could archive with 16*16 px tiles also a similar speedup).

Also it is easy to switch between NTSC or PAL mode via BEAMCON0 on AGA/ECS.

So judge yourself if the effort is worth the result and what to apply form the above options. I think you could offer on NTSC machines to disable the sprite paralax on OCS/ECS and/or use full effects on AGA. On the other hand the code gets more complex, if you offer dynamic options from a single floppy disk. Or you could offer 2 or 3 different versions (PAL, NTSC@ECS/OCS and NTSC+PAL@AGA) - remember the first ECS to AGA improved versions of games were also cheaply improved version with an extra playfield (e.g Brian the Lion, James Pond II, Fire & Ice) - Might be annoying if you want to fix a bug later. Then you have to retest all versions again and again.

In conclusion i would say better put you efforts in improving and testing the game play and on the other side if you have some fun in playing/coding with aga systems then why not

Now I'm looking forward to the release of inviyya in which form it will be ever released and testing your demo on the next days on my real hardware when i have time.
Chrille is offline  
Page generated in 0.04110 seconds with 11 queries