Stephane retweetledi
Stephane
4.1K posts

Stephane
@MegadriveDev
Permanently stuck in #16bit world and obsessed in developing on my Sega #Megadrive. Check out #SGDK, a free and open source Sega Mega Drive Development Kit 🙂
France Katılım Kasım 2011
385 Takip Edilen2.1K Takipçiler
Stephane retweetledi
Stephane retweetledi

@birt_shannon @suddendesu Just the software transfer limits the maximum frame rate to 20 FPS in NTSC / 25 FPS in PAL
English

@birt_shannon @suddendesu Exactly, I really wanted to have that linear buffer so any user can use it to do software rendering easily. Also that allows the drawing methods (pixel, line and filled polygon/triangle..) to be faster but yeah the software buffer copy itself is terribly slow 😅
English

** Sega Genesis 3D Engine Day 3 **
Blast Processing kicks In !!
Converted the Line Drawing and Triangle drawing to 68k Assembly and gained 25% in the line drawing and 33% speedups in the triangle drawing vs C ( so far ) .
The scheduler calculating the vertexs is still in C , just the drawing routines are now are in assembly . Possibly 5-10 % gains will come from the scheduler being in ASM also.
The Line and Triangle drawing C code took some beating , it was surprising - particularly the line drawing to get a speed up over the C code in ASM.
I guess its not too surprising as the C code was basically handling pointers and integers so I had to get exotic to find the speedups.
Initially my ASM Line draw was 100% slower than the C code - the first pass conversion from C to ASM is always rough as its more about getting it working then refine later , but yeah 100% slower on first pass was brutal, after 4 hrs tweaking it was 25% faster than the C code so thats a good start - might get more yet.
So added more squares and more triangles for load testing at the same frame rate.
Its still not anything cohesive but right now focussing on performance in rendering to see how much can be pushed. As rendering will be the biggest cpu soak the faster that goes the better.
The smaller triangles take about 1/3 the CPU time of the larger triangles at present so theres definately a fill rate limit vs the setup time to consider. The same would go for the squares been line framed - smaller ones would allow al lot more .
#SGDK #SegaGenesis #SegaMegadrive
English

@birt_shannon @suddendesu Oh yeah so your implementation is already much more optimized than the SGDK bitmap engine which uses a linear 256x160 4bpp buffer (can be double buffered) and which is transferred by the CPU for the linear --> tile conversion 🥲
English

Some palette masking would make the buffer sending much more efficient - like Anaels demos , albiet with a hefty color reduction .
Right now just using a full 15 color buffer , double buffered 256x128 sending about ~ 4k per frame which is allowing some time in the vblank for other tasks.
The dma is optimised so its one DMA per frame, and it will use the maximum amount of scanlines it can whilst leaving some scanlines for other tasks.
I've thought about a reduced screen vertically - that might make sense to increase the frame rate by allowing more DMA per frame, but i think a lower frame rate with this sort of thing is acceptable to push more detail.
English

@birt_shannon @suddendesu I didn't really measured in cycles but yeah all the drawing methods are mostly in assembly. I believe the polygon drawing code itself is fast but the bitmap buffer handling itself is not that fast (still in C) and so a big portion of time is spent in the VRAM transfer
English

Hi Stephane, I didn't compare it , it would be interesting to know .
Unless they are written in assembly I think they would be slower as I'm doing lots of 68k tricks to get more speed that I doubt C would optimise for.
The larger triangles when wrapt in a kdebug start - stop are taking ~ 49k cycles, smaller ones 13-14 k cycles. The box outlines 4 sides are ~ 20k cycles (so maybe 5k per line ) .
The Kdebug itself is likely taking a chunk of that , and thats also asm been called from C so its not full asm yet.
I'm hoping to get a bit more yet.
I guess theres going to be an upper end of performance that can be reached with this sort of thing .
English
Stephane retweetledi

