KallistiOS VS Microsoft DC libs ....
-
- Insane DCEmu
- Posts: 124
- https://www.artistsworkshop.eu/meble-kuchenne-na-wymiar-warszawa-gdzie-zamowic/
- Joined: Sun Jan 05, 2003 11:44 pm
- Has thanked: 0
- Been thanked: 0
KallistiOS VS Microsoft DC libs ....
hello everybody, was wondering about some of the things that make DC games programming possible !
then i found something called KallistiOS, and i was wondering what that was until i found out that it was also an OS for DREAMCAST ! so i was wondering even harder...
then this question came in my head !
what the DIFFERENCE between both.
i mean, i know that Microsoft DC LIBS are used to make games and such, but what makes the KallistiOS a better or a worster choice ?
anyway... the question really was clear in my mind when i found that PCSX for DC was made using KallistiOS. that a PSX emulator that plays pretty well PLAYSTATION games ! not all works and it is in fact not so many either, but games STREET FIGHTER EX2+ works like almost 100% in that emu. so i was wondering how a PSX game could work 100% when a simple SNES couldn't !
anyway... not bitching, i just love your emulator right now, hope to see the next update one day. anyway... just tell me if you have known that KallistiOS and if yes, then tell me why you choosed MS DC LIBS instead !
then i found something called KallistiOS, and i was wondering what that was until i found out that it was also an OS for DREAMCAST ! so i was wondering even harder...
then this question came in my head !
what the DIFFERENCE between both.
i mean, i know that Microsoft DC LIBS are used to make games and such, but what makes the KallistiOS a better or a worster choice ?
anyway... the question really was clear in my mind when i found that PCSX for DC was made using KallistiOS. that a PSX emulator that plays pretty well PLAYSTATION games ! not all works and it is in fact not so many either, but games STREET FIGHTER EX2+ works like almost 100% in that emu. so i was wondering how a PSX game could work 100% when a simple SNES couldn't !
anyway... not bitching, i just love your emulator right now, hope to see the next update one day. anyway... just tell me if you have known that KallistiOS and if yes, then tell me why you choosed MS DC LIBS instead !
-
- DC Developer
- Posts: 9951
- Joined: Sun Dec 30, 2001 9:02 am
- Has thanked: 0
- Been thanked: 1 time
Basically, the WinCE development kits are commercial software, and the only way most people are likely to get their hands on one is by downloading a pirate version. The WinCE libraries allow you to program for the DC using a version of DirectX, and they were mainly used for porting Windows games to the Dreamcast.
KallistiOS, on the other hand, is a sort-of-OS that was built using free tools, and made available as open-source software. That means that you can legally get it, and you can make any programs you like with it, and even sell them. KallistiOS is also still under development, and isn't anything to do with Sega, so it doesn't fully support everything that the Dreamcast can do. Yet.
KallistiOS, on the other hand, is a sort-of-OS that was built using free tools, and made available as open-source software. That means that you can legally get it, and you can make any programs you like with it, and even sell them. KallistiOS is also still under development, and isn't anything to do with Sega, so it doesn't fully support everything that the Dreamcast can do. Yet.
-
- DCEmu User with No Life
- Posts: 3641
- Joined: Sat Feb 16, 2002 1:55 pm
- Has thanked: 0
- Been thanked: 0
The short answer (and you probably don't want to hear the long one) is that older/simpler hardware typically requires more complex programs to drive it, and programmers have to care more about details. Thus, the programmers of emulators for simpler systems have to care more about the same details, and emulators have to spend more time to make those details correct.so i was wondering how a PSX game could work 100% when a simple SNES couldn't!
Besides, if you're only going to give one example of a game that runs nicely, I counter Street Fighter EX 2 with Super Punch-Out.
-
- FrNES Creator
- Posts: 63
- Joined: Wed Oct 17, 2001 7:44 pm
- Location: Calgary, Alberta Canada
- Has thanked: 0
- Been thanked: 1 time
- Contact:
Well, when you're emulating a system that uses 2d sprite hardware with per-scanline register based effects (NES, SNES, SMS, TG16 and Genesis all do this), you can't use your 3d hardware to speed up drawing reliably, because rectangles will always be drawn as rectangles. For an excellent example of per-scanline register effects see Contra for the Genesis or Bayout Billy's intro on the NES. So when you can't draw using the 3d hardware (how the system was designed to operate), you have to develop the whole screen as a bitmap in realtime and that requires quite a bit of memory bandwidth (a 320x240x16 texture = 1.22 MB of memory, doing that 60 times a second = ~73MB / second of memory bandwidth). The kicker with the DC is that it's memory bus and cache system sucks pretty hard, and that it's limit is already around 80MB / s under ideal circumstances (optimized code, minimal cache misses etc.).so i was wondering how a PSX game could work 100% when a simple SNES couldn't!
Emulating a 3d system, although it may have a more complex and faster CPU, because it uses 3d hardware that can be mapped directly, can operate more ideally than a 2d system that requires tons of memory bandwidth. Advances in usage of the DMAs have make things much better than when I was coding FrNES. Coding entirely in ASM can help immensely too (if you prestore whenever possible, use instruction matching properly, and keep in 16kb pages). So in short, under some circumstances 3d platforms are easier to emulate on 3d platforms, than even some crappy old 2d platforms, because the DC really wasn't designed for that purpose.
Well, unfortunately the KOS documentation is far behind where development is, but if you know how to browse header files you'll have no problem finding what you're looking for. MS libs are far worse performance-wise than the Katana devkit. As far as I understand the Katana devkit has a slick interrupt driven device manager for all the DC hardware. After all some of the team that did VF3 and Shenmue were involved with the hardware design and some of the devkit development. KOS is getting there, it's starting to look like a different sort of take on this concept. Dunno about the MS tools. I think using KOS is the way to go now, because you don't have to worry about making a large multinational corporation mad at you, and that you have all the source (I've customized KOS for my own uses at times, you couldn't do this with MS or Katana because you don't have the whole source). So yeah, GO KOS!i mean, i know that Microsoft DC LIBS are used to make games and such, but what makes the KallistiOS a better or a worster choice ?i mean, i know that Microsoft DC LIBS are used to make games and such, but what makes the KallistiOS a better or a worster choice ?
-ReGex
-
- DC Developer
- Posts: 1753
- Joined: Thu Jan 16, 2003 4:01 am
- Location: The Netherlands
- Has thanked: 0
- Been thanked: 0
- Contact:
Right, and the same goes for emulating 2D systems on 2D hardware. Full speed NES emulation is possible on a GBA (16Mhz ARM7) because the NES 2D graphics can be implemented relatively easily with the GBA's 2D functions.ReGex wrote:Emulating a 3d system, although it may have a more complex and faster CPU, because it uses 3d hardware that can be mapped directly, can operate more ideally than a 2d system that requires tons of memory bandwidth.
thanks for all your answers !
my question was intended to have two main answers !
1 - why PSX works almost 100% while emulated when SNES couldn't ?
2 - why has the developement team of DSNES used what they used instead of the other ?
thanks you answered both questions !
- 2D systems are harder to emulates on a mainly 3D system !
- KOS is still under developement so its less reliable then the rest !
anyway...
i kinda asked the question to know if KOS was beter for the emulator !
i mean, if it was, then maybe we could have had a less frame skip !
anyway... thanks all !
my question was intended to have two main answers !
1 - why PSX works almost 100% while emulated when SNES couldn't ?
2 - why has the developement team of DSNES used what they used instead of the other ?
thanks you answered both questions !
- 2D systems are harder to emulates on a mainly 3D system !
- KOS is still under developement so its less reliable then the rest !
anyway...
i kinda asked the question to know if KOS was beter for the emulator !
i mean, if it was, then maybe we could have had a less frame skip !
anyway... thanks all !
-
- FrNES Creator
- Posts: 63
- Joined: Wed Oct 17, 2001 7:44 pm
- Location: Calgary, Alberta Canada
- Has thanked: 0
- Been thanked: 1 time
- Contact:
Just for clarification, DSNES wasn't made using either Katana or MS WinCE, it was made using an C (and Marcus' own language) framework. This framework has some shared code and information with KOS but it is neither KOS or Libdream. Ideally, to make a speedy emu at this point, if you really wanted something of comparable quality to bleem or even the much maligned proprietary SEGA Genesis emulator, you'd have to do the implementation in assembly language.
-ReGex
-ReGex