Home
Deunan
Recent Entries 
7th-May-2008 03:56 pm - It beeps in Japanese
Deunan, Knute
I put my ideas to the test and created a BIOS dumping tool for VMUs. Big thanks go (again) to Yuki who helped me out and run it on several cards.

So far I've collected three BIOSes for J-VMUs: 1.001, 1.002 and 1.005. No luck with my own E-VMU though, I suppose the procedure address is indeed different.
Actually, even J-VMUs have the code shuffled a bit depending on the BIOS revision - luckily the tool worked, more or less, in all cases. Dumps for the oldest versions came out corrupted but were still useful in finding out the correct entry point for the second attempt :)

I'm going to experiment some more on my VMU, but my chances of finding the right address are about 1/16000. No way am I doing an exhaustive search :)
5th-May-2008 02:01 pm - It beeps, IT BEEPS!
Deunan, Knute
I've got good news and bad news.
Bad is I've not touched Makaron sources for weeks now. Guess it needs to ripen some more :) I got to the point where I have two or three ways to solve a problem, and each has it's pros and cons - and I just can't decide which one to pick. But I will get to it, eventually.

The good news is Yuki bought some VMUs with games on them and it got me pretty interested. I'm going to try and emulate standalone VMU now. Just think, since it's rather simple and low-spec I could easily use SDL to make it work. Hell, ScummVM uses SDL. I'm somewhat familiar with the API too (my old MOD player used SDL for both sound output and visualisation).
That would make a VMU-on-PC emulator. But guess what, there are SDL ports to Dreamcast available too! So the project could be made to compile and run on DC as well. And at this point it would run under Makaron of course. I mean, how do you say no to VMU-on-DC-on-PC emulator? :]

The main problem right now is VMU BIOS. Apparently it's not possible to access ROM memory directly while running from FLASH, so no easy way to dump it. KATANA dev kit comes with VMU BIOS but I'd rather not rely on it. You know, copyright stuff and all. Also, I'd like to have an English one from one of my own VMUs.
Just yesterday I've came up with a plan to hijack one of the system calls to read the BIOS area for me. This is a fragment of BIOS disassembly:

1966- 61 00    | L1966:       PUSH   ACC
1968- c1       |              LDC    
1969- 13 66    |              ST     VTRBF       ;write to work RAM
196b- 71 00    |              POP    ACC
196d- 73 00    |              DEC    ACC
196f- 61 00    |              PUSH   ACC
1971- c1       |              LDC    
1972- 13 66    |              ST     VTRBF       ;write to work RAM
1974- 71 00    |              POP    ACC
1976- 73 00    |              DEC    ACC
1978- 61 00    |              PUSH   ACC
197a- c1       |              LDC    
197b- 13 66    |              ST     VTRBF       ;write to work RAM
197d- 71 00    |              POP    ACC
197f- 73 00    |              DEC    ACC
1981- 61 00    |              PUSH   ACC
1983- c1       |              LDC    
1984- 13 66    |              ST     VTRBF       ;write to work RAM
1986- 71 00    |              POP    ACC
1988- 81 07    |              ADD    #$07
198a- 53 02 d9 |              DBNZ   B,L1966
198d- a1 03    |              SUB    #$03
198f- a0       |              RET    


See, by calling 0x1966 with my own TRL, TRH, B and ACC I could use it to LDC any BIOS area into work RAM. The only problem here is I'm assuming the BIOS that is going to be dumped has this procedure at this very address. Seeing how listing comes from 1.004 version and my VMUs are 1.005, it might not be that simple...
By the way - calling into any arbitrary place in ROM is easy, the hard part is getting out :) But that can arranged as well. Included below (may not be so obvious at first glance) is a public syscall entry for FLASH write routine. It's unused, as it does exactly the same as 0x0100 syscall:

0108- 20 2e c5 | writeFlash2: CALLF  L2EC5
010b- b8 0d    |              NOT1   EXT, 0            ;execute code in other bank
010d- 21 01 0b | L010D:       JMPF   L010B


What I need is to push 0x010b address on stack and JMPF to 0x1966 while switching banks to ROM. The BIOS procedure will then read ROM memory, store it in RAM and RET to this NOT1 above, effectively switching back to 0x010b in FLASH, where I'll be waiting for it :) It's brilliant! IT'S SCIENCE :)

The other way to do things is to go HLE. There are only several public entry points in BIOS code, so it's rather easy. Calling anywhere else is pretty risky so I'm betting no game will ever try that.

