Links for folks wanting to develop on Dreamcast

Place for discussing homebrew games, development, new releases and emulation.

Moderators: pcwzrd13, deluxux, VasiliyRS

Cesarm
undertow
Posts: 26
Joined: Mon Dec 21, 2020 7:03 am

Re: Links for folks wanting to develop on Dreamcast

Post by Cesarm »

Nicely done guys !

I need to read this whole thread, but this definitely brings back old memories ;)
beanboy
Wazza
Posts: 1249
Joined: Wed Apr 17, 2019 9:17 pm
Dreamcast Games you play Online: I haven't played any dreamcast games online yet.
But I'm planning to do so soon.

Re: Links for folks wanting to develop on Dreamcast

Post by beanboy »

Thanks for making this informative topic Anthony. :mrgreen:
This will come in handy. 8-)
User avatar
Slaminger
lithium
Posts: 39
Joined: Sun Feb 02, 2020 12:17 pm
Dreamcast Games you play Online: Football

Re: Links for folks wanting to develop on Dreamcast

Post by Slaminger »

Anthony817 wrote:I originaly got this from over at DCEmulation forums, and thought some people here might find it usefull.
Quzar wrote:I might try to merge this with the quite outdated 'links for those ...' sticky at some point.

Many times I have looked around for information on a specific issue when DC programming. However, searching can be problematic and sometimes impossible (search for VMU). So here I'm trying to put together a sorted list of the best threads with information here. If you can think of others or topics I should look for more on, please post.

Here's the list so far:

Video
General Insanity (Genesis + PVR) - A HUGE and extremely information-packed thread. Discussion on a vast array of video issues (along with quite a few lookie-loos).
Screen render code speed up - An interesting example where a naive approach to a video renderer is taken and replaced with a much more optimized version.
Paletted Textures - A fantastic well written guide on the subject.
VQ Compression - Very detailed information about the very seldom used video feature.

Audio
Dreamcast's ARM CPU - Some nice low level description of the AICA

Maple
General:
Maple Test - Contains data gathered from many maple devices documenting features, versions, etc.

Rumble:
Trouble making the purupuru (Jump Pack) vibrate
PPPPUURRRRUU PURU! The original topic on reverse engineering the PuruPuru.

Microphone (S.I.P.):
KOS example using new maple system? An example program by BlueCrab on how to use the SIP.
Dreamcast Microphone Successfully Hacked BlueCrab's original topic on his driver

VMU Beep:
Beep Beep! The only topic on VMU beeping (although it is apparently also present in libronin as vmufs_beep)
VMU Screen:
BMP->VMU Screen Code? Some discussion and sample code to draw to the VMU Screen

VMU Saving:
Performing basic VMU file I/O operations? Basic example of saving zipped data to a vmu.
test a VMU file Reading the CRC from a VMU file
VMU Icons More saving examples, this time including eyecatches and icons.
Eye Catches and VMU Icons More discussion on the merits of save icons and eyecatches.

General KOS Features
Loading Media from memory An excellent explanation of the various filesystem mounts in KOS, the romdisk, /pc, /vmu, /ramdisk, etc.
Load a outside .BIN in KOS ? Some info on loading a new program from within a KOS program (make your own menu/bootloader) as well as a few bits on how some other bootloaders work.

Full examples
Minivader Source Release A little mame driver port I made. Simplest arcade hardware in existence. Extremely well documented and gives a pretty good overview on how to do basic I/O, video, and some other minor things.
If you want to develop a FPS for Dreamcast, using Half-Life is a good choice for Dreamcast, as PC mods can be ported to be stand alone games on the system. If you want to learn how to port PC mods or develop one from scratch for Dreamcast, you can find all the HLDC devs at the site below, and they are more than happy to help with any questions.
http://www.dcfan.net.ru/forum/f83/

do you have any links for detailed information about MMU and WinCE?
User avatar
Anthony817
Shark Patrol
Posts: 4009
Joined: Tue Jul 28, 2009 12:10 am
Location: Fort Worth, Texas

