fastplasm256 by optimus
[nfo]
|
||||||||
---|---|---|---|---|---|---|---|---|
|
||||||||
|
popularity : 53% |
|||||||
alltime top: #15388 |
|
|||||||
|
||||||||
added on the 2020-10-20 23:25:46 by Optimus |
popularity helper
comments
*orson welles clap*
also nice conversion of the x86 cpu sinus generation routine
Yeaaah! 1 pixel, full screen and full framerate of a midschool plasma on the Archimedes A3000 @8MHz. The famous one when i had the Amiga 500 in some magazines and even on some scrolltexts :P ... And with all the 256b constraints. It amazed me, even if it's a "simple" fx. You know you got the cake Optimus! =]
nice to see that ppl do tiny prods also on other platforms. yt pls. i have an idea for yet another platform.
Nice to see you're getting more into ARM coding !
...just from a short look at the code if you set r1 also to screen_addr_input before the OS_ReadVduVariables it will overwrite the block with the screen address result and you could use just ldr r0,screen_addr_input in the mainloop to get the screen address and remove the adr r0,... and the ldr r0,[r0].
May be you could also save one more instruction when using strb r4,[r0,r1] in the sine loop and later on using ldrb r3,[r1,r2] instead of ldrb r3,[r1,],#1 where you would replace the r1 with the sine base address kept from the sine loop (change the registers...). Finally also I can't see where you use r6 (mov r6,#0).
Can you check if that works ? Just lazy morning paper-coding here ;-)
...just from a short look at the code if you set r1 also to screen_addr_input before the OS_ReadVduVariables it will overwrite the block with the screen address result and you could use just ldr r0,screen_addr_input in the mainloop to get the screen address and remove the adr r0,... and the ldr r0,[r0].
May be you could also save one more instruction when using strb r4,[r0,r1] in the sine loop and later on using ldrb r3,[r1,r2] instead of ldrb r3,[r1,],#1 where you would replace the r1 with the sine base address kept from the sine loop (change the registers...). Finally also I can't see where you use r6 (mov r6,#0).
Can you check if that works ? Just lazy morning paper-coding here ;-)
Nice!
You can save a few instructions using OS_WriteI instead of MOV r0, #; SWI OS_WriteC, ie SWI &116; SWI &10d for mode change.
You can save a few instructions using OS_WriteI instead of MOV r0, #; SWI OS_WriteC, ie SWI &116; SWI &10d for mode change.
Wow! This looks awesome! And good framerate btw..
good
Very cool. Great to see more folks making Acorn prods. Look forward to seeing what’s next. :)
nice
cute
Cool.
Archimedes! <3
Nice little plasma on Acorn
Nice plasma, welcome to risc os sizecoding. :) There are always lots of optimizations to discover when trying out a new platform, and that's most of the fun.
I'm not that familiar with the Acorn computers - is this binary Acorn specific, or is it a generic RiscOS exe, that potentially could run on RiscOS on a Raspberry Pi for example?
instant platform thumb!
cool
Not fan of the colors, but hey, nice stuff anyway!
lists containing this prod
submit changes
if this prod is a fake, some info is false or the download link is broken,
do not post about it in the comments, it will get lost.
instead, click here !