6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Tue Apr 16, 2024 7:18 am

All times are UTC




Post new topic Reply to topic  [ 42 posts ]  Go to page 1, 2, 3  Next
Author Message
PostPosted: Thu Jan 02, 2014 1:05 pm 
Offline

Joined: Wed Jan 04, 2012 9:02 pm
Posts: 65
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.

Top
 Profile  
Reply with quote  
PostPosted: Fri Jan 03, 2014 12:31 am 
Offline
User avatar

Joined: Wed Feb 13, 2013 1:38 pm
Posts: 585
Location: Michigan, USA
Thank you, Grant. That's very cool!


Top
 Profile  
Reply with quote  
PostPosted: Tue Jan 07, 2014 3:23 pm 
Offline

Joined: Sun May 08, 2011 7:39 am
Posts: 104
^ What he said.. I'm interested in having a shot at this because of the FPGA experience.

Nice one!


Top
 Profile  
Reply with quote  
PostPosted: Wed Jan 08, 2014 7:04 am 
Offline

Joined: Tue Nov 12, 2013 1:41 pm
Posts: 1
Thank you for this wonderful work!
This will be my first experience with an FPGA, with a 6502 that increases the fun :-)


Top
 Profile  
Reply with quote  
PostPosted: Tue Jan 14, 2014 11:43 pm 
Offline

Joined: Wed Jan 04, 2012 9:02 pm
Posts: 65
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.

Top
 Profile  
Reply with quote  
PostPosted: Thu Jan 16, 2014 4:05 pm 
Offline
User avatar

Joined: Wed Feb 13, 2013 1:38 pm
Posts: 585
Location: Michigan, USA
Thank you for the update, Grant. That's really awesome!

Cheerful regards, Mike


Top
 Profile  
Reply with quote  
PostPosted: Fri Jan 17, 2014 8:11 pm 
Offline

Joined: Sat Sep 21, 2013 3:26 pm
Posts: 14
Location: Slowakia
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.

_________________
http://zz-indigo.mavipet.sk/


Top
 Profile  
Reply with quote  
PostPosted: Fri Jan 17, 2014 10:28 pm 
Offline

Joined: Wed Jan 04, 2012 9:02 pm
Posts: 65
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.

Top
 Profile  
Reply with quote  
PostPosted: Sat Jan 18, 2014 2:44 pm 
Offline

Joined: Sat Sep 21, 2013 3:26 pm
Posts: 14
Location: Slowakia
I tested your core but CegmonRom don't accept any key from keyboard. MonUK02Rom work OK.

What am I doing wrong?

_________________
http://zz-indigo.mavipet.sk/


Top
 Profile  
Reply with quote  
PostPosted: Sat Jan 18, 2014 4:50 pm 
Offline

Joined: Wed Jan 04, 2012 9:02 pm
Posts: 65
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


Top
 Profile  
Reply with quote  
PostPosted: Sat Jan 18, 2014 7:52 pm 
Offline

Joined: Sat Sep 21, 2013 3:26 pm
Posts: 14
Location: Slowakia
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)

_________________
http://zz-indigo.mavipet.sk/


Top
 Profile  
Reply with quote  
PostPosted: Sat Jan 18, 2014 8:54 pm 
Offline

Joined: Wed Jan 04, 2012 9:02 pm
Posts: 65
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.


Top
 Profile  
Reply with quote  
PostPosted: Sat Jan 18, 2014 9:45 pm 
Offline

Joined: Wed Jan 04, 2012 9:02 pm
Posts: 65
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.

Image

Regards.

Grant
http://searle.wales


Last edited by zx80nut on Wed Nov 06, 2019 4:42 pm, edited 1 time in total.

Top
 Profile  
Reply with quote  
PostPosted: Sun Jan 19, 2014 9:24 am 
Offline

Joined: Sat Sep 21, 2013 3:26 pm
Posts: 14
Location: Slowakia
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 :-)

_________________
http://zz-indigo.mavipet.sk/


Top
 Profile  
Reply with quote  
PostPosted: Sun Jan 19, 2014 9:35 am 
Online
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8422
Location: Southern California
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?


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 42 posts ]  Go to page 1, 2, 3  Next

All times are UTC


Who is online

Users browsing this forum: No registered users and 1 guest


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 post attachments in this forum

Search for:
Jump to: