Compukit UK101 core

User avatar
Moondandy
Top Contributor
Posts: 535
Joined: Mon May 25, 2020 2:14 am
Location: Edinburgh, Scotland
Has thanked: 32 times
Been thanked: 97 times

Re: Compukit UK101 core

Unread post by Moondandy »

Hopefully one of the Devs will reach out and help you get the core released officially. Are you using the latest version of the MiSTer framework, and is the core free of any copyright material i.e. BIOS files?
danielb
Core Developer
Posts: 227
Joined: Thu Jun 04, 2020 1:43 pm
Has thanked: 41 times
Been thanked: 64 times

Re: Compukit UK101 core

Unread post by danielb »

Hi all,

The core has now "gone official".

Latest sources are at https://github.com/MiSTer-devel/UK101_MiSTer.

The rbf is downloaded by the update script :)

D.
danielb
Core Developer
Posts: 227
Joined: Thu Jun 04, 2020 1:43 pm
Has thanked: 41 times
Been thanked: 64 times

Re: Compukit UK101 core

Unread post by danielb »

Hi all,

I managed to load and run a game on the core :)

The game is written in Basic. Machine code games can also be loaded, via the monitor (press M at the start-up screen. L loads files), but I have not tried it yet. Some games are written for enhanced UK101s (it is a kit computer after all) and so may not run on the core. The core itself is enhanced (64x32 screen, extra memory), which enables this particular game to run.

The biggest TODO for this core is to be able to load as many games as possible, as conveniently as possible, and this is what I intend to work on.

Am I allowed to post a download link for the games?

D.
Attachments
opening screen.jpg
opening screen.jpg (62.22 KiB) Viewed 17107 times
maze.jpg
maze.jpg (61.41 KiB) Viewed 17107 times
loading.jpg
loading.jpg (118.14 KiB) Viewed 17107 times
danielb
Core Developer
Posts: 227
Joined: Thu Jun 04, 2020 1:43 pm
Has thanked: 41 times
Been thanked: 64 times

Re: Compukit UK101 core

Unread post by danielb »

Space Invaders on the UK101 core - this is a machine code game loaded through the Monitor program.

D
Attachments
invaders.jpg
invaders.jpg (42.5 KiB) Viewed 17067 times
User avatar
Alkadian
Top Contributor
Posts: 721
Joined: Thu May 28, 2020 9:55 am
Has thanked: 289 times
Been thanked: 116 times

Re: Compukit UK101 core

Unread post by Alkadian »

danielb wrote: Tue Aug 17, 2021 12:59 pm Space Invaders on the UK101 core - this is a machine code game loaded through the Monitor program.

D
Simply awesome, so fascinating! I can't wait to try a few games as well if/when games will become available to download. Thanks!
danielb
Core Developer
Posts: 227
Joined: Thu Jun 04, 2020 1:43 pm
Has thanked: 41 times
Been thanked: 64 times

Re: Compukit UK101 core

Unread post by danielb »

Alkadian wrote: Tue Aug 17, 2021 1:25 pm
danielb wrote: Tue Aug 17, 2021 12:59 pm Space Invaders on the UK101 core - this is a machine code game loaded through the Monitor program.

D
Simply awesome, so fascinating! I can't wait to try a few games as well if/when games will become available to download. Thanks!
I don't think there were ever many games for this system. Everybody's friend Google will find them for you.

D.
User avatar
Alkadian
Top Contributor
Posts: 721
Joined: Thu May 28, 2020 9:55 am
Has thanked: 289 times
Been thanked: 116 times

Re: Compukit UK101 core

Unread post by Alkadian »

danielb wrote: Tue Aug 17, 2021 2:13 pm
Alkadian wrote: Tue Aug 17, 2021 1:25 pm
danielb wrote: Tue Aug 17, 2021 12:59 pm Space Invaders on the UK101 core - this is a machine code game loaded through the Monitor program.

D
Simply awesome, so fascinating! I can't wait to try a few games as well if/when games will become available to download. Thanks!
I don't think there were ever many games for this system. Everybody's friend Google will find them for you.

D.
Perfect, I will proceed on this basis then :lol:
danielb
Core Developer
Posts: 227
Joined: Thu Jun 04, 2020 1:43 pm
Has thanked: 41 times
Been thanked: 64 times

Re: Compukit UK101 core

Unread post by danielb »

Hi all,

I just pushed a new version of the core.

This version allows the screen size to be switched between 64x32 characters and 48x16, which was the original size on the UK101, apparently.

It also allows the ROM monitor to be switched between Cegmon, and MonUK02, or NewMon, which is older and more original.