So far I've determined that Yuki FLASH dumps are good and working, so I can start with that right away.
2nd-Apr-2008 02:35 pm - Prima Aprilis
Deunan, Knute
Originally I intended to "disappear" for a week (just like last time) and have my fun reading the comments, hate mail and cursing. Unfortunately not that many sites picked up on this idea of mine and so I'll have to cut it short. Pity.

I especially enjoyed the threats to move to another emulator. How silly is that? Folks, you're free to do that anytime you want and you don't need my permission. Really.
Let's face it - most of you got angry because you took free Makaron for granted and now I was about to take it away from you. You got all cozy thinking you somehow deserve it. Well... think again.

Having said that - hook, line AND SINKER, people :)

UPDATE: Makaron Test 9/4 for those who like to experiment.
I'd urge you to wait for T10 as this is a bastard mix of current (broken) dev and older T9/2. I got it to compile and run but that's about it - not tested. It does include the DMA changes that should make WinCE games more stable but I make no guarantees.
It's still using old GD code which means (with the DMA changes I've made) it will most likely break Street Fighter Alpha and some other games.
Use the supplied plugins and Maple.ini to get vibration support and use F12 menu to enable VMU LCD overlay. Also, make sure to change sorting mode because it defaults to "Alternate" which turned out not to work for some games.
This release goes beyond experimental, it's downright partisan :) I'm not kiding you - unless you like 'em rough stay clear. I'd like to have some feedback on vibration support for upcoming T10 and that's the only reason it exists.

PS. No changes to full-screen mode in this one, and no support for 16:X aspect ratios. And Yuki, stick to your T9/3 for now :)

UPDATE 2: Okay people, here's what you need to have vibration:
1) T9/3 or T9/4 Makaron executable
2) T9/5 or T9/6 MakaronPAD.dll
3) Maple.ini edited so that MakaronPAD is being loaded instead of MakaronVMU for Slot 1 or Slot 2 on given port
4) Gamepad capable of vibration
5) Game with PuruPuru Pack support (you might still need to enable it in game options)

If you can't get T9/4 to run at all with supplied Maple.ini (crashes with an error), but it does work if you modify it to have VMU (or nothing) instead of MakaronPAD in the Slot1/2, it's a problem with my code not doing the right thing with your pad. Another easy way to check is to use Maple.ini (and plugins too if nothing else helps) from T9/2.
If it does run but you get no FF effects it could be the game doesn't use it or needs to have it enabled first. If you're positive everything is as it should be, it's probably my code again. A fast way to test if the plugin is loaded as it should be:

HOLLY/Maple: 0x20: Makaron controller (0x00270101 / 0x00540905)
HOLLY/Maple: 0x01: Makaron VMU (0x00030201 / 0x00540904)
HOLLY/Maple: 0x02: Makaron controller (0x00270101 / 0x00540905)
HOLLY/Maple: 0x60: Makaron controller (0x00270101 / 0x00540905)
HOLLY/Maple: 0x41: Makaron VMU (0x00030201 / 0x00540904)
HOLLY/Maple: 0x42: Makaron VMU (0x00030201 / 0x00540904)

See, the 0x02 address of port A is using PAD plugin instead of VMU.
BTW, don't try to be too smart and have 2 VMUs and a PuruPuru Pack together. Though it's possible to assign addresses 0x04, 0x08 and 0x10, no real Dreamcast device has more then 2 slots and most games will not recognize such configuration. You can try your luck with homebrew KOS/Linux/BSD software, those usually don't have such limitations.
For those of you who never had a DC controller in their hands - PPP will fit in Slot 1 but it's big and will prevent you from using VMU in Slot 2. Not to mention only Slot 1 VMU LCD is visible (in Makaron too) so it's best to stick PPP into Slot 2.

And another thing - you'd be suprised how broken gamepad drivers can be. I've got two and each had it's nasty suprises (and I've yet to try PS2 Dualshock USB interface). Also, force feedback features can vary from very basic "rumble" ones to a real force working against your moves. It's not that simple to get those more complicated gamepads to do simple vibration it seems...
31st-Mar-2008 08:41 pm - If I were a rich man
Deunan, Knute
At least some of you must realize that developing Makaron is a time consuming process. Time I could very well be spending doing things that bring me money. I have expenses you know, mostly PC hardware and software but also Dreamcast games and other stuff (like a new oscilloscope, as the old one died on me sometime ago).
I'm happy people use my emulator and find it useful, but I also belive it's only fair I got someting out of it as well.

Having said that I've came up with an idea of Pay to Play system for Makaron - prepaid style. Makaron will be free to download and try out but to play longer you will need to purchase an activation code. Simply put, in exchange for money you'll be given a limited time to use my emulator. Once that time is up you'll need to pay again, very much like you would for a cell phone number.
Payment options will include credit cards and other common money transfer services, but I haven't yet decided on the rates so it'll take a few days to set everyting up. I will be done with the activation code shortly too.

