Search found 446 matches

by Miquel
Mon Aug 12, 2019 4:37 pm
Forum: Video Display Processor
Topic: Seamless dungeon crawler effect
Replies: 11
Views: 969

Re: Seamless dungeon crawler effect

Yes, we both are talking the same.

You can cover the entire screen with sprites, only just, but you can.
by Miquel
Mon Aug 12, 2019 12:01 pm
Forum: Video Display Processor
Topic: Seamless dungeon crawler effect
Replies: 11
Views: 969

Re: Seamless dungeon crawler effect

I was going to say something similar, perhaps no that fancy.

The only thing for me left to say is that the key to smooth transitions is using sprites to draw the walls, temporally or permanently.
by Miquel
Sat Aug 03, 2019 5:03 pm
Forum: Demos
Topic: Sid Meier’s Civilization for Sega Genesis
Replies: 3
Views: 887

Re: Sid Meier’s Civilization for Sega Genesis

Civ2 is my most played game ever, really excited to see first part on MD. Also I haven't fail to notice how slow screen updates are, probably the game is using display time to update graphics, which is a huge mistake; and yes I know this is an alpha but this things are even more hard to correct as t...
by Miquel
Sat Aug 03, 2019 4:55 pm
Forum: Video Display Processor
Topic: Seamless dungeon crawler effect
Replies: 11
Views: 969

Re: Seamless dungeon crawler effect

Have you tried to run it on an emulator in slow mode/motion?

I mean: to see what happens with gfx when character moves from current cell to the next one.
by Miquel
Wed Jul 24, 2019 1:44 am
Forum: SGDK
Topic: SGDK1.4 crashes at compilation
Replies: 4
Views: 352

Re: SGDK1.4 crashes at compilation

A program can NOT cause a blue screen. Let me repeat: A user mode program can't cause the the kernel to crash on its own. That's why OSes exist. The causes of a blue screen are: - Kernel programing error - Loaded and running driver programing error - Hardware malfunction Since right now is summer (h...
by Miquel
Thu Jul 11, 2019 6:40 pm
Forum: Video Display Processor
Topic: DMA Fill with autoinc 128
Replies: 3
Views: 530

Re: DMA Fill with autoinc 128

I believe you should set the auto-increment to 1 to write 2 consecutive bytes.

If my remembering works well, DmaFill operations works only with bytes, despite you should introduce this byte twice in the vpd (this is only for odd and even addresses).

In your case 2 DmaFill's will do the job.
by Miquel
Thu Jul 11, 2019 3:53 pm
Forum: Video Display Processor
Topic: DMA Fill with autoinc 128
Replies: 3
Views: 530

Re: DMA Fill with autoinc 128

See official documentation for an explanation; see SGDK code implementation for a solution. Fill basically works only with bytes when transferring, so both bytes of the map have to be the same; this will only work if you intend to use the very first tile as a substitute with all flags to 0 (everythi...
by Miquel
Fri Jun 28, 2019 11:11 am
Forum: Megadrive/Genesis
Topic: Designing a cooperative-threaded scheduler for an emulator
Replies: 14
Views: 1733

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...
by Miquel
Wed Jun 26, 2019 1:54 pm
Forum: Megadrive/Genesis
Topic: Iridon Introduction
Replies: 13
Views: 3331

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.
by Miquel
Sun Jun 16, 2019 2:22 am
Forum: Megadrive/Genesis
Topic: DETECTING RedKid2500-based consoles
Replies: 9
Views: 794

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...
by Miquel
Sun Jun 16, 2019 1:53 am
Forum: Megadrive/Genesis
Topic: Designing a cooperative-threaded scheduler for an emulator
Replies: 14
Views: 1733

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...
by Miquel
Thu Jun 13, 2019 12:49 am
Forum: Megadrive/Genesis
Topic: Designing a cooperative-threaded scheduler for an emulator
Replies: 14
Views: 1733

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...
by Miquel
Wed Jun 05, 2019 3:28 pm
Forum: SGDK
Topic: Assembly inline C - example
Replies: 6
Views: 1068

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", "=...
by Miquel
Mon May 27, 2019 11:26 pm
Forum: Demos
Topic: Metal Blast 2277 - Sega Genesis / Mega Drive
Replies: 48
Views: 11299

Re: Metal Blast 2277 - Sega Genesis / Mega Drive

Just a sudden inspiration: "When in doubt just ask the Chinese for news".
by Miquel
Fri May 17, 2019 9:13 pm
Forum: Demos
Topic: MD-NICCC - a 3D Mega Drive experience by TiTAN
Replies: 56
Views: 6384

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...