This ROM is much more compatible with the available games, e.g. 8K Super Invaders now runs, as does Le Passe-Temps. This ROM is not compatible with the 64x32 screen size, so selecting it locks that mode out. The one drawback (for me) is that the text with this ROM is too far to the right. With Cegmon, I was able to patch it to move the text to the left, but I am unable to find info on how to do this with MonUK02. In any case, the text is not cut off at the right, so I released it like this. I will hopefully fix this at some point.

After switching ROMS, do a cold reset. After switching screen sizes, the system will continue to run, but doing a cold or warm reset will set the proper values for the edges of the screen, which have to be read from the ROM.

Please let me know if you find any issues.

Rgds,

D.
Attachments
Cegmon48x16.jpg
Cegmon48x16.jpg (66.32 KiB) Viewed 5077 times
superinvaders.jpg
superinvaders.jpg (78.2 KiB) Viewed 5078 times
lepassetemps.jpg
lepassetemps.jpg (109.92 KiB) Viewed 5078 times
User avatar
pgimeno
Top Contributor
Posts: 669
Joined: Thu Jun 11, 2020 9:44 am
Has thanked: 246 times
Been thanked: 208 times

Re: Compukit UK101 core

Unread post by pgimeno »

Hi danielb,

Would it be possible to use the system's scaler? It looks like this core is doing its own scaling rather than letting the system do it, which results in non-uniform pixel columns, which also go into the snapshots, and that also makes the Aspect Ratio option from the menu or the integer scaling options from the INI not work.
danielb
Core Developer
Posts: 227
Joined: Thu Jun 04, 2020 1:43 pm
Has thanked: 41 times
Been thanked: 64 times

Re: Compukit UK101 core

Unread post by danielb »

Hi,

I'd be happy to do this, if you can point me in the direction of some documentation on how it is done.

Lack of documentation is a SERIOUS hurdle to writing a core. I have been looking in other cores to see how they are written but this is not always enough.

As I said before, this is my noob project, so some documentation would be a big help.

D.
User avatar
pgimeno
Top Contributor
Posts: 669
Joined: Thu Jun 11, 2020 9:44 am
Has thanked: 246 times
Been thanked: 208 times

Re: Compukit UK101 core

Unread post by pgimeno »

danielb wrote: Sat Aug 21, 2021 11:57 am Hi,

I'd be happy to do this, if you can point me in the direction of some documentation on how it is done.

Lack of documentation is a SERIOUS hurdle to writing a core. I have been looking in other cores to see how they are written but this is not always enough.

As I said before, this is my noob project, so some documentation would be a big help.

D.
I hear you. I'm currently working on a software project, but when I get back to the FPGA world I have some tutorials to watch because there isn't any documentation that I could find. Anyway, for this specific problem, this thread may help:

viewtopic.php?t=419

There's also this series by alanswx that I have in my to-watch list:

https://www.youtube.com/watch?v=81GN5DLCFOk

and accompanying repository: https://github.com/alanswx/Tutorials_MiSTer
User avatar
NML32
Posts: 288
Joined: Sun May 24, 2020 6:57 pm
Has thanked: 272 times
Been thanked: 43 times

Re: Compukit UK101 core

Unread post by NML32 »

Is there a way to slow down Super Invaders. The game seems to run very fast.
danielb
Core Developer
Posts: 227
Joined: Thu Jun 04, 2020 1:43 pm
Has thanked: 41 times
Been thanked: 64 times

Re: Compukit UK101 core

Unread post by danielb »

NML32 wrote: Sat Aug 21, 2021 2:59 pm Is there a way to slow down Super Invaders. The game seems to run very fast.
Hi,

I found this on another forum, apparently written by Grant himself:

"Additionally, the speed of the space invaders is actually controlled by sending characters to the serial port ( ! ). As my FPGA currently runs at 9600BAUD instead of 300BAUD it runs too fast. You will need to change the VHDL to use 300 baud (already commented with appropriate values in the VHDL clock divider code) then make sure the serial terminal is set to 300 baud when doing the "LOAD" from within BASIC. Once you have made that speed change, it runs exactly the same as the original ."

I'll see what I can do about it

D.
danielb
Core Developer
Posts: 227
Joined: Thu Jun 04, 2020 1:43 pm
Has thanked: 41 times
Been thanked: 64 times

Re: Compukit UK101 core

Unread post by danielb »

pgimeno wrote: Sat Aug 21, 2021 1:07 pm
danielb wrote: Sat Aug 21, 2021 11:57 am Hi,

I'd be happy to do this, if you can point me in the direction of some documentation on how it is done.

Lack of documentation is a SERIOUS hurdle to writing a core. I have been looking in other cores to see how they are written but this is not always enough.

As I said before, this is my noob project, so some documentation would be a big help.

D.
I hear you. I'm currently working on a software project, but when I get back to the FPGA world I have some tutorials to watch because there isn't any documentation that I could find. Anyway, for this specific problem, this thread may help:

