Changes

Jump to: navigation, search

FPGAmstrad

365 bytes added, 20:41, 9 March 2015
/* Components */
PPI chip is [http://www.cpcwiki.eu/index.php/VHDL_implementation_of_the_8255_PIO 8255 CPCWiki] one, patched.
PWM chip is [http://www.fpga4fun.com/PWM_DAC.html PWM_DAC fpga4fun] one. Warning, using PWM is lowcost but is as it can result into a low quality sound, in fact if sound is stopped at 50% of voltage, it generates high continouis sound or ultrasound during this "silent" moment (cause it can't really make 2.5v with only two output 0v and 5v), so you can hear whistle. A solution is to buy '''add another clock entry''', one clock is about executing PWM algorithm and another one is about pushing input digital sound data, that result a pmod DAC or a pmod higher quality sound output (not tested), that what I done in MiST-board version of FPGAmstrad.
In NEXYS2's version of FPAmstrad, PS/2 keyboard has had a strange internal hardware timeout, it can be shown using game "Macadam" (pinball), so you have to use joystick... But as [http://www.syntiac.com/fpga64.html FPGA64] succeed with that, I have to rebuild solved this component.problem since NEXYS4's version of FPGAmstrad (and also in MiST version)
VGA display component use same parameters than unix '''modeline''' command
A component is dedicated to interrupt generation
Big components as SPI on BOOTLOAD use state-machine led debug : an integer contain the state of state machine, and this integer is displayed on 8 leds so you know where you are, it's for that I add several crash state in order to understand why and where component crash. In MiST-board, this is displayed on the five 7-segment I added in OSD, I add also a input in order to select one or another state machine.
This project doesn’t use IBM ROM of NEXYS2. Be careful if playing one day with it, physical IBM ROM is plugged on bottom of physical RAM and can put death bit for some byte address. In fact my 8th byte is death; it's why I turn always my upper RAM address bit into 1. I think that I have written one time on a ghost part of ROM, and it was fatal...
1,200
edits