PDA

View Full Version : Makaron WIP News - Dreamcast Emulator for Windows



wraggster
September 4th, 2010, 13:55
Deunan has posted some WIP news concerning his Dreamcast Emulator for Windows.


Now that new Demul has Kaillera support it should get much less crowded in here :)

BTW, while I do appreciate showed interest it really doesn't motivate me if you guys keep asking about NAOMI2 support all the time. I said it will be there one day and that's all I can tell you at the moment. Stop bugging me about it. And no, I'm not planning on adding Model 3 or Hikaru support. Also, no keyboard input for Dreamcast controllers - did I mention that yet?

Anyway, remember how I had overheating problems with my GF7900 this summer? I actually fixed that before I switched to ATI Radeon and figured that some photos would make a nice blog filler :P
Here's the card, it's a 7900GS but thanks to nice factory overclock it easily rivals 7950GT. I used to play Fallout 3 at 1920x1080 and it did have some annoying slowdowns but was otherwise playable:

There's plenty of space for good cooling solution, kinda reminded me of good old days with water-cooled R9800XT :) The problem was, as usual, money related - I didn't want to buy anything since I was already thinking about R5770 back then. But then I got a very nice deal, an Arctic Cooling Silencer 5 for about 2$. New. So I got two :) This thing was designed for 6800/7800 GT series but I figured the chip layout is so similar I should be able to make it work somehow.

And the old cooler, now removed:

Turns out I was right - it's almost a perfect fit (memory chips are slightly off but only by few milimeters so still get all the cooling they need). The biggest issue was with the tall power capacitors there, on the right, I had to file off some plastic below the fan. Nothing major but it took almost two hours to get it right. Another approach would be to replace two offending caps - I could to that but soldering 8-layer PCB is next to impossible without proper preheating and I wanted to finish the swap the same day. At some point I even thought I'd have to file off part of the back completly, which would create a hole and spoil the airflow, but I got a fit just before I got through. The final result:

You might notice it looks a bit shorter now - that's right, I had to put my mad hacking skills to use here and hack off some 2cm of the exhaust. Now it can be fitted into a PC without any trouble. Surprisingly there isn't that much of a change in GPU temperatures but enough to keep the system stable even with the box closed. Wee bit quieter too, but I have to say that the original cooler was never noisy.
My hands hurt from all that hacking and it took all afternoon but for 2$ it was a lot of fun - a success then :)

In other news - my programmer can no longer be used since it's connected to LPT port and requires a driver to allow direct I/O access. Said driver doesn't work in Windows 7, not to mention 64-bit version... So, what now?
I could just buy a cheap XP-based PC and use that but I don't really have a room for it. Well that's still an option - but since I got the PCBs I ordered for FPGA overvoltage protection I just made a VHDL logic analyzer project and spent a few days figuring out the protocol. Turns out it's not very complicated, I think I got it all figured out now so the next step would be to try and create a custom interface via USB. I'd have to write my own PC-side code now as well.

Some of you might wonder if simply buying a new, cheap USB-based programmer wouldn't be easier. This is how I see it:
- It would be more expensive to go that way, even if I got myself a Wellon or something equally cheap.
- Quite frankly not all that many "new" programmers come with proper Windows 7 support. Surprisingly so.
- The programmer I have is a bit ancient now but still works and pretty much covers my needs (though it can't be used with modern low-voltage devices that require 2.5V or 1.8V).
- I have some self-made stuff that I really need - like FLASH based replacements for 27C160/322 EPROMs. My programmer software had this unique feature of allowing me to create my own programming algorithms, not really something you see often. Right now I'd have to make my own GUI anyway so I would obviously still have this ability.

Looking for cheap USB interface solutions I found out that there is a software based support for pretty much all AVR devices. I could really use an MCU since USB is reasonably fast but has nasty latencies and that would kill performance (after all, you need to drive individual chip pins in a timely fashion, not to mention reading back). With something more than a basic USB parallel port I could use macros to speed things up.
Problem is, software USB takes tons of CPU cycles so this alone might limit the transfers. I have an ARM7 with USB, but it seems like an overkill for just an interface chip. So maybe an AVR with hardware USB? Seems like a good compromise, doesn't it.

So I start looking for a cheap AT90USB162 board and then the PS3 jailbreak happens. What a timing, huh. I suppose I'm going to buy a few bare chips now and solder the thing on my own. I do have AT90USBKEY kit here somewhere but that one is already spoken for. I have half a mind to port that psgroove thing to software USB just for the fun of it but alas, no time to spend on such frivolities. Someone will do that sooner or later, and if not I could just solder another PCB I suppose :)
Pretty clever malloc abuse, by the way. How the hell did they figure that out... I mean, for the trick to work you need to put your code in the right places. For that you need to know all the addresses first so a 3.41 memory dump would be required. But to get the dump you first have to run the exploit and geohot's approach only works up to 3.15. Maybe it was developed on debug unit? Then again I suppose the idea itself isn't that new, the exploit code was made and tested on earlier FW and just tailored to the newest one. Only a matter of time before SONY plugs this hole but this will be a great blow to them. Already is, just hasn't sinked in yet properly.

http://dknute.livejournal.com/35187.html