dcemu runs first homebrew game

This forum is for discussion pertaining to homebrew and indie software for the Dreamcast, such as homebrew games, emulators/interpreters, and other homebrew software/applications. Porting requests and developmental ideas are not to be made here; you can make those here. If you need any help burning discs for homebrew software, this is the place to ask as well.
itoledo
DC Developer
DC Developer
Posts: 47
https://www.artistsworkshop.eu/meble-kuchenne-na-wymiar-warszawa-gdzie-zamowic/
Joined: Tue Aug 26, 2003 1:54 pm
Location: Santiago, CL
Has thanked: 0
Been thanked: 0
Contact:

dcemu runs first homebrew game

Post by itoledo »

screenshots from dcemu running 'efecero' beta 3: (avilable in homebrew.dcemulation.org)

Image
Image

it's barely playable but it works. that game doesn't seem to use 3d graphics but it's a game anyway and it WORKS! :)

download the CVS sources from http://sf.net/projects/dcemu.
User avatar
Skynet
DCEmu T-800
DCEmu T-800
Posts: 8595
Joined: Thu Nov 08, 2001 6:27 pm
Location: Adelaide, Australia
Has thanked: 0
Been thanked: 0
Contact:

Post by Skynet »

That's great news!!!! :D :D :D :D :D
Live gamertag: SKYNET211

Steam gamertag: SkynetT800
User avatar
Quzar
Dream Coder
Dream Coder
Posts: 7499
Joined: Wed Jul 31, 2002 12:14 am
Location: Miami, FL
Has thanked: 4 times
Been thanked: 10 times
Contact:

Post by Quzar »

when do you plan on releasing a new build (compiled binary) for download? This is great news!
"When you post fewer lines of text than your signature, consider not posting at all." - A Wise Man
Tr?
DCEmu Freak
DCEmu Freak
Posts: 76
Joined: Mon Sep 30, 2002 10:13 pm
Has thanked: 0
Been thanked: 0

Post by Tr? »

This is great news!!!! :lol: even though I didn't even know of this game....
User avatar
Dr. Zoidberg
The Filth
The Filth
Posts: 3536
Joined: Tue Dec 04, 2001 1:09 am
Has thanked: 4 times
Been thanked: 0
Contact:

Post by Dr. Zoidberg »

Very impressive itoledo. :bow:
User avatar
Quzar
Dream Coder
Dream Coder
Posts: 7499
Joined: Wed Jul 31, 2002 12:14 am
Location: Miami, FL
Has thanked: 4 times
Been thanked: 10 times
Contact:

Post by Quzar »

This does make it the first released Dreamcast emulator to play anything right? I know 'unreleased' emulators have played homebrew and even commercial games, but none of the (few) released emulators (afaik) play any. this is good stuff...
"When you post fewer lines of text than your signature, consider not posting at all." - A Wise Man
BlackAura
DC Developer
DC Developer
Posts: 9951
Joined: Sun Dec 30, 2001 9:02 am
Has thanked: 0
Been thanked: 1 time

Post by BlackAura »

Nice one itoledo.

After spending around an hour solving the problem with my 3D hardware (the AGP drivers were causing X11 to lock up whenever I used the NVidia 3D drivers, so I was stuck with the XFree86 2D drivers - now solved by using the NVidia AGP drivers instead of the Linux ones), I managed to get it to compile under Linux. Needed quite a lot of code changes, or at least a lot more than last time. I'll send a patch your way later, if I can get it to compile under Windows and Linux without breaking anything.

However... It needs a BIOS image?

Edit: It works! It's quite slow (like 1FPS running the Bubbles demo), but it works...

Image

Edit 2: I can't get it to run anything that doesn't use the 3D hardware. I disabled the OpenGL support by undefining OPENGL in options.h, but when I run anything 2D, I just get the debug console, and that's about it.
itoledo
DC Developer
DC Developer
Posts: 47
Joined: Tue Aug 26, 2003 1:54 pm
Location: Santiago, CL
Has thanked: 0
Been thanked: 0
Contact:

