Make your own MSX-on-a-chip!

Page 1/4
| 2 | 3 | 4

By SLotman

Paragon (1239)

SLotman's picture

30-05-2005, 02:07

I dont know if I should post this on general, hardware or revival... but let's go to the topic... after some moments of googling, I have found several VHDL sources (most from ESE, so they are basic the same used on MSX-on-a-chip) available on the net... below the links:

VDP:
http://www.ohnaka.jp/wiki/wiki.cgi?page=%BB%F7%C8%F3VDP%A4%CE%A5%BD%A1%BC%A5%B9%2F04%2D01%2D17

mapper + PSG + SCC:
http://www.hat.hi-ho.ne.jp/tujikawa/esepld/download.html

flash reader:
http://www.hat.hi-ho.ne.jp/tujikawa/mmc/mmc.html

FM:
http://dsa.sakura.ne.jp/arc/src/vm2413/latest/opll040127.zip

Z80: (not from ESE, obviously)
http://www.opencores.org/projects.cgi/web/t80/overview

All that is missing is VHDL code for PPI! If someone finds it, please post it here :)
And actually this would be a little better than the OCM, because it has SCC, Mapper and FM (and I guess the VDP source is MSX2....)

so now lets build our own msx-on-a-chips! :) :) :)

Login or register to post comments

By snout

Ascended (15184)

snout's picture

30-05-2005, 02:16

I think hardware is the appropriate topic indeed Wink Still, you could have searched for PPI FPGA on the MRC. (see?). However, I don't know if it's a good thing to have several kinds of different One Chip MSXes in the future, especially not if they are incompatible with each other. But when using the same Altera Cyclone FPGA chip, I think you could indeed build your own One Chip MSX-compatible One Chip MSX ;).

By Alexandre_Taito

Champion (325)

Alexandre_Taito's picture

30-05-2005, 02:28

By Sonic_aka_T

Enlighted (4130)

Sonic_aka_T's picture

30-05-2005, 09:20

@Slotman: the OCM also has mapper support and a V9938.

By Sonic_aka_T

Enlighted (4130)

Sonic_aka_T's picture

30-05-2005, 09:37

--   VHDL Source of ESE-VDP.
--
--    Copyright (C)2000-2004 Kunihiko Ohnaka
--              All rights reserved.

-- sprite
--  constant SpMode1_nSprites: integer := 4;
--  constant SpMode2_nSprites: integer := 8;
  constant SpMode1_nSprites: integer := 65536;
  constant SpMode2_nSprites: integer := 65637;

:X MUHAHAHAHAHAHA!!!!!!!!!!!!!! :X

By Sonic_aka_T

Enlighted (4130)

Sonic_aka_T's picture

30-05-2005, 09:39

well, okay, 16 would prolly be enough... though all 32 doesn't sound half bad...

By arnold_m

Master (173)

arnold_m's picture

30-05-2005, 10:14

Why would one put the Z80 in fpga?
The Z80 is still on the market and will presumably continue to be available at reasonable cost.
By not having the Z80 in fpga one can save a lot of gates for other purposes
and I think changeableness of the CPU is not really important for most people.
I'd rather have an msx2 compatible two chip msx than a one chip msx compatible with MSXA's one chip MSX.

By snout

Ascended (15184)

snout's picture

30-05-2005, 13:27

arnold: Z80 is an extra part, a bit more complex board and a lot less flexibility (if you'd like to see what a 10MHz Z80 would do, or what a Z80 with a decent MMU would be like... you're in for trouble Wink).

By SLotman

Paragon (1239)

SLotman's picture

30-05-2005, 15:29

The z80 core from opencores.org claims that it can be overclocked up to 35Mhz... that should put even turbo-Rs in shame! Smile
Is it reason enough to implement the Z80 on FPGA? Smile Smile Smile

By SLotman

Paragon (1239)

SLotman's picture

30-05-2005, 15:37

well, okay, 16 would prolly be enough... though all 32 doesn't sound half bad...

With 16, you can fill the whole screen line width 16x16 sprites Smile
With 32, you can fill it twice hhuahuauhahua

Now make all sprites bitmapped and we are good to go! LOL

By wolf_

Ambassador_ (9918)

wolf_'s picture

30-05-2005, 15:53

Having the exact amount to fill the whole screen doesn't mean you have enough sprites on a row.. it's easy to rapidly shoot tons o' small bullets to a great bunch o' enemies on the same line, for sure it goes beyond 32 sprites easily..

Page 1/4
| 2 | 3 | 4