Next Generation Emulation banner
21 - 27 of 27 Posts
Sunday, 6th March 2005
Dual-head output! That's right, I've got two independent GPUs working in sync, and a double-height window to draw in. And as part of getting that to work, I've had to implement virtual to physical VRAM mapping for the first four blocks of VRAM. After a whole lot of thought and hacking, both Tetris-twoplayer and dovoto's 2D demo work as far as they go.

Elsewhere, File/Close still causes the thing to crash, and I still haven't a clue why this is the case. That'll have to be investigated further. Also, I'm thinking of putting in seperate menu options to load GBA and DS files; opening the INI file to change modes is getting a bit too much effort.
Saturday, 5th March 2005
I noticed yesterday that while Tetris runs, First refused to. It turns out that First clears the OAM for both GPUs before starting up. I only had one OAM allocated, and vital variables after it (like the GPUs current line). Gotta love buffer overflows. Some fixing MMU masks and making room for the OAM later, both run. Yay.

On another front, I've been told it'd be nice if I could close the debugger, memview and palette with a little Close box in the corner of the window. And I agree with that, so the Close box is now in and implemented. Also, wouldn't it be great if you could scroll through the disassembly without losing which registers and flags changed with the last instruction. Now, it's possible; scroll through and the red registers will stay red.
Friday, 4th March 2005
We're moving! Well, not really. DSemu now has a fully-fledged domain of its very own; it still points here, and you can get to the page at the address you know already, but you can also get here very simply at the following place. Give it a few hours for DNS to propagate, and then it'll be fine.

www.dsemu.org
Thursday, 3rd March 2005
I'm starting to look into the second screen on the DS; it looks like VRAM is banked in some fashion, and the memory regions are selectable to the GPU cores. I'll have to investigate that further before I can set up a good two-screen output.

On the CVS front, anonymous checkout access is now available for those that want it. If you find any files that are missing, let me know and I'll commit them. Configure your CVS client to these settings:

Repository - :pserver:anonymous@kraln.com:/home/Two9A/dsemu
Module - src
Have fun, and let me know if anything's up.
Tuesday, 1st March 2005
With immense thanks to gladius, I now have a new tiled-mode renderer for the GPU. I managed to track down the source of all the breakages; turns out to be in my poorly-coded sprite code. That means I can't have sprites for the moment, but I can have multiple backgrounds. And that means Tetris.DS can render fully on the main screen. Take a look at the screenshots for a picture.

On the CVS side, I've managed to check all the code in; anonymous checkout access is currently being set up server-side. When it's all set up, you'll see more news here.
Monday, 28th February 2005
I've been investigating exactly what's up with the GPU, why it sometimes gives out the wrong palettes and the possibilities of multiple backgrounds. As it turns out, there's no chance of getting multiple backgrounds with the current codebase; trying to use the tile renderer more than once a scanline makes the thing crash. The palette issue was soon fixed though, and both GBALinux and Tetris.DS look fine (as far as they go).

Other news, and I'm thinking about setting up a CVS repository for the project. Yes, I know it's a bit late, but better late than never. I've been assured that getting a repository up will be good for me and for other devs; I tend to agree, since I had to backtrack a few zips the other day, which was very difficult without actually having the zips. So, CVS soon; watch this space.
Saturday, 26th February 2005
Apologies for the profound lack of updates recently. It's been a busy few days, what with going down to Londinium and all. (And before you ask, I didn't get the job, but I don't mind that.)

The new Thumb core is being hacked away on right now. I only have two test ROMs for Thumb though; the mode4demo display test (which seems to run fine first-time), and mic's Thumb wrestler, which blank-screens. Not so good. I'm sure the core is amazingly buggy right now, but it'll get fixed. In time.
Tuesday, 22nd February 2005
I've had a great amount of feedback on the layout of the site; thanks a lot. The majority of opinion is that it's just fine as it is, loads quick and is easy to navigate. So, it looks like I'll be leaving it as is.

mic's been doing yet more work on the ARM wrestler test ROM; he's added tests specific to the ARM9, for CLZ/LDRD/MRC. And after major hacking away at the extension code, I've managed to pass the tests. Now all I have left is that pesky Thumb ALU that I can't yet be bothered to rewrite.

That's a full week of daily updates now. It probably won't happen again, so relish the update frequency.
Monday, 21st February 2005
I've been told that some people's video cards or drivers can't seem to cope with the 16-bit pixel format I'm using for the OpenGL textured quad, and it all falls over badly for them. So, I've added code for the GPUs to fall back onto GDI if initialisation of OpenGL fails. Of course, resizing the window under GDI won't stretch the display; I'm hoping it's a relatively rare occurence, though.

I'm starting to think about redesigning this site. The current design isn't exactly graphically appealing, and it kinda fails in some browsers, too. Pass me your opinions, if you want a redesign, or if you feel the current site does its job just fine; email me.
Sunday, 20th February 2005
If I'm ever going to take advantage of the 3D hardware present in most computers that'll be running DSemu, it's probably wise to use some 3D-accelerated driver like DirectX or OpenGL to harness the hardware. Hence, as of today, both the GBA and DS cores draw onto a textured quad that is rendered by OpenGL. In the far future, the DS core will probably be drawing objects over the top of this '2D display' quad.

There are two nice side benefits to the OpenGL switch. Firstly, since the hardware is handling the scaling of the quad, you can now resize the DSemu window at will, and the display will stretch to match. Second, I actually got a good 10% speedup in frame rate by moving from GDI to OpenGL. See how it goes for you.

In other news, yet more core bugs that mic's ARMwrestler has been able to track down. Today, there was a nice little one in LDR-asr-by-32, where the wrong address would end up being read from. All patched up now, which means a clean sweep for the ARM core. (Thumb is still a different matter.)
Saturday, 19th February 2005
I've been getting a few messages from people stating that the download zip is riddled with viruses. I finally got a chance to download an antivirus package, and guess what. My local drive and the webserver were both riddled with Parite.B; I dunno how it got there, but it spread right quick.

If you downloaded DSemu in the last few days, I have infected you. I apologise for the inconvenience this may cause you, and recommend you get over to avast.com or a free AV site, and grab yourself an antivirus tool. I've learned the value of such applications recently. Sorry about this.
DSemu Homepage
Downloads
Screenshots
 
more news:
Tuesday, 8th March 2005

The INI file proved in the end to be too much of a hassle, so I did implement the seperate menu options for GBA and DS file loading. I'm also looking into how to emulate that pesky touchscreen. It seems that what I need to do is trap mouse button events on the output window, and fill out a structure in RAM with given values. Of course, that'll only work for demos that use that structure, which covers only a few demos.

It's gonna be a slow week on the emulation front, as far as news goes. But you've got other projects to be looking into, so you won't be lacking for emulation in general.
 
Discussion starter · #24 ·
Kirby said:
I picked this up on miranda's Webview plugin the first 10 minutes it was posted....I'm thinking to use this plugin to watch the news more closely myself for a change ;)
catching the news is one thing...posting them is another :p right kirby? :lol:

Miranda's webview plugin..is some kind of RSS feed thingy?
 
let the records show that I beat Chrono to a WIP :p
Thursday, 10th March 2005


I've been getting a few complaints recently that the emulator won't run files immediately upon loading. There is a reason for that; it's a setting in the INI file. I've changed that to load automatically now, so all you lazy people should be happy. I've put in a test implementation of touchscreen. The DS dll captures mouse-button events, and writes X/Y coordinates to a certain position in memory. The only problem I have is that I can't run any demos that use the touchscreen; they all seem to crash out. Never mind. I decided to fire up the GBA core today, and it's really in dire shape. Barely one demo out of the fair few I have actually runs, and most of them actually crash out. It's been neglected.
but the Webview plugin is a plugin that allows you to pick out only text from a webpage, and display it in a message window.....also alerts you whenever the page changes and updates every hour
 
Discussion starter · #26 ·
Kirby said:
let the records show that I beat Chrono to a WIP :pbut the Webview plugin is a plugin that allows you to pick out only text from a webpage, and display it in a message window.....also alerts you whenever the page changes and updates every hour
:lol: :lol:
i wont hide it, ive missed a few lol :p
i cant be on 24/7 ;)
 
Discussion starter · #27 · (Edited)
Friday, 11th March 2005
So. It turns out that the huge bug I had in the GBA core was in fact the variable holding the current ROM size, getting changed somewhere down the line. I've patched that up, and the core is back to its spritely old self. I have been hearing that people can't seem to decide whether a ROM is for the GBA or DS (and no, the emulator can't tell by itself). I currently include only two DS demos in the zip package; 2D and Tetris. Anything else, you'll have to have prior knowledge what system it's produced for.

As far as touchscreen goes, I have been able to grab a demo that manipulates touch and that doesn't use advanced features like IRQ or sprites. It's something that davr wrote, and it tries to fill in a path you draw on the screen with horizontal/vertical/45-degree green lines. Check it out at Screenshots.
DSemu Homepage
 
21 - 27 of 27 Posts