Re: Links for folks wanting to develop on Dreamcast

Post by Anthony817 »

Ah sorry I do not. Maybe somebody here can help point you in the correct direction? What sorts of stuff do you plan to work on?
Image
User avatar
fatsojetson
shadow
Posts: 6
Joined: Sun Jul 10, 2022 6:21 am
Contact:

Re: Links for folks wanting to develop on Dreamcast

Post by fatsojetson »

great work guys!
AtomicPunk
dark night
Posts: 55
Joined: Mon Oct 05, 2015 11:08 pm
Dreamcast Games you play Online: Just ask me and ill go and buy the game just to play my dreamcast online

Re: Links for folks wanting to develop on Dreamcast

Post by AtomicPunk »

Slaminger wrote:
Anthony817 wrote:I originaly got this from over at DCEmulation forums, and thought some people here might find it usefull.
Quzar wrote:I might try to merge this with the quite outdated 'links for those ...' sticky at some point.

Many times I have looked around for information on a specific issue when DC programming. However, searching can be problematic and sometimes impossible (search for VMU). So here I'm trying to put together a sorted list of the best threads with information here. If you can think of others or topics I should look for more on, please post.

Here's the list so far:

Video
General Insanity (Genesis + PVR) - A HUGE and extremely information-packed thread. Discussion on a vast array of video issues (along with quite a few lookie-loos).
Screen render code speed up - An interesting example where a naive approach to a video renderer is taken and replaced with a much more optimized version.
Paletted Textures - A fantastic well written guide on the subject.
VQ Compression - Very detailed information about the very seldom used video feature.

Audio
Dreamcast's ARM CPU - Some nice low level description of the AICA

Maple
General:
Maple Test - Contains data gathered from many maple devices documenting features, versions, etc.

Rumble:
Trouble making the purupuru (Jump Pack) vibrate
PPPPUURRRRUU PURU! The original topic on reverse engineering the PuruPuru.

Microphone (S.I.P.):
KOS example using new maple system? An example program by BlueCrab on how to use the SIP.
Dreamcast Microphone Successfully Hacked BlueCrab's original topic on his driver

VMU Beep:
Beep Beep! The only topic on VMU beeping (although it is apparently also present in libronin as vmufs_beep)
VMU Screen:
BMP->VMU Screen Code? Some discussion and sample code to draw to the VMU Screen

VMU Saving:
Performing basic VMU file I/O operations? Basic example of saving zipped data to a vmu.
test a VMU file Reading the CRC from a VMU file
VMU Icons More saving examples, this time including eyecatches and icons.
Eye Catches and VMU Icons More discussion on the merits of save icons and eyecatches.

General KOS Features
Loading Media from memory An excellent explanation of the various filesystem mounts in KOS, the romdisk, /pc, /vmu, /ramdisk, etc.
Load a outside .BIN in KOS ? Some info on loading a new program from within a KOS program (make your own menu/bootloader) as well as a few bits on how some other bootloaders work.

Full examples
Minivader Source Release A little mame driver port I made. Simplest arcade hardware in existence. Extremely well documented and gives a pretty good overview on how to do basic I/O, video, and some other minor things.
If you want to develop a FPS for Dreamcast, using Half-Life is a good choice for Dreamcast, as PC mods can be ported to be stand alone games on the system. If you want to learn how to port PC mods or develop one from scratch for Dreamcast, you can find all the HLDC devs at the site below, and they are more than happy to help with any questions.
http://www.dcfan.net.ru/forum/f83/

do you have any links for detailed information about MMU and WinCE?
Would be nice to use the real stuff, this ridiculousness over legality when nobody gives a shit on any other consoles, nooo must not use katana or winCE waaa waaa waaa its so irritating

WinCE would make porting so much easier, the actual DC source lets you use all 100% of the hardware which none of the newer compilers let you do at al. I mean why are emulators allowed then? Just entirely recreating the console and using their BIOS It’s all ridiculous