That's right! We went beyond the LCD pixels of the GBA for the wild compo! My recently bought DS Lite finally had a good use.
Full video at my channel youtu.be/FyxlM9oJMIU

YouTube
English
Stephane retweetledi

** Sega Genesis 3D engine Day 2 **
Added solid filled triangles.
Added colors ( full 15 color buffer ) .
All code in C so far apart form the buffer clear and DMA buffer sending so should be some good speedups to come yet once line / triangle routines are ported to 68k Assembly.
I've done basic filling optimisations in C such as where we can write longs eg fill 8 pixels at once for interior parts of the triangle the function will utilise that.
Still using 3 divisions per triangle setup , I think i will see if I can use a cheaper reciprical multiplication instead.
All rotations vertices are calculated live , in 2d space at present.
#SGDK #SegaGenesis #SegaMegadrive
English
Stephane retweetledi

Quick update on the MD / GEN version of Earthion.
The final ROM is done, and we’re currently in verification. If everything passes, we move on to production.
Due to the current global situation affecting parts supply and shipping, timing could still be impacted, but we’re moving forward step by step.
We also hope the world finds more stability as soon as possible.
I’m hoping to share pre-order details before summer.
Thanks for your patience and support.
#Earthion
English
Stephane retweetledi

Popocorn kickstarter is online! kickstarter.com/projects/10759… #popcorn1988 #segamegadrive #genesis #spinner #sega

English
Stephane retweetledi

#SGDK playing with the 3d stuff ive been using as excuse to not work on any game again so i can finish one of them... changed fb from 128x128 to 256x64
English
Stephane retweetledi

Tempest for SEGA Genesis / Mega Drive by @games_pants
Such an amazing 3D effect. Love it.
Watch the video here : youtu.be/UUXW-NcZiAk
#segagenesis #megadrive #homebrew #circleofthemoon

YouTube




English
Stephane retweetledi

New update for SEGA Genesis / Mega Drive homebrew game by Andor : Castlevania: Circle of the Moon
Link : youtu.be/KpvrkCeuR7o
#segagenesis #megadrive #homebrew #circleofthemoon

YouTube




English
Stephane retweetledi

🚨ATTENTION🚨
We're currently looking for folks who can help us port The Nyanja to the Mega Drive & Dreamcast. The job will be paid as contracted work. Also looking to properly port FX Unit Yuki to MD again too so any SGDK folks out there pls inquire within! #indiedev #indiegame

English
Stephane retweetledi
Stephane retweetledi

"Wait, WTF is this," you ask? Oh, nothing much... Just "The Tomb of Raithwall" from Final Fantasy 12... RUNNING ON AN ACTUAL FREAKING SEGA DREAMCAST!!!
Mad modder Esppiral has cooked us up another round of epic console blasphemy with this one, this time teaming up with DC homebrew scene veteran, PH3NOM, who was also one of my partners in crime on our Grand Theft Auto 3 and Vice City ports to the Sega Dreamcast.
Anyway, Esppiral has managed to warez this iconic scene from the big bad PS2 for our little white box of dreams by leveraging PH3NOM's new engine, the aptly named "Dreamcast Engine."
I've been watching those two cook up crazy new scenes and push the DC to new levels for most of the week in our Discord server, so be sure to tune in to the two of them for updates!
Follow PH3NOM for more updates on the engine and his science experiments with new rendering techniques using the DC's PowerVR GPU here:
itch.io/profile/ph3nom…
Follow Esppiral for more blasphemous experiments with bringing iconic scenes from other platforms to the DC here:
@esppiral" target="_blank" rel="nofollow noopener">youtube.com/@esppiral
English
Stephane retweetledi

New TILL & HAT demo (by Woodfrog, for the SNES) just dropped.
It's amazing! Recorded the first part until the hat itself was found. Rotation effects, transparency, many enemies on screen, great music, very well explained on top of all that, 10/10.
woodfrogofficial.itch.io/till-hat-demo
#gamedev
English
Stephane retweetledi









