GenDev SpritesMind Website SpritesMind.Net
Sega Megadrive/Genesis development
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

SEGA Genesis/Megadrive clone in a FPGA
Goto page 1, 2, 3  Next
 
Post new topic   Reply to topic    SpritesMind.Net Forum Index -> Hardware
View previous topic :: View next topic  
Author Message
Torlus
Interested


Joined: 11 Jan 2010
Posts: 10
Location: Toulouse, France

PostPosted: Mon Jun 14, 2010 9:12 pm    Post subject: SEGA Genesis/Megadrive clone in a FPGA Reply with quote

I've been working on this for some months now, and I'm glad to have the first significant results today.
See the (crappy) video here : http://www.youtube.com/watch?v=tOXrv4ubEbY
It is based on :
- the TG68 core from Tobias Gubener.
- the T80 core from Daniel Wellner.
- glue logic and VDP core from me Wink
It's running on a Terasic/Altera DE1 board.
There's still work to do, but well, I'm quite confident. The whole project will be open-source.

For people who are able to read french, here is my "blog" about this project :
http://heliscar.com/greg/blog.txt
Back to top
View user's profile Send private message Visit poster's website
Chilly Willy
Very interested


Joined: 17 Aug 2007
Posts: 2360

PostPosted: Tue Jun 15, 2010 12:04 am    Post subject: Reply with quote

Funny, but I mentioned a project like that last year some time - mentioning the Altera DE1 and 2, how there are two Amiga clone projects done the same way, as well as mentioning those two CPU cores being on the OpenCore site. Laughing

I guess great minds think alike. Cool

Please! Keep up the good work. There are plenty of us who are interested in such an endeavor.
Back to top
View user's profile Send private message
Shiru
Very interested


Joined: 07 Apr 2007
Posts: 786
Location: Russia, Moscow

PostPosted: Tue Jun 15, 2010 6:44 am    Post subject: Reply with quote

Cool project. How much of FPGA capacity is already used?

I've heard a few times from a people who used T80 that it has some bugs.
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
dtech
Interested


Joined: 19 Jan 2010
Posts: 33
Location: Latvia, EU

PostPosted: Tue Jun 15, 2010 7:03 am    Post subject: Reply with quote

Woow nice to see the magic VDP on FPGA - cool!

I'd be glad to see VDP in VHDL source that synthesizes in xilinx ise as well Smile Ok, ok verilog will do as well, it's just that I dont speak it Wink

Excellent work and keep it up!
_________________
_____________
www.dtech.lv
Back to top
View user's profile Send private message Visit poster's website
Eke
Very interested


Joined: 28 Feb 2007
Posts: 749

PostPosted: Tue Jun 15, 2010 7:47 am    Post subject: Reply with quote

I always wanted to see this done in an open-source way, especially the VDP/YM2612 part
Bravo Shocked

PS: tres interessant ton blog Wink
Back to top
View user's profile Send private message Visit poster's website
Torlus
Interested


Joined: 11 Jan 2010
Posts: 10
Location: Toulouse, France

PostPosted: Tue Jun 15, 2010 8:24 am    Post subject: Reply with quote

For the moment, there is no sound : nothing about the YM2612, and I've only written the timers of the PSG, as it seems that this is the only part that may cause issues with the the Z80 code, if it was missing.

