Search found 514 matches
- Fri Jun 28, 2019 11:11 am
- Forum: Megadrive/Genesis
- Topic: Designing a cooperative-threaded scheduler for an emulator
- Replies: 14
- Views: 36800
Re: Designing a cooperative-threaded scheduler for an emulator
I think this discussion lack clarifying objectives. Is it "cycle accuracy" what are you aiming for? Is it speed? Perhaps a mix of both? And then what is “cycle accuracy” really?, as its name says should be that at the end of every cycle the chip status is the same as emulator status, but I bet no em...
- Wed Jun 26, 2019 1:54 pm
- Forum: Megadrive/Genesis
- Topic: Iridon Introduction
- Replies: 13
- Views: 16901
Re: Iridon Introduction
This is a pretty good answer for this last dilemma:
https://forums.nesdev.com/viewtopic.php ... 86#p239757
The only thing is MD/Genesis has a limited cpu and ram, compared with modern ones, so the solution has to be restricted to something smaller.
https://forums.nesdev.com/viewtopic.php ... 86#p239757
The only thing is MD/Genesis has a limited cpu and ram, compared with modern ones, so the solution has to be restricted to something smaller.
- Sun Jun 16, 2019 2:22 am
- Forum: Megadrive/Genesis
- Topic: DETECTING RedKid2500-based consoles
- Replies: 9
- Views: 24630
Re: DETECTING RedKid2500-based consoles
@FireRat, so you are obtaining a word/long from an odd address the seeing if the Address Error Exception fires? That's easy to detect on a emulator ("address & 1") and at least some emus check it (Reggen comes to mind). You still may be better off not trying to detect emulators but rather the partic...
- Sun Jun 16, 2019 1:53 am
- Forum: Megadrive/Genesis
- Topic: Designing a cooperative-threaded scheduler for an emulator
- Replies: 14
- Views: 36800
Re: Designing a cooperative-threaded scheduler for an emulator
Ok, knowing that you are aiming for single thread and cycle accuracy my first approach would be: void emulator() { int commonCycles = 1; for(;;) { run( commonCycles ); // This doesn't work, but the idea is to adjust the time slice to // speed up/down depending on the cpu power we got if( plentyOfTim...
- Thu Jun 13, 2019 12:49 am
- Forum: Megadrive/Genesis
- Topic: Designing a cooperative-threaded scheduler for an emulator
- Replies: 14
- Views: 36800
Re: Designing a cooperative-threaded scheduler for an emulator
Thanks for bring this subject up, it’s really interesting. My major point is I need more time to think about all this because bring a lot of knowledge altogether. But so far my developing thoughts are: General theory says you should make a difference between a thread and a workload: threads should b...
- Wed Jun 05, 2019 3:28 pm
- Forum: SGDK
- Topic: Assembly inline C - example
- Replies: 6
- Views: 7784
Re: Assembly inline C - example
In gcc you can write inline assembly or compose an assembly file, both ways works the same really. Inline assembly: + fully interlockable with C - more verbose - you NEED to know the use of the key words “__asm volatile” and “__asm” - you need to use implicit params (%), and how they work ("=>a", "=...
- Mon May 27, 2019 11:26 pm
- Forum: Demos
- Topic: Metal Blast 2277 - Sega Genesis / Mega Drive - FREE release!
- Replies: 60
- Views: 89592
Re: Metal Blast 2277 - Sega Genesis / Mega Drive
Just a sudden inspiration: "When in doubt just ask the Chinese for news".
- Fri May 17, 2019 9:13 pm
- Forum: Demos
- Topic: MD-NICCC - a 3D Mega Drive experience by TiTAN
- Replies: 56
- Views: 124852
Re: MD-NICCC - a 3D Mega Drive experience by TiTAN
I haven't check how the VPD works but judging by how the 68k does: VDP has to signal !BR (bus request) and wait for !BG (bus grand); the same when Z80 access main memory. Also !DTACK could be used to put the cpu in a wait state, the problem is the address bus is being used by the cpu while !DTACK is...
- Wed May 15, 2019 12:25 pm
- Forum: Demos
- Topic: MD-NICCC - a 3D Mega Drive experience by TiTAN
- Replies: 56
- Views: 124852
Re: MD-NICCC - a 3D Mega Drive experience by TiTAN
That’s like ignoring the father of all signals, what you say is truly reality breaking.
I just booked it in my “to do” list to study and resolve once for all this affair.
I just booked it in my “to do” list to study and resolve once for all this affair.
- Tue May 14, 2019 11:56 am
- Forum: Demos
- Topic: MD-NICCC - a 3D Mega Drive experience by TiTAN
- Replies: 56
- Views: 124852
- Mon May 13, 2019 2:02 pm
- Forum: Blabla
- Topic: Strong Buzz for new Amstrad CPC game
- Replies: 11
- Views: 13076
Re: Strong Buzz for new Amstrad CPC game
A static frame buffer on a game? I don't think is possible.
- Mon May 13, 2019 12:41 pm
- Forum: Demos
- Topic: MD-NICCC - a 3D Mega Drive experience by TiTAN
- Replies: 56
- Views: 124852
Re: MD-NICCC - a 3D Mega Drive experience by TiTAN
No, the 7.67 Mhz 68000 is actually * slower * than the 2.68 Mhz 65C816 at accessing memory... However, the 65xx cannot transfer memory on every clock, so that's moot. Stef is correct, 65816 transfers 1 byte per 1 cycle, non-stop if needed, no problem. You have to remember that the 68000 takes multi...
- Sat May 11, 2019 10:18 am
- Forum: Demos
- Topic: MD-NICCC - a 3D Mega Drive experience by TiTAN
- Replies: 56
- Views: 124852
Re: MD-NICCC - a 3D Mega Drive experience by TiTAN
Oh! There is no instruction prefech on the 65c816, now this makes sense. So this is really a read cycle of one cycle.
- Sat May 11, 2019 9:05 am
- Forum: Demos
- Topic: MD-NICCC - a 3D Mega Drive experience by TiTAN
- Replies: 56
- Views: 124852
Re: MD-NICCC - a 3D Mega Drive experience by TiTAN
TmEE co.(TM) and Stef, If that’s to be believed: http://laughtonelectronics.com/Arcana/Visualizing%2065xx%20Timing/Visualizing%2065xx%20CPU%20Timing.html data bus is in use by two cycles. By reading earlier you are only imposing more speed on RAM. In other words, can you read a byte per cycle? Is NO...
- Fri May 10, 2019 4:24 pm
- Forum: Demos
- Topic: MD-NICCC - a 3D Mega Drive experience by TiTAN
- Replies: 56
- Views: 124852
Re: MD-NICCC - a 3D Mega Drive experience by TiTAN
I'm sorry Chilly Willy, you were saying exactly what I think, I just read "read memory of 1 cycle" and go berserk.
The data is ready at the end of the first cycle, but can't be used until next cycle; so it's two cycles from my point of view.
The data is ready at the end of the first cycle, but can't be used until next cycle; so it's two cycles from my point of view.