Post by itoledo »

the #define OPENGL stuff is "deprecated" :)
in windows when the emulator switches to 3d it stops updating the framebuffer. the emulator is creating an SDL surface with the specified framebuffer format for every framebuffer update. the problem is that if there's 3d going on (like vertex registration) if i blit the framebuffer it kills whatever 3d is going on so it starts looking like crap :)
of course i'll change that behaviour in the next days... btw if you can run 3d stuff, try the 'tunnel' or 'gltest' KGL demos. both are very slow but they work. also the pvr/plasma demo, it works fast.

the BIOS loading stuff is for using the BIOS fonts and that's it. if you remove bios loading and #undef USE_BIOS_FONT in options.h it should probably work because I have a function to generate a 'BIOS font' in runtime.

if you get the debug console press f12, f11 to start emulation.

also you can start running from IP.BIN now! it shows the SEGA logo but the text is replaced with _ _ _, still don't know why. search for this line in main.c:

Code: Select all

	PC = mem_base + ip_bs1_offset; // ip_bs1_offset; // + mem_offset;
replace with this line:

Code: Select all

	PC = 0x8c008300;
when I fix the GL stuff i'll make a 'formal' release in my page at http://alumnos.utem.cl/dcemu. if you want to test the code, try CVS; tortoisecvs is great for windows users. also if anyone wants to help just contact me at birdie@terra.cl .
BlackAura
DC Developer
DC Developer
Posts: 9951
Joined: Sun Dec 30, 2001 9:02 am
Has thanked: 0
Been thanked: 1 time

Post by BlackAura »

the #define OPENGL stuff is "deprecated"
Well, that would explain it... 2D stuff seems to work now.
the BIOS loading stuff is for using the BIOS fonts and that's it. if you remove bios loading and #undef USE_BIOS_FONT in options.h it should probably work because I have a function to generate a 'BIOS font' in runtime.
Thought as much. I just dropped in a 2MB blank file for the BIOS, and it worked fine. I found USE_BIOS_FONT, undefined it, and everything works fine again.

Oh, I can't get anything that uses the CD working. According to Ron in this thread you can create an ISO image, name it dc.iso and things will be able to run from it. So far, I've not managed to get that to work.

I just tried with Beats of Rage, and it hangs on a (corrupted - using the wrong resolution by the looks of it) loading screen indefinitely.
User avatar
Nyarlathotep
Soul Sold for DCEmu
Soul Sold for DCEmu
Posts: 7390
Joined: Sat Jan 05, 2002 1:37 pm
Has thanked: 0
Been thanked: 0

Post by Nyarlathotep »

Awesome work on this :mrgreen:
Image
itoledo
DC Developer
DC Developer
Posts: 47
Joined: Tue Aug 26, 2003 1:54 pm
Location: Santiago, CL
Has thanked: 0
Been thanked: 0
Contact:

Post by itoledo »

try to make the dc.iso using an 11700 offset (like a AUDIO-DATA selfboot, echelon style):

mkisofs -C 0,11700 -l -o dc.iso DIRECTORY

it works with Wowpack :) the selector looks fine but when any of the wowpacks is loaded the right side screen gets corrupted, don't know why.

also linux-dc (that old 2001 release) starts booting but hangs when uncompressing the initrd, probably waiting for an IRQ, didn't looked at the source yet.
Mikey242
DCEmu Veteran
DCEmu Veteran
Posts: 412
Joined: Tue Jan 22, 2002 4:43 pm
Location: Newcastle, U.K. (Born: Bahamas)
Has thanked: 0
Been thanked: 0

Post by Mikey242 »

very impressive itoledo. Well done.
BlackAura
DC Developer
DC Developer
Posts: 9951
Joined: Sun Dec 30, 2001 9:02 am
Has thanked: 0
Been thanked: 1 time

Post by BlackAura »

I did that. I guess that all the things I've tried that use the CD (Genesis Plus, Beats of Rage, a couple of other emulators) just don't work for some other reason. I'd guess that Genesis Plus is either running really slowly, or the DMA video buffer transfer is tripping over somewhere. I'll just write a program to list the contents of a CD over the serial cable, and try that out.

Interestingly, the BASIC interpreter I've been working on runs under DCEMU. It (still) just dumps the output of a load of PRINT statements over the serial cable (and into the serial log file), but it's enough to be able to see some programs running. I need to do some tests on that to make sure it works, and I don't have a serial cable or BBA at the moment, so it looks like I might be able to use DCEMU.

I also ran a couple of my 2D graphics demos through it, and they all worked the same as they do on a Dreamcast. I'm very impressed so far. This thing's run around half (or more) of the demos I've thrown at it, although I've not tried any games on it yet.

I'll clean up the modifications I made to get it to run on Linux and send them to ya later.
User avatar
curt_grymala
Theme Inducer
Theme Inducer
Posts: 4274
Joined: Fri May 30, 2003 12:14 pm
Location: Wherever I'm Needed
Has thanked: 0
Been thanked: 0
Contact:

Post by curt_grymala »

This is such incredible news. I am astounded, after years of basically nothing, that we are getting so much fantastic news from the "running DC on PC" front.
DCHelp - A Newbie's Best Friend
DC Evolution - Disc Images
DreamZone Forums

I Refuse To Help Anyone That Says They've Tried Everything.
itoledo
DC Developer
DC Developer
Posts: 47
Joined: Tue Aug 26, 2003 1:54 pm
Location: Santiago, CL
Has thanked: 0
Been thanked: 0
Contact:

Post by itoledo »

I don't have implemented DMA transfers yet, so that's why it doesn't work :D
store queues are implemented though, that's what KOS use in most of the demos anyway. once I figure out how DMA works (hint: HELP ME! :) ) i'll implement it.

also if anyone that works on DC software tries his/her software in the emulator and want to share ideas about why it does/doesn't work, just mail me! with all the talented coders here i know the emu can only improve (given enough time..,)
Warmachine
DCEmu Veteran
DCEmu Veteran
Posts: 4306
Joined: Sat Nov 30, 2002 7:01 pm
Location: San Jose
Has thanked: 0
Been thanked: 0
Contact:

Post by Warmachine »

Good job dude, the game looks pretty cool.
:headbang: Dreamcast :headbang:
ace
Forum ace
Forum ace
Posts: 6297
Joined: Thu Dec 20, 2001 7:07 pm
Location: Canada.
Has thanked: 0
Been thanked: 0

Post by ace »

I :bow: before you and to your prowess itoledo.
OneThirty8
Damn Dirty Ape
Damn Dirty Ape
Posts: 5031
Joined: Thu Nov 07, 2002 11:11 pm
Location: Saugerties, NY
Has thanked: 0
Been thanked: 0

Post by OneThirty8 »

Awesome! Keep up the good work.
BlackAura
DC Developer
DC Developer
Posts: 9951
Joined: Sun Dec 30, 2001 9:02 am
Has thanked: 0
Been thanked: 1 time

Post by BlackAura »

I don't have implemented DMA transfers yet, so that's why it doesn't work
I guessed as much. It seemed to be going fine until it was ready to render the first frame, then it locked up waiting for the DMA transfer to complete (which is obviously never does). I think I still have an older version around here somewhere which uses store queues instead of DMA, so that might work. Other than the DMA, it doesn't really do anything unusual with the hardware.

Unfortunately, the 3D drivers on my main system have resumed locking up every thirty seconds or so, which means I can't test anything more. I'm going to try an older version of the drivers (ones that I know work correctly) and see if that fixes it. Until then, I can't really do much.
Ian Micheal
Soul Sold for DCEmu
Soul Sold for DCEmu
Posts: 4865
Joined: Fri Jul 11, 2003 9:56 pm
Has thanked: 2 times
Been thanked: 4 times

Post by Ian Micheal »

Could you do a precompiled bin for windows.. i like to test it my self. Not tryed to compile it yet. Might be handy to included a compiled bin as well. Some of us get lazy some times :mrgreen:
Dreamcast forever!!!
Post Reply