|
Post by bastien on Sept 25, 2010 8:19:46 GMT -5
Hi, i found this émulator for Ti-89: www.ticalc.org/archives/files/fileinfo/369/36950.htmlthis calculator have a 68K just like the Sega Genesis Here are a few facts about the TI-89 : The display is just a 1-bit framebuffer with zero extra hardware support (no tiles, no sprites). Grey levels are simulated by swapping images quickly ; it works because the LCD is a (crappy) passive matrix one. The RAM is indeed larger, but it's not entirely available to programs ; part of it are used by the OS and other installed programs / variable. I don't know how much the emulator actually uses. I'm neither a TI-89 programmer nor a Megadrive one, but I think it may not be impossible to port this emulator, since parts of it could be rewritten to take advantage of the hardware. What do you think ?
|
|
|
Post by TheMVRules on Sept 25, 2010 12:47:18 GMT -5
There is an GB emulator for 32X and it's pretty crappy.
So, it will probably not run very fast.
But I can look at it someday and see if I can do something with it.
|
|
|
Post by GiGaBiTe on Sept 25, 2010 13:38:11 GMT -5
There is an GB emulator for 32X and it's pretty crappy. So, it will probably not run very fast. But I can look at it someday and see if I can do something with it. The GB has a modified i8080, with some Z80 instructions. Since the Z80 is mostly backwards compatible with the i8080, you should just be able to run most of the GB code unmodified on the genesis's Z80. The only issue is the Z80 in the genesis is 0.61 MHz slower. The 32x should be more than powerful enough to do the graphical rendering and the 68000 for sound.
|
|
|
Post by Tiido on Sept 25, 2010 14:27:30 GMT -5
the CPU may be able to do the stuff, but memory map is completely different and how will you control the program flow ?
|
|
|
Post by GiGaBiTe on Sept 25, 2010 15:00:33 GMT -5
Make an abstraction layer to emulate the memory map?
|
|
|
Post by bastien on Sept 26, 2010 3:40:28 GMT -5
Do you think it's possible to make same thing than Mairtrus for SMD ?
* found a game with mostly commented source code * port it for the Z80 genesis and emulate palette & map ?
but do you think Genesis is able to load Gameboy rom with a good speed ? (32x ? )
|
|
mic
Moldy Popcorn
Posts: 27
|
Post by mic on Sept 26, 2010 5:00:12 GMT -5
The GB-Z80 is not compatible with the Genesis' Z80 because it has replaced some standard Z80 instructions with custom ones. How are you going to determine which ones you can execute natively? By checking each instruction at runtime just like an interpreting emulator would? Doesn't sound like you'd gain a whole lot then.
And you'd trigger this how? (if you wanted to execute the instructions natively). The Genesis Z80's small amount of RAM (8 kB) and slow bankswitching mechanism would also be major problems.
|
|
|
Post by TheMVRules on Sept 26, 2010 11:02:25 GMT -5
The TI-89's CPU is running on 10-16 MHz. I doubt any emulator would run fast on the MD.
|
|
|
Post by Tom Maneiro on Sept 26, 2010 19:13:15 GMT -5
Do you think it's possible to make same thing than Mairtrus for SMD ? * found a game with mostly commented source code * port it for the Z80 genesis and emulate palette & map ? but do you think Genesis is able to load Gameboy rom with a good speed ? (32x ? ) Porting the game actually has much more sense than just emulating. But then, you need to reverse-engineer each single ROM that you want to port (i think that there are no "fully-commented ROM dissasembly" for any GB game, unlike MD/Gen or NES, but i could be wrong) Anyway, while emulation is doable, the posts here don't give too much hope on speed or even accuracy
|
|
|
Post by GiGaBiTe on Sept 26, 2010 20:24:54 GMT -5
The GB-Z80 is not compatible with the Genesis' Z80 because it has replaced some standard Z80 instructions with custom ones. How are you going to determine which ones you can execute natively? By checking each instruction at runtime just like an interpreting emulator would? Doesn't sound like you'd gain a whole lot then. According to the specs on the GB CPU, its more like the original i8080, plus some additional instructions from the Z80, minus the additional registers the Z80 adds. Since a real Z80 is more or less backwards compatible with an i8080 on the software level, there aren't going to be many illegal instructions to worry about. Just trap the special instructions and emulate them as they come along. And you'd trigger this how? (if you wanted to execute the instructions natively). The Genesis Z80's small amount of RAM (8 kB) and slow bankswitching mechanism would also be major problems. The Game Boy has the same amount of work RAM that the Genesis Z80 does. The 8 kB of additional VRAM data can be stored in the Genesis's main memory.
|
|
mic
Moldy Popcorn
Posts: 27
|
Post by mic on Sept 27, 2010 0:19:15 GMT -5
And how would you trap those instructions efficiently?
And where would you do the bankswitching to switch between "GB ROM", "GB I/O" and "GB VRAM" in the Genesis Z80's memory space? The emulation core is going to need at least some variables to keep track of its internal state. Where would those go? In the Z80's own 8kB RAM? Then the GB RAM won't fit there anymore. In the 68k's RAM? Then you'll have a hard time accessing them.
|
|
|
Post by defzonoc on Apr 13, 2011 3:46:25 GMT -5
some one did something very similar it was...................... oh yeah NINTENDO!!!!! look at the super gameboy. the thing had the work ram but not all of the video stuff. i ought to know i fixed enough of them. halarious too, that i ripped the Z80 out of a genny to fix my gameboy model one and it runs fine. but yeah its a tiny bit slower. if you worked hard at it you can get it going by having the 68K play like its the video hard ware and last i looked the z80 has the ability to run data off the cart and other places as well isnt that how the SMS to SMD adapter works after all? but this topic was about the TI-89 calculator. the answer is NO i am deeply sorry but its unfortunatly true. the cpu would have to emulate it all including the Z80 and video sprites and audio and the analoge componets to make the sound as well. after all the beper speaker on that calc was not meant for music. even ignoring the audio just video and audio emulation on that cpu would run at 1/70 the speed of the original. so any 1 second activity on the GB will then take 70 seconds to do on the emulator on that calculator. so while an emulator tat will RUN is plausable one that is PLAYABLE unfortunately is not. sorry and keep trying to code we all have good quetions like this when we start and it is nice to get polite sensible well meaning answers. and not destructive critique. study a bit one how machine code cycles work it will help you see the similarities in CPUs wich will help you know what one goes through to do a task. and look into instruction sets to in general different cpu classes have different instructions and to emulate a instruction from one cpu to another will take 20 machine cycles to do per machine code. that is in ideal conditions. in the case of a gameboy you have to emulate hardware as well as the CPU. thats why NO$GB the emulator needs at least a 100mhz dX4 486 to run well. but given proper consescions simialar hard ware can off load these needs mathamaticly the genny could emulate a GB at 90% speed with correct methods. like as the rom is loaded the sprites get preconverted to genny sprites. the gameboy had sprite area wich the moto68k could intercept and play like it was the video hardware sending the command to the VDP. thats what the SNES SuperGameBoy does. and looking at the schematics on the genny and the SGB it is similar in some ways. as to how the SGB connects with the 65816 on the SNES and the Z80 region of the genny board connects to the 68K area. note i said SOME ways. not ALL ways! anyway good luck to anyone who wants to do this emulation from one old hardware to another just doesnt do it for me. but i do like to play genny games on my DS ;D
|
|
|
Post by Tiido on Apr 14, 2011 8:21:21 GMT -5
I really wonder how can one use a QFP44 Z80 in GameBoy, especially since the GB has a custom chip with I/O and sound integrated into it etc. The part does not dictate what speed something runs, if I pop in a 12MHz 68K into my MD it will still run at 7.6MHz as that is what is fed to it.
SGB is almost whole GB in a cart, SNES doing nothing besides showing its framebuffer and giving it some controller input to deal with...
|
|
|
Post by defzonoc on Apr 14, 2011 16:30:24 GMT -5
the first run of gameboys did not have a completly unique chip just a custom named one. and note i said similar and it will need some work around like preparsing the video routines and since most GB games used preset videomodes their not so hard to identify thats why its so easy for emulators to find the sprites and export them. i only said it was possible. and my original first year gameboy had a standerd Z80 with a support chip they just changed the name as years went on nintendo altered the design to reduce chip count and cost. the SGB has some support hard ware not all of it though. and like i said similar not same. im being perfectly reasonable here. the point about my pulling and replacing thing was that the core nature of the Z80 is not apparently different. and i may have been slightly to optimistic its more like 80% not 90%. but yeah i was mainly mahing a point its not impossible but difficult and will more then likely cause a slow gameplay issue. and i did have to do a bitore to but that Z80 in the gameboy i basicly had a brick on my GB. point is i used one. and im not mad and appreciate you confronting that in a nice way. some would not have done so
|
|
mic
Moldy Popcorn
Posts: 27
|
Post by mic on Apr 15, 2011 2:51:16 GMT -5
|
|