Announce: Complete UK101 on a very cheap FPGA board online

For discussing the 65xx hardware itself or electronics projects.
zx80nut
Posts: 65
Joined: 04 Jan 2012

Announce: Complete UK101 on a very cheap FPGA board online

Post by zx80nut »

Hi.
Several here have followed my micro UK101 page (and several posts are on this forum regarding it)
*****UPDATE 6th NOV 2019 - NEW HOSTING AND DOMAIN - PLEASE GO TO http://searle.wales AND FOLLOW THE LINK FROM THAT PAGE*****

Now, I have implemented a 100% complete UK101 on a very cheap FPGA board (so anyone can do it :) )
My web page has only recently gone online so there are some updates to do to it (32K RAM expansion, enhanced screen etc, as found on the original upgrades).

I have tried to take you through the design and implementation process (instead of just dumping files on a random page) and will expand the descriptions over the following weeks.
Image

Really cheap to build, and I consider a good way of trying out FPGA if you have never done it before.
These boards are about £12 to the UK from China including post, plus a suitable programmer is about £8, so won't break your bank. Just search on eBay or elsewhere. I think they are great, and I now have several of them as they are small and cheap enough to keep for different projects.

As always, any issues or queries, please feel free to contact me.

Regards.

Grant
Last edited by zx80nut on Wed Nov 06, 2019 4:40 pm, edited 1 time in total.
User avatar
Michael
Posts: 633
Joined: 13 Feb 2013
Location: Michigan, USA

Re: Announce: Complete UK101 on a very cheap FPGA board onli

Post by Michael »

Thank you, Grant. That's very cool!
jonb
Posts: 104
Joined: 08 May 2011

Re: Announce: Complete UK101 on a very cheap FPGA board onli

Post by jonb »

^ What he said.. I'm interested in having a shot at this because of the FPGA experience.

Nice one!
jmp39
Posts: 1
Joined: 12 Nov 2013

Re: Announce: Complete UK101 on a very cheap FPGA board onli

Post by jmp39 »

Thank you for this wonderful work!
This will be my first experience with an FPGA, with a 6502 that increases the fun :-)
zx80nut
Posts: 65
Joined: 04 Jan 2012

Re: Announce: Complete UK101 on a very cheap FPGA board onli

Post by zx80nut »

Thanks for your kind replies.

Just to let you know there are updates on my page to go through some modifications that can be done...

First one a a VHDL-only change to allow you to use the old monitor instead of CEGMON.

The second modification is a really cheap and simple hardware mod to expand the RAM to the maximum that BASIC will recognise - 40K, plus any holes in the memory map higher up (eg between the ACIA, ROMS and display) are filled with RAM so they can be peeked/poked or used for machine code.

*****UPDATE 6th NOV 2019 - NEW HOSTING AND DOMAIN - PLEASE GO TO http://searle.wales AND FOLLOW THE LINK FROM THAT PAGE*****

Image

Image

Regards.

Grant


All my other stuff: http://searle.wales
Last edited by zx80nut on Wed Nov 06, 2019 4:41 pm, edited 1 time in total.
User avatar
Michael
Posts: 633
Joined: 13 Feb 2013
Location: Michigan, USA

Re: Announce: Complete UK101 on a very cheap FPGA board onli

Post by Michael »

Thank you for the update, Grant. That's really awesome!

Cheerful regards, Mike
zz_indigo
Posts: 14
Joined: 21 Sep 2013
Location: Slowakia
Contact:

Re: Announce: Complete UK101 on a very cheap FPGA board onli

Post by zz_indigo »

Cool project. New core for mi FPGA PC. (http://zz-indigo.mavipet.sk/?page_id=79)

I can't find license of code. What is the license?

p.s. Excuse mi poor English.
zx80nut
Posts: 65
Joined: 04 Jan 2012

Re: Announce: Complete UK101 on a very cheap FPGA board onli

Post by zx80nut »

Hi.
There is a link for the base software/firmware needed about half way down the page. I don't have, nor do I subscribe to any "license" (eg GNU etc) for use of my code, apart from common courtesy that you won't copy it and use it without some form of acknowledgement to me or my web page.

Click here to jump to the relevant section holding the software link...
*****UPDATE 6th NOV 2019 - NEW HOSTING AND DOMAIN - PLEASE GO TO http://searle.wales AND FOLLOW THE LINK FROM THAT PAGE*****

Update for two more modifications done, and will be published soon:

Modification 3:
I now have a FULL 64x32 display working and the FPGA auto-patches the CEGMON code so that the required updated parameters are read from the appropriate ROM locations and full screen is active on boot. Although increased display resolution, because the 64 bytes per line is still used, all games work, including space invaders :) but obviously appear smaller.


Modification 4:

Pressing F1 on the keyboard switches between the standard 1MHz speed and anything up to 25MHz ( ! ) at any time during the board operation.

As with my other modifications, you use the base code and I take you through how modify it to do them yourselves, including exact code changes needed instead of just providing final code so that you can see how it can be done.

The text is all done, and I want to do a full blind-test on my modifications (ie. following my own instructions) to ensure they are accurate before I release.

When ready, I'll update. Please follow me on twitter (link on page) to see any news as I do it.


Regards.

Grant
http://searle.wales
Last edited by zx80nut on Wed Nov 06, 2019 4:41 pm, edited 1 time in total.
zz_indigo
Posts: 14
Joined: 21 Sep 2013
Location: Slowakia
Contact:

Re: Announce: Complete UK101 on a very cheap FPGA board onli

Post by zz_indigo »

I tested your core but CegmonRom don't accept any key from keyboard. MonUK02Rom work OK.

What am I doing wrong?
zx80nut
Posts: 65
Joined: 04 Jan 2012

Re: Announce: Complete UK101 on a very cheap FPGA board onli

Post by zx80nut »

Difficult to say - did you make any changes?
I know it definitely works because someone else has also got it working (including running space invaders on it) and I spent time yesterday evening re-testing everything (including all four modifications that will be published shortly) in readiness for publishing the latest version.

Please let me know what modifications were made to the source and I'll see if I can help.

Regards.

Grant
zz_indigo
Posts: 14
Joined: 21 Sep 2013
Location: Slowakia
Contact:

Re: Announce: Complete UK101 on a very cheap FPGA board onli

Post by zz_indigo »

zx80nut wrote:
Difficult to say - did you make any changes?
I know it definitely works because someone else has also got it working (including running space invaders on it) and I spent time yesterday evening re-testing everything (including all four modifications that will be published shortly) in readiness for publishing the latest version.

Please let me know what modifications were made to the source and I'll see if I can help.

Regards.

Grant
Thanx for reply.

I change only pin asigment. - Video working, keyboard don't work
next change is replace monitor ROM - Video working, keyboard working. see video: http://www.youtube.com/watch?v=0S_cR3xW2UU

changes in uk101.vhdl
---------
-- u4: entity work.CegmonRom
u4: entity work.MonUK02Rom
----------

Actual i find problem. When i pres other key as C/W/M selector don't working. Help only reset. MonUK02 don't have this bug.

My changes is in SVN repository: https://svn.mavipet.sk/svn/fpga_comps/ directory "UK101" (don't work in Internet exlorer)
zx80nut
Posts: 65
Joined: 04 Jan 2012

Re: Announce: Complete UK101 on a very cheap FPGA board onli

Post by zx80nut »

Odd...
To make sure I didn't have anything slightly different on my PC I downloaded the ZIP file that I had published and extracted it.
I then copied the contents of your QSF (pinouts) file in SVN and I used that without any change.
I compiled and uploaded to the board, changed my video connections to 76 and 74, and keyboard to 32 and 31 to match your pinout file.

It all works perfectly with CEGMON. There are no issues for me.

Then, I took all your files from SVN and recompiled. Worked fine with MonUK02.
I changed the uk101.vhd to use CEGMON and recompiled. Again, it works perfectly.

Basically, whatever combination I try, it works.

Are you using Quartus II 13.0 sp1 (latest that supports the Cyclone II)?
One thing I notice on your schematic is that you are missing the pull-ups (10K approx) on the PS/2 lines (not sure if the weak pullups, if enabled on the FPGA, are strong enough). These are needed because the keyboard is "open collector". They may be floating so working sometimes. Also, I power the keyboard at 3.3V (no issues with any that I tried) so don't use serial resistors.

I just noticed that I had not put any copyright message on the files - I have now, where appropriate, and re-uploaded :)

Grant.
zx80nut
Posts: 65
Joined: 04 Jan 2012

Re: Announce: Complete UK101 on a very cheap FPGA board onli

Post by zx80nut »

Update:

(Keyboard triggered turbo modification requires latest VHDL source - make sure you have latest (keyboard) before trying it)

Details to allow the full 64x32 display on-screen plus "turbo" mode by pressing F1 on the keyboard are now fully working and online. The CEGMON ROM code is auto-patched by the VHDL to use the required default parameters for full screen 64x32. In turbo mode, the VHDL patches the auto-repeat delay loop value to ensure typing is still possible!

Standard UK101 speed is 1MHz. Turbo mode can be up to 16.66MHz using the external SRAM that I mention, but is possible to achieve 25MHz with fast SRAM and short wires. Will also work at 25MHz with internal RAM. However, 16.66MHz should be fast enough ;) The actual turbo speed can be set as needed by applying appropriate values to the VHDL code. Full details, as always, on the page.

A pic showing the 64x32 display is below. Games such as space invaders also still work in this mode, but appear smaller (obviously!). Looks nice and clear on a modern LCD TV as well.
6502.org wrote:
Regards.

Grant
http://searle.wales
Last edited by zx80nut on Wed Nov 06, 2019 4:42 pm, edited 1 time in total.
zz_indigo
Posts: 14
Joined: 21 Sep 2013
Location: Slowakia
Contact:

Re: Announce: Complete UK101 on a very cheap FPGA board onli

Post by zz_indigo »

zx80nut wrote:
Then, I took all your files from SVN and recompiled. Worked fine with MonUK02.
I changed the uk101.vhd to use CEGMON and recompiled. Again, it works perfectly.
I have problem only when i after reset pres other keys. If i pres C/W/M all is ok.
zx80nut wrote:
Are you using Quartus II 13.0 sp1 (latest that supports the Cyclone II)?
One thing I notice on your schematic is that you are missing the pull-ups (10K approx) on the PS/2 lines (not sure if the weak pullups, if enabled on the FPGA, are strong enough). These are needed because the keyboard is "open collector". They may be floating so working sometimes. Also, I power the keyboard at 3.3V (no issues with any that I tried) so don't use serial resistors.
Quartus 13.0.1 Service pack 1 instaled. (64 biot version)

I use internal weak pul-up. I dont have ani problem with ZX80/ZX81/Jupiter ACE cores.And your core working OK. Problem is ony with cegmon in first selection.
zx80nut wrote:
I just noticed that I had not put any copyright message on the files - I have now, where appropriate, and re-uploaded :)
OK I update license in your files in my SVN :-)
User avatar
GARTHWILSON
Forum Moderator
Posts: 8773
Joined: 30 Aug 2002
Location: Southern California
Contact:

Re: Announce: Complete UK101 on a very cheap FPGA board onli

Post by GARTHWILSON »

zz_indigo wrote:
I use internal weak pul-up. I dont have ani problem with ZX80/ZX81/Jupiter ACE cores.And your core working OK. Problem is ony with cegmon in first selection.
Is there a speed difference? The internal weak pull-ups may be much too weak to charge up the capacitance on the line in time for a faster speed. I seem to remember that for the PS/2 keyboard interface normally uses 4.7K, whereas internal weak pull-ups are anywhere from 100K to 20M on various ICs.
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?
Post Reply