viewtopic.php?t=419

There's also this series by alanswx that I have in my to-watch list:

https://www.youtube.com/watch?v=81GN5DLCFOk

and accompanying repository: https://github.com/alanswx/Tutorials_MiSTer
Thanks.

D.
User avatar
RedskullDC
Posts: 29
Joined: Fri Jul 03, 2020 2:10 pm
Has thanked: 4 times
Been thanked: 25 times

Re: Compukit UK101 core

Unread post by RedskullDC »

Hi Danielb,
danielb wrote: Sat Aug 21, 2021 10:59 am ....
The one drawback (for me) is that the text with this ROM is too far to the right. With Cegmon, I was able to patch it to move the text to the left, but I am unable to find info on how to do this with MonUK02. In any case, the text is not cut off at the right, so I released it like this. I will hopefully fix this at some point.
Not sure if this will be of use to you?

http://uk101.sourceforge.net/docs/config.html

Half way down the page, has details on patching MONUK02.

Regards,
Leslie
danielb
Core Developer
Posts: 227
Joined: Thu Jun 04, 2020 1:43 pm
Has thanked: 41 times
Been thanked: 64 times

Re: Compukit UK101 core

Unread post by danielb »

Thanks.I'll see if I can use it

Meanwhile, I'm on holiday for a couple of days, when I get back on Wednesday, I'll be releasing a version with selectable baud rate. It actually does fix the speed of Super Invaders.

This is proving to be a weird and interesting system, with some really bizarre quirks :)

D
EeDee
Posts: 238
Joined: Thu Dec 24, 2020 12:33 pm
Has thanked: 7 times
Been thanked: 47 times

Re: Compukit UK101 core

Unread post by EeDee »

danielb wrote: Thu Aug 12, 2021 2:36 pm

Thanks to everyone for the feedback. I am happy to see that the core seems to be working for everyone.

As for future developments, I am looking forward to attempting to get saving and loading via ADC working. Not sure what else I can add to it ..

Daniel
Thanks for the additions so for ;-)
danielb
Core Developer
Posts: 227
Joined: Thu Jun 04, 2020 1:43 pm
Has thanked: 41 times
Been thanked: 64 times

Re: Compukit UK101 core

Unread post by danielb »

Hi all,

I pushed the new version with selectable baud rate. Load Super Invaders at 9600 baud as usual, then change to 300 to make the game run at its proper speed.

D.
EeDee
Posts: 238
Joined: Thu Dec 24, 2020 12:33 pm
Has thanked: 7 times
Been thanked: 47 times

Re: Compukit UK101 core

Unread post by EeDee »

Thank you. Hope you enjoyed your holiday
User avatar
NML32
Posts: 288
Joined: Sun May 24, 2020 6:57 pm
Has thanked: 272 times
Been thanked: 43 times

Re: Compukit UK101 core

Unread post by NML32 »

danielb wrote: Tue Aug 24, 2021 6:45 pm Hi all,

I pushed the new version with selectable baud rate. Load Super Invaders at 9600 baud as usual, then change to 300 to make the game run at its proper speed.

D.
Thank you, Super Invaders plays much better at 300 baud.
https://youtu.be/gX-o_uXxOFE

:)
danielb
Core Developer
Posts: 227
Joined: Thu Jun 04, 2020 1:43 pm
Has thanked: 41 times
Been thanked: 64 times

Re: Compukit UK101 core

Unread post by danielb »

Great video!
User avatar
NML32
Posts: 288
Joined: Sun May 24, 2020 6:57 pm
Has thanked: 272 times
Been thanked: 43 times

Re: Compukit UK101 core

Unread post by NML32 »

danielb wrote: Tue Aug 24, 2021 10:09 pmGreat video!
I had a question about the Super Invader graphics from the YT video I posted. :?:

Jac Goudsmit • 4 hours ago (edited)
Is there something wrong with the character set or the emulation? I've never seen this game on the UK101/Superboard before but if looks like the graphics are displayed wrong, like there's an off-by-one error in the emulation of the character ROM or something, so that it shows one pixel from the wrong character on each line or something.
danielb
Core Developer
Posts: 227
Joined: Thu Jun 04, 2020 1:43 pm
Has thanked: 41 times
Been thanked: 64 times

Re: Compukit UK101 core

Unread post by danielb »

I'll take a look at it. :shock:

Meanwhile, I am trying, with limited success so far, to implement loading text files from the OSD instead of from the UART.

Since all available software software for the system seems to be in the form of text files, this makes more sense than loading tapes via the ADC.

D.
User avatar
pgimeno
Top Contributor
Posts: 669
Joined: Thu Jun 11, 2020 9:44 am
Has thanked: 246 times
Been thanked: 208 times

Re: Compukit UK101 core

Unread post by pgimeno »

I've tried to set up the comm port without using minicom, but I was unsuccessful. At best, if I open minicom and quit with Ctrl-A Q [Yes], it works (until the next reboot), but I couldn't configure it properly from the command line from zero. It seems like minicom sets some parameter of the device that stty is unable to set. I even compared the output of stty with that after closing minicom without reset, and got identical results but it still didn't work.

Any idea how to make it work without opening minicom? Here's the script I've been trying to get working:

Code: Select all

#!/bin/sh
stty -F /dev/ttyS1 9600 cs8 -parenb -cstopb  # 9600 8 N 1
ascii-xfr -sdv /media/fat/games/UK101/"$1" > /dev/ttyS1
danielb
Core Developer
Posts: 227
Joined: Thu Jun 04, 2020 1:43 pm
Has thanked: 41 times
Been thanked: 64 times

Re: Compukit UK101 core

Unread post by danielb »

Hardware flow control needs to be on. This is set as default by Minicom, but may not be set in your script. I also tried the same thing you did but never worked out how to configure it.

D.
danielb
Core Developer
Posts: 227
Joined: Thu Jun 04, 2020 1:43 pm
Has thanked: 41 times
Been thanked: 64 times

Re: Compukit UK101 core

Unread post by danielb »

NML32 wrote: Fri Aug 27, 2021 8:50 am
danielb wrote: Tue Aug 24, 2021 10:09 pmGreat video!
I had a question about the Super Invader graphics from the YT video I posted. :?:

Jac Goudsmit • 4 hours ago (edited)
Is there something wrong with the character set or the emulation? I've never seen this game on the UK101/Superboard before but if looks like the graphics are displayed wrong, like there's an off-by-one error in the emulation of the character ROM or something, so that it shows one pixel from the wrong character on each line or something.
Hi all,

I am posting here a development version with greatly improved graphic resolution and more memory. I am not sure whether I should release it, because the glitchy graphics are still there.
There seem to me to be two possibilities: either the character set itself it corrupted, or the VGA rendering doesn't work properly. I am leaning towards the first possibility, because the problem only manifests itself in certain graphic characters; text display is always fine. I will make some enquiries online and see if I can fix the problem.

Eventually I would like to redo the display the "MiSTer way", but that will take some time.

D.
Attachments
UK101_20210828.zip
(744.89 KiB) Downloaded 123 times
danielb
Core Developer
Posts: 227
Joined: Thu Jun 04, 2020 1:43 pm
Has thanked: 41 times
Been thanked: 64 times

Re: Compukit UK101 core

Unread post by danielb »

Hi all,

Another update...

I have solved the graphic glitches. I worked out how to do things "the MiSTer way", dumped the VGA interface, and I am now feeding Grant Searle's original video through the Mister scaler etc.

The result is perfect graphics. At the moment only at 48x16 characters.

Needless to say, I am rather chuffed... :) It will take a while till I can release this, since not all details are working, and parts of the menu needs redoing, so I am just posting some pictures for now.

Thanks everyone for the feedback. I probably wouldn't even have noticed the problems without it.

D.
Attachments
pic3.jpg
pic3.jpg (73.25 KiB) Viewed 5174 times
pic2.jpg
pic2.jpg (69.88 KiB) Viewed 5174 times
pic1.jpg
pic1.jpg (81.28 KiB) Viewed 5174 times
EeDee
Posts: 238
Joined: Thu Dec 24, 2020 12:33 pm
Has thanked: 7 times
Been thanked: 47 times

Re: Compukit UK101 core

Unread post by EeDee »

Good news and thanks for your work
User avatar
NML32
Posts: 288
Joined: Sun May 24, 2020 6:57 pm
Has thanked: 272 times
Been thanked: 43 times

Re: Compukit UK101 core

Unread post by NML32 »

@danielb, good job, that looks much better. :)
User avatar
pgimeno
Top Contributor
Posts: 669
Joined: Thu Jun 11, 2020 9:44 am
Has thanked: 246 times
Been thanked: 208 times

Re: Compukit UK101 core

Unread post by pgimeno »

danielb wrote: Fri Aug 27, 2021 9:07 pm Hardware flow control needs to be on. This is set as default by Minicom, but may not be set in your script. I also tried the same thing you did but never worked out how to configure it.

D.
That was it, thanks! This sets the correct parameters to not depend on minicom:

Code: Select all

#!/bin/sh
stty -F /dev/ttyS1 9600 cs8 -parenb -cstopb crtscts # 9600 8 N 1 Hardware flow control
ascii-xfr -sdv /media/fat/games/UK101/"$1" > /dev/ttyS1
The only change with respect to the previous script is the addition of crtscts (for hardware flow control through RTS/CTS)

Edit: And thanks for the MiSTer scaler update! I'm looking forward to the release.
Post Reply