Changes

Jump to: navigation, search

FPGAmstrad

177 bytes added, 16:41, 9 December 2011
*optionally a DIGILENT USB JTAG (normally starter kit can be programmed directly by usb, but I don't have tested this way) [[http://www.digilentinc.com/Products/Detail.cfm?Prod=JTAG-USB]]
*a 4GB SDCARD (no more), I have exactly a "SDHC 4GB class4 Verbatim"
*the binary of this project, available here : [[http://yunyunAoF.free.fr/BuildYourOwnZ80Computer_amstrad_vhdl_000_repackBuildYourOwnZ80Computer_amstrad_vhdl_001_repack.zip]] (candidate 001)
*several ROM files : OS6128.ROM BASIC1-1.ROM AMSDOS.ROM (from JavaCPC[[http://sourceforge.net/projects/javacpc/]]); MAXAM.ROM[[http://www.cpcwiki.eu/index.php/MAXAM#Download]]
*one or more DSK files : TEMPEST.DSK[[http://www.cpcgamereviews.com/t/index2.html#tempest]] ARKANOID.DSK[[http://www.cpcgamereviews.com/a/index7.html#arkanoid]] FRUITY.DSK[[http://www.cpcgamereviews.com/f/index7.html#fruity_frank]] BRUCELEE.DSK[[http://www.cpcgamereviews.com/b/index11.html#bruce_lee]] CHASEHQ.DSK[[http://www.cpcgamereviews.com/c/index3.html#chase_hq]] WIZLAIR.DSK[[http://www.cpcgamereviews.com/w/index4.html#wizards_lair]] XEVIOUS.DSK[[http://www.cpcgamereviews.com/x/index.html#xevious]] BOULDER.DSK[[http://www.cpcgamereviews.com/b/index10.html#boulder_dash]] CLASSIC_AXIENS.DSK[[http://www.cpcgamereviews.com/c/index5.html#classic_axiens]] CLASSIC_INVADERS.DSK[[http://www.cpcgamereviews.com/c/index6.html#classic_invaders]]
== Tests done ==
Several bugs could disappear in TV mode... but TV mode is will not implemented yet. be developed (I am trying to solve theses problem for VGA)
*'''prince.dsk gryzor.dsk donkey.dskantiriad ''' : critical bug : always writing on memory, certainly performance, have due to test it on TV rupture mode to know if this problem came from my ramb16_s16_s16 use manner. (changing mode several time during display of one image) *'''buggyboy.dsk barbarian.dsk''' : some raster bug can be fight with anti-raster switch due to rupture ink (last switch is anti-raster, stopping changing ink rotate...several time during display of one image) *'''longshotgryzor.dsk''' : VSYNC alternate cut bug, it's so warrior dam *'''crazycar2prehistorik.dsk''' : simple overscan is not fully displayed : it is bug due to my VGA module using ramb16_s16_s16 component, that cpc+ demo part (game is too small for this operationcpc, but hack seem being for cpc+ dma sound/keyboard), if you turn MOCK false on YM2149_linmix.vhd file), Gryzor also use rupture mode. Arkanoid.dsk stars use rupture address (changing address several time during display of one image), it is know supported on "candidate 001" version of FPGAmstradCrazycar2.dsk first car image use 32Ko of VRAM, it is know supported on "candidate 001" version of FPGAmstrad
A lot of demos don't pass, in fact I didn't find one that pass dam.
=== Alignment of HSYNC Interrupt ===
A button Interrupt are respected since version "candidate 001" of starter kit display HSYNC interrupt loopback lines, it's useful to compare to a Maxam test that alternate color on themFPGAmstrad.
[[File:JavaCPC_running_norecess.jpg]]
JavaCPC running norecess's "using-interrupts" code [[http://www.norecess.net/using-interrupts.html]]
[[File:FPGAmstrad_interrupt_display_button.jpg]] Pressing a starter-kit button displays interruptsCould be interesting to test this asm code on next version of FPGAmstrad.
=== Sniffing of a real Amstrad ===
==== FPGA internal RAM size ====
It's to know that a FPGA chip contain 96KB 45Ko internal RAM (360Kb for NEXYS2 500k-gates, and 504Kb for 1200k-gates) so you can't insert a dsk inside. This internal RAM is already used in part by T80 (z80 from opencores), by the soundchip, and for special RAM '''ramb16_s16_s16''' (RAM with two different speed one for writing another for reading, in fact two RAM with a common part) that I use for VGA mode.
==== VHDL components size ====
1,200
edits