Nobody cares, nobody’s gonna do anything about it ever. Need to be a pirateBay for Dreamcast devs so they can actually work on the KatanaOS and WinCE LOL hurtin
AtomicPunk
dark night
Posts: 55
Joined: Mon Oct 05, 2015 11:08 pm
Dreamcast Games you play Online: Just ask me and ill go and buy the game just to play my dreamcast online

Re: Links for folks wanting to develop on Dreamcast

Post by AtomicPunk »

Slaminger wrote:
Anthony817 wrote:I originaly got this from over at DCEmulation forums, and thought some people here might find it usefull.
Quzar wrote:I might try to merge this with the quite outdated 'links for those ...' sticky at some point.

Many times I have looked around for information on a specific issue when DC programming. However, searching can be problematic and sometimes impossible (search for VMU). So here I'm trying to put together a sorted list of the best threads with information here. If you can think of others or topics I should look for more on, please post.

Here's the list so far:

Video
General Insanity (Genesis + PVR) - A HUGE and extremely information-packed thread. Discussion on a vast array of video issues (along with quite a few lookie-loos).
Screen render code speed up - An interesting example where a naive approach to a video renderer is taken and replaced with a much more optimized version.
Paletted Textures - A fantastic well written guide on the subject.
VQ Compression - Very detailed information about the very seldom used video feature.

Audio
Dreamcast's ARM CPU - Some nice low level description of the AICA

Maple
General:
Maple Test - Contains data gathered from many maple devices documenting features, versions, etc.

Rumble:
Trouble making the purupuru (Jump Pack) vibrate
PPPPUURRRRUU PURU! The original topic on reverse engineering the PuruPuru.

Microphone (S.I.P.):
KOS example using new maple system? An example program by BlueCrab on how to use the SIP.
Dreamcast Microphone Successfully Hacked BlueCrab's original topic on his driver

VMU Beep:
Beep Beep! The only topic on VMU beeping (although it is apparently also present in libronin as vmufs_beep)
VMU Screen:
BMP->VMU Screen Code? Some discussion and sample code to draw to the VMU Screen

VMU Saving:
Performing basic VMU file I/O operations? Basic example of saving zipped data to a vmu.
test a VMU file Reading the CRC from a VMU file
VMU Icons More saving examples, this time including eyecatches and icons.
Eye Catches and VMU Icons More discussion on the merits of save icons and eyecatches.

General KOS Features
Loading Media from memory An excellent explanation of the various filesystem mounts in KOS, the romdisk, /pc, /vmu, /ramdisk, etc.
Load a outside .BIN in KOS ? Some info on loading a new program from within a KOS program (make your own menu/bootloader) as well as a few bits on how some other bootloaders work.

Full examples
Minivader Source Release A little mame driver port I made. Simplest arcade hardware in existence. Extremely well documented and gives a pretty good overview on how to do basic I/O, video, and some other minor things.
If you want to develop a FPS for Dreamcast, using Half-Life is a good choice for Dreamcast, as PC mods can be ported to be stand alone games on the system. If you want to learn how to port PC mods or develop one from scratch for Dreamcast, you can find all the HLDC devs at the site below, and they are more than happy to help with any questions.
http://www.dcfan.net.ru/forum/f83/

do you have any links for detailed information about MMU and WinCE?
Would be nice to use the real stuff, this ridiculousness over legality when nobody gives a shit on any other consoles, nooo must not use katana or winCE waaa waaa waaa its so irritating

WinCE would make porting so much easier, the actual DC source lets you use all 100% of the hardware which none of the newer compilers let you do at al. I mean why are emulators allowed then? Just entirely recreating the console and using their BIOS It’s all ridiculous

Nobody cares, nobody’s gonna do anything about it ever. Need to be a pirateBay for Dreamcast devs so they can actually work on the KatanaOS and WinCE LOL hurtin
User avatar
Falco Girgis
Developer
Posts: 109
Joined: Fri Aug 10, 2012 12:08 pm

Re: Links for folks wanting to develop on Dreamcast

Post by Falco Girgis »

Bro... have you like looked into KallistIOS? Like I get it if you think that it's probably shit compared to the official SDKs just without looking at it, but in all seriousness, man, it's absolutely incredibly impressive. I worked at both AMD and NVidia doing graphics driver stuff, been doing gamedev for almost 20 years now, every line of code I write recently builds for Win, Mac, Linux, Android, iOS, Dreamcast, and PSVita, and I swear to god, Dreamcast with KOS is one of the most user-friendly, powerful, fully-featured development environments I work with.

I actually hold WinCE in high esteem, as it was a damn fine devkit from Microsoft, which I think is underrated, and I honestly agree with you and couldn't care less if people made Katana/WinCE games--not my business, and hey, they might not actually give a shit, like you said... but in all seriousness, as a developer, if Sega licensed Katana to me for free tomorrow, I'd take KallistiOS for a myriad of reasons:

1) Our compilers, tools, and environments are so much more modern and capable. Dude, they were using like GCC2 I think it was way back then? The code from such an old compiler isn't optimized for shit for the SuperH architecture, and it doesn't support any modern language dialects that would make porting modern games easier. We just got GCC12 going on Dreamcast, which brought C++20, C17, Objective-C 2.0, and more, We are also starting to get Rust onto the thing! GCC12 produces smaller binary files, meaning less RAM is wasted, and it appears to have slightly boosted performance on the PVR polygon benchmarks... There's some debate from Ian Michael that GCC4 may be faster in certain places (he'd definitely know), but that's still newer than the ancient GCC2 that I believe Katana was using... But either way, we have an EXTREMELY modern, user-friendly powerful development environment with modern compiler optimizations that weren't around back then.

2) Our drivers. Dude, we have IPv6 support on the Dreamcast. We support the 32MB RAM mod, we support removable SD cards, we support IDE drives, we support pretty much every maple peripheral--we support so much kickass homebrew stuff that didn't even exist back then that takes the DC to the next level... I would never want to lose all of that stuff that a homebrew game could do epic things with.

3) Our ports and 3rd party libraries. Yeah, WinCE is legit and had DirectX5 and a lot of the Windows subsystem and runtime (respect). But seriously, we have so many mainstream libraries and APIs that make the platform both accessible and easier to port mainstream games to. We have OpenGL, OpenAL, SDL, Lua, mRuby, etc.

So yeah, man, I'm not sure how deeply you've looked into KOS. Yeah, sure, perhaps at the highest end, you could argue that perhaps Katana or Windows CE would've made it easier to push more polygons or to leverage certain effects, but what KOS does offer in the graphics department is still pretty damn impressive, and there are indie games out there which have used the PVR API (plus some mods, sure) to get graphical performance rivaling the commercial SDKs.... But also, in terms of advanced DC effects, we have a bumpmapping example ready-to-go in the KOS examples, so it's not like that isn't also there as well.

Is KOS perfect? Nope. That's why we're all working on it. One of the biggest complaints I still hear is that its memory footprint is large relative to the other SDKs, and I know WinCE had "modular" components to address this kind of stuff... but it's something that's modern, living, always improving, and offers shit that I don't think the engineers behind the Dreamcast could've ever dreamed of having.

I'd personally stick to KOS, as a developer, and if you haven't already, you should totally check it out.
User avatar
Lew3030
rebel
Posts: 19
Joined: Fri Jun 17, 2022 7:38 pm

Re: Links for folks wanting to develop on Dreamcast

Post by Lew3030 »

Thank you
User avatar
lerabot
blackout!
Posts: 135
Joined: Tue Oct 27, 2015 12:40 am
Dreamcast Games you play Online: Starlancer

Re: Links for folks wanting to develop on Dreamcast

Post by lerabot »

I don't think this was ever posted but I wrote an awesome-dreamcast list on github a while ago. I recently updated it so this might be useful.

https://github.com/dreamcastdevs/awesome-dreamcast
Image
Indie Game Studio
Post Reply