This is the last free version: Makaron T10.

UPDATE: I've changed my mind - I'm going to start with payment system right now. If you've managed to download the free T10 then consider yourself lucky.
25th-Mar-2008 12:07 pm - Time off
Deunan, Knute
I knew there was a good reason for not touching the GD-ROM code. But I did, and as it stands now it's pretty broken - I will need to redesign it quite a bit.
There are several major problems to solve, all tied to multithreading. Unfortunately I don't really know how to fix them. Or rather, I do, just haven't come up with an idea I feel like implementing. I'd rather spend some time thinking about it and do it right (well, mostly) than throw a ton of nasty patches in. I might actually have to pull out a drawing block, some pencils, and start designing it on paper first. This is a bit new to me, not being able to easily cover for all possible cases in my head. I guess that's MT for you...

I hope to release something in the first week of April. If the new GD code is not ready by then, I'll revert to the old one. I want to see if vibration works for other people too. By the way, I haven't done a single thing during holidays :) I blame Knurek. And Shin Megami Tensei: Lucifer's Call he told me about. But mostly Knurek.
17th-Mar-2008 08:47 pm - Goodies! #3
Deunan, Knute
Another batch of pictures. Seems like people enjoy them, and I have to run every GD image at least once to get MD5 and see if it boots at the very least, so why not capture few screenshots along the way?

My Merry May is another one of those titles that go above and beyond simple VMU animation. I have to say SEGA idea behing VMUs was simply brilliant - too bad they had to make them cheap and so two CR2032 lithium cells last only what, 3 months? Assuming you do not play on your VMU or else it's a week tops.
That reminds me - is there a good VMU emulator out there? Preferably one that runs on 2000/XP systems and doesn't look like 16-bit Windows 3.1 application, but I'll settle for anything that works. No KATANA dev utils please, those aren't free, or even legal.

Makaron 2008-03-17 My Merry May #1Makaron 2008-03-17 My Merry May #2
Makaron 2008-03-17 My Merry May #3Makaron 2008-03-17 My Merry May #4


This is Exodus Guilty Neos. Don't ask me. Title aside, it has nice graphics - those sharp edges seem out of place at first but soon you get used to them. I think it gives the game less cartoonish, more comic-like look. Oh, and it seems Exodus doesn't like alternate sorting mode much - some texts go missing. Too bad, I guess only D32_FLOAT_S8X24_UINT format can save us now. But that's DirectX 10 and up. I'd tell you to petition M$ to create DX10 runtime for Windows XP but we all know once you earn some fifty billion dollars or so you just don't care that much about puny hyu-mans anymore :)
These screens also show you can easily switch to and from built-in Internet browser (no actual modem/BBA emulation yet), and that PuruPuru pack is being recognized.
Makaron 2008-03-17 Exodus Guilty Neos #1Makaron 2008-03-17 Exodus Guilty Neos #2
Makaron 2008-03-17 Exodus Guilty Neos #3Makaron 2008-03-17 Exodus Guilty Neos #4
Makaron 2008-03-17 Exodus Guilty Neos #5Makaron 2008-03-17 Exodus Guilty Neos #6


And now time for Giant Gram and some sweating masculine torsos. What's not to like? Feel free to watch, I'll be waiting at the next paragraph.
Makaron 2008-03-17 Giant Gram - Zen Nippon Pro Wres 2 in Nippon Budokan #1Makaron 2008-03-17 Giant Gram - Zen Nippon Pro Wres 2 in Nippon Budokan #2


Not exactly my taste either, but it's a progress :) Canary has one long, boring intro let me tell you... You get served with centered lines of white text on black screen for several minutes - now this would good for building atmosphere in some dark cyberpunk but not this game?!
Makaron 2008-03-17 Canary #1Makaron 2008-03-17 Canary #2


Some folks dancing. Sort of. Wait, does this prove people walk on their hands on the other side of the planet?
Now this is funny. SF Alpha is called Zero in Japan. Who knew? Not to mention this is a special version (full name Street Fighter Zero 3 - Saikyo-Ryu Dojo for Matching Service) and the plain one won't boot. Some SH4 bug it seems. This should be easy to find, and let's hope easy to fix as well. Won't be so funny if it turns out to be another GD-DMA problem, but at least it's easy to spot and trips Makaron every time.
Makaron 2008-03-17 Street Fighter Zero 3 - Saikyo-Ryu Dojo for Matching Service #1Makaron 2008-03-17 Street Fighter Zero 3 - Saikyo-Ryu Dojo for Matching Service #2
Makaron 2008-03-17 Street Fighter Zero 3 - Saikyo-Ryu Dojo for Matching Service #3Makaron 2008-03-17 Street Fighter Zero 3 - Saikyo-Ryu Dojo for Matching Service #4
14th-Mar-2008 12:54 am - Hunting musca domestica
Deunan, Knute
First Kiss Story can't be fixed because it's not a bug that it doesn't show overlayed text and images properly. It's simply another case of 32-bit float to 24-bit integer Z-buffer resolution loss. Fortunately it can be worked around - so now sorting mode can be switched to 'alternate' for games that require that. I'm trying to determine if this can be made default setting, or will it break other games.

Makaron 2008-03-05 First Kiss Story


Another fix and Chocolat - Maid Cafe Curio doesn't cut off bottom part of the picture anymore - well aren't you glad, huh?

Makaron 2008-03-05 Chocolat - Maid Cafe ''Curio''


Something for soccer fans. Now, these games have some ugly sorting/priority issues but nothing can be done about that right now. Hey, at least they boot and play.

Makaron 2008-03-09 J.League Pro Soccer Club wo Tsukurou! - Otanoshimi File Download DiscMakaron 2008-03-09 J.League Pro Soccer Club wo Tsukurou!
Makaron 2008-03-13 J.League Spectacle Soccer


A flight simulator where you don't get to shoot anything down. Now where is the fun in that? :) Anyway, due to slight FPU inaccuracies the plane slowly loses altitude during training mission and might crash before tutorial is over. Should be playable though, because during normal gameplay you have full control and can simply level if necessary.

Makaron 2008-03-13 Aero Dancing - Featuring Blue Impulse


Baldr Force EXE had same screen size problem as Chocolat. In addition to that there were some DMA issues that caused texture corruption. Fixed.
I've yet to test if this does anything for those unstable Windows CE games.
By the way, vibration works in this game as well. I don't really test for this, but in this case it was obvious since it's used very early in the game and is pretty hard to miss.

Makaron 2008-03-13 Baldr Force EXE #1Makaron 2008-03-13 Baldr Force EXE #2


Yet another sim - I've got quite a few of those. You'd think those are the easiest to emulate, just some simple 2D/3D. Most of them are like that, true, but some are pretty tough cases :)

Makaron 2008-03-13 Angel Present #1Makaron 2008-03-13 Angel Present #2



UPDATE: Well what do you know, the new sorting mode fixed 18 Wheeler, no more pitch black title screen and such.




And some more goods from Yuki (I'm sooo behind with this stuff now...)





3rd-Mar-2008 01:39 am - Shake it, baby
Deunan, Knute
- AICA cleanup: done
- Puru Puru Pack (vibration) support: done
- Render to texture: done
- Fixed (again, and for good I hope) missing sound in Project Justice
- Spent 4 hours playing Elemental Gimmick Gear on Makaron :)

Force feedback was tested on Soul Reaver and seems to work. Did I ever mention this game is one of the reasons I moved from simple SH4 recompiler project to full-blow Dreamcast emulator? I simply adore whole series.
Makaron 2008-03-02 Soul Reaver

Now this is actually Saturn conversion, that's why the graphics look a bit dated. Don't let it fool you into thinking it's old and boring - it's quite the opposite. Runs rock solid too, I've played it on full screen and never had a single problem whatsoever.
Makaron 2008-03-02 Elemental Gimmick Gear

And this isn't a game at all, just a movie demo disc - GD though, so Dreamcast exclusive. Kinda sucks they didn't remove the interlace - looks pretty bad on PC monitors. Nothing can be done about that now, it's MPEG stream.
Makaron 2008-03-02 Dead or Alive 2 - Taiken Ban Saishin Maruhi Eizou

And this apparently is Makaron exclusive for now :) I've only played Interlude for several minutes (can't read kanji, so...) but I've noticed there's lots of nice backgrounds. Plenty of spoken dialogues as well. It's 2003 game so I guess quality is higher compared to similar games for Dreamcast (why, even compressed the image is still almost 1,2G).
Makaron 2008-03-02 Interlude

I am so sick & tired of cutting every screenshot I make to size... I need a good and free screen capture program. Any suggestions?

UPDATE:

Gunspike seems like a nice 3D shooter - problem is you can't take a decent screenshot, it ends up looking either silly or boring :)


Never7 makes heavy use of VMU LCD. Cool title screen animation aside, it changes displayed face according to game dialogues. Pretty neat.


I've nothing to say about this one. VF3 clone of sorts, fighting games aren't really my area of expertise.


Unfortunately NFL2K is pretty broken right now. It will crash & burn trying to start it's 3D engine - most likely a DMA problem. Guess it's another entry on the TO-DO list...


And yet another shooter. Now, don't get me wrong - I do know a bit about it's unique figthing system. Just not my type of game. Seems like Dreamcast got some pretty original shooters though.


I don't have to tell you the title of this game, now do I? Actually there are two games I know of: Dead or Alive 2 - Shokai Gentei Ban and Dead or Alive 2 - Tsuujou Ban. One is a special edition - unfortunately intro is the same on both and I forgot which is which. Yuki once explained what exactly is different between them but I forgot that too :)


And here's First Kiss Story. Not really playable now as it suffers badly from inadequate polygon sorting. It's not a texture problem - the geometry is there, just not visible right now. If it wasn't for sorting many more games would look like that. Since I'm not doing per-triangle sorting (and I'd rather not do that in any case) I will need to come up with another solution - if only for those few cases that need it.


Thanks for hints on capturing software. I've tried several programs but it seems I'll stick to (Alt-)PrintScreen for now. I've added my own screen capture functionality to Makaron (saves to BMPs) - it captures images before information/LCD is overlayed but will work in both windowed and full screen mode. It's developer-only thingy but if there's a need I'll clean it up and leave it unlocked in the next release.

I've managed to get GDMT code more stable. Not perfect yet, most likely it'll never be and some poorly written games will continue to experience problems. I still want it in though, go watch Gunbird 2 intro with GDMT on and off and you'll understand why :)
29th-Feb-2008 08:05 pm - Remember that tune
Deunan, Knute
Yuki swamped me with GDs again :) This time I'm going to take it slow and test just a few games a day - it takes way too much time otherwise.

Makaron 2008-02-29 Mercurius PrettyMakaron 2008-02-29 Climax Landers
Makaron 2008-02-29 CSK Kenkoh Hokenkumiai Senyou Dream Passport 3Makaron 2008-02-29 D+VINE[LUV]
Makaron 2008-02-29 Dynamite Deka 2Makaron 2008-02-29 Elysion - Eien no Sanctuary


There's a BGM player in Super Robot Wars. And guess what, I found tunes from Gundam W and Evangelion on the list :)




And this little bugger is known as Soukou no Kihei - Space Griffon. Gave me some trouble, trying to execute a write past end of VRAM. That kept crashing Makaron and I had hard time figuring out the cause.



BTW - if you haven't noticed, there's VMU LCD display support now. See, that's the reason why you should wait patienly rather then press me into releasing stuff. Now you'll have to wait for T10 to get that :)
I need to finish GDMT (it's really breaking games now), re-structure AICA a bit to allow for DSP in future, make render to texture work and perhaps add vibration/force feedback. Not to mention DMA engine still has some issues...
26th-Feb-2008 06:56 pm - Here, fishy fishy...
Deunan, Knute
Folks, there is new version of mkfro frontend to Makaron, courtesy of slrhui.

Fishing controller is something else. In addition to buttons there's analog stick, reel handle, and a full 3D motion sensor. And two vibration motors for the fun of it. I really don't see how that could be emulated with a mouse or a pad :) Even with Wiimote I'd still lack one more analog input to emulate the reel...

Since I'm posting lots of pictures recently I guess it won't hurt to add few more :)

Makaron 2008-02-24 Battle BeasterMakaron 2008-02-24 Doricatch Series - Land Cruiser 100-Cygnus
Makaron 2008-02-24 Godzilla GenerationsMakaron 2008-02-24 ISAO Promotion Disc by Seaman
Makaron 2008-02-24 Jissen Pachislo Hisshouhou! Vpachi - kongdom -  Shokai Gentei BanMakaron 2008-02-24 Kidousenshi Gundam Gaiden - Colony no Ochita Chi de... Premium Disc
Makaron 2008-02-24 Pop'n Music 2Makaron 2008-02-24 Pop'n Music 3
Makaron 2008-02-24 Rune CasterMakaron 2008-02-24 Seaman Esa Disc - Kimos Shu no Youchuu Hojuu Kit
Makaron 2008-02-24 Tsukiha Higashini Hiha Nishini - Operation SanctuaryMakaron 2008-02-24 Midway's Greatest Arcade Hits
Makaron 2008-02-24 Hidden & DangerousMakaron 2008-02-24 Conflict Zone - Modern War Strategy
Makaron 2008-02-24 Caesars Palace 2000 - Millennium Gold EditionMakaron 2008-02-24 Championship Surfer
This page was loaded May 15th 2008, 3:35 pm GMT.