The TG68 core had a small issue with the MOVEM instruction, now fixed (I've contacted the author about it).
For the T80, I haven't made many tests yet. What are the issues about it ?

The source code is in VHDL.
Some parts are Altera-specific (like the PLL and the dual-port BRAMs), but they could be converted quite easily to their Xilinx counterparts.
I'd like to fix at least the major remaining compatibility issues, then I'll release it.

IIRC, FPGA usage is about 25%.
Back to top
View user's profile Send private message Visit poster's website
Shiru
Very interested


Joined: 07 Apr 2007
Posts: 786
Location: Russia, Moscow

PostPosted: Tue Jun 15, 2010 8:48 am    Post subject: Reply with quote

Torlus wrote:
For the T80, I haven't made many tests yet. What are the issues about it ?

I don't know if there are really any issues now, but I recall some discussions about lack of memptr (internal register) and not completely correct timings.
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
Graz
Very interested


Joined: 23 Aug 2007
Posts: 81
Location: Orlando, FL

PostPosted: Wed Jun 16, 2010 12:26 am    Post subject: Reply with quote

This is pretty cool. I'd be interested in 'enhancing' the capabilities of the Genesis. For example, what could you do if the DACs were really 4-bits per channel instead of 3? The bits are there, the RAM is there, just the LSB in the DAC is missing. Then we'd have 4 palettes of 16 (or 15) out of 4096 colors instead of 512. I wonder if any games fill those bits with meaningful data and would be more colorful on such a modified system. What if the 2612's timer was actually hooked up to something (68K or Z80) - could sound engines have been more powerful? What if there had been a few real, dual port registers in the VDP that the 68K and Z80 could simultaneously access? I can imagine some interesting experiments.
Back to top
View user's profile Send private message
Shiru
Very interested


Joined: 07 Apr 2007
Posts: 786
Location: Russia, Moscow

PostPosted: Wed Jun 16, 2010 12:34 am    Post subject: Reply with quote

Graz, you don't need an FPGA implementation, i.e. hardware emulator, to try your 'enhancements', it is much easier to do that in any software emulator first. You will have to do this anyway, to create and debug tests/software for the HW version.
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
Graz
Very interested


Joined: 23 Aug 2007
Posts: 81
Location: Orlando, FL

PostPosted: Wed Jun 16, 2010 12:43 am    Post subject: Reply with quote

Yeah, I guess. I just get a warm fuzzy feeling from coding on real hardware - even if it is an FPGA board! Dunno if anyone looked at http://www.experiment-s.de/en/. These guys don't just 'emulate', they're pin-compatible with the ST. http://www.experiment-s.de/en/pictures/english/atari-custom-chips Shocked. We could do this to the VDP!
Back to top
View user's profile Send private message
Chilly Willy
Very interested


Joined: 17 Aug 2007
Posts: 2360

PostPosted: Wed Jun 16, 2010 4:36 am    Post subject: Reply with quote

Actually, the one enhancement that would be the most useful for the Z80 for audio would be a parallel bank register as opposed to the serial register.
Back to top
View user's profile Send private message
Gigasoft
Very interested


Joined: 01 Jan 2010
Posts: 88

PostPosted: Wed Jun 16, 2010 9:31 pm    Post subject: Reply with quote

68000 RAM access from Z80 would also be nice.
Back to top
View user's profile Send private message
Torlus
Interested


Joined: 11 Jan 2010
Posts: 10
Location: Toulouse, France

PostPosted: Thu Jun 17, 2010 7:51 am    Post subject: Reply with quote

My implementation supports Z80 access to the 68000 RAM. Apparently it doesn't work on all Genesis revisions.
For a pin-to-pin replacement of the VDP, well, it's not even close, as I had to cope with the board's constraints (i.e use SRAM instead of DRAM), and also TG68 core constraints (it doesn't output the FC0-2 signals of the 68000 required for instance for interrupt acknowledgement).
Back to top
View user's profile Send private message Visit poster's website
mic_
Very interested


Joined: 12 Aug 2008
Posts: 265
Location: Sweden

PostPosted: Thu Jun 17, 2010 8:42 am    Post subject: Reply with quote

Quote:
Actually, the one enhancement that would be the most useful for the Z80 for audio would be a parallel bank register as opposed to the serial register.

IMO an YM2612 timer IRQ would be #1, a sane z80 bank register would be #2.
Back to top
View user's profile Send private message Visit poster's website
Chilly Willy
Very interested


Joined: 17 Aug 2007
Posts: 2360

PostPosted: Thu Jun 17, 2010 5:09 pm    Post subject: Reply with quote

mic_ wrote:
Quote:
Actually, the one enhancement that would be the most useful for the Z80 for audio would be a parallel bank register as opposed to the serial register.

IMO an YM2612 timer IRQ would be #1, a sane z80 bank register would be #2.


And both of those are easy/minor changes... what a shock! Laughing
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    SpritesMind.Net Forum Index -> Hardware All times are GMT
Goto page 1, 2, 3  Next
Page 1 of 3

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group