Page 2 of 10

Re: Compukit UK101 core

Posted: Tue Aug 17, 2021 2:13 pm
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.

Re: Compukit UK101 core

Posted: Tue Aug 17, 2021 4:00 pm
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:

Re: Compukit UK101 core

Posted: Sat Aug 21, 2021 10:59 am
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.

Re: Compukit UK101 core

Posted: Sat Aug 21, 2021 11:30 am
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.

Re: Compukit UK101 core

Posted: Sat Aug 21, 2021 11:57 am
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.

Re: Compukit UK101 core

Posted: Sat Aug 21, 2021 1:07 pm
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

Re: Compukit UK101 core

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

Re: Compukit UK101 core

Posted: Sat Aug 21, 2021 3:23 pm
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.

Re: Compukit UK101 core

Posted: Sat Aug 21, 2021 4:29 pm
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.

Re: Compukit UK101 core

Posted: Mon Aug 23, 2021 6:03 am
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

Re: Compukit UK101 core

Posted: Mon Aug 23, 2021 6:51 am
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

Re: Compukit UK101 core

Posted: Mon Aug 23, 2021 2:44 pm
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 ;-)

Re: Compukit UK101 core

Posted: Tue Aug 24, 2021 6:45 pm
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.

Re: Compukit UK101 core

Posted: Tue Aug 24, 2021 7:44 pm
by EeDee
Thank you. Hope you enjoyed your holiday

Re: Compukit UK101 core

Posted: Tue Aug 24, 2021 9:50 pm
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

:)

Re: Compukit UK101 core

Posted: Tue Aug 24, 2021 10:09 pm
by danielb
Great video!

Re: Compukit UK101 core

Posted: Fri Aug 27, 2021 8:50 am
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.

Re: Compukit UK101 core

Posted: Fri Aug 27, 2021 10:03 am
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.

Re: Compukit UK101 core

Posted: Fri Aug 27, 2021 8:36 pm
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

Re: Compukit UK101 core

Posted: Fri Aug 27, 2021 9:07 pm
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.

Re: Compukit UK101 core

Posted: Sat Aug 28, 2021 6:17 pm
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.

Re: Compukit UK101 core

Posted: Sun Aug 29, 2021 7:51 pm
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.

Re: Compukit UK101 core

Posted: Sun Aug 29, 2021 8:01 pm
by EeDee
Good news and thanks for your work

Re: Compukit UK101 core

Posted: Sun Aug 29, 2021 8:08 pm
by NML32
@danielb, good job, that looks much better. :)

Re: Compukit UK101 core

Posted: Mon Aug 30, 2021 1:15 am
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.

Re: Compukit UK101 core

Posted: Mon Aug 30, 2021 9:57 am
by danielb
pgimeno wrote: Mon Aug 30, 2021 1:15 am
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.
Glad you got it to work. This will be very useful.

D.

Re: Compukit UK101 core

Posted: Tue Aug 31, 2021 3:32 pm
by danielb
Hi all,

Here's another development version. It has the new graphics system and 64K of RAM. You can play SuperInvaders with no graphics glitches.

All of the MiSTer scaling etc. seems to be working, except for the scandoubler effects and scan lines, which create a blurry misaligned picture. I have left it in, so if anyone has any idea where the problem could be, please let me know. I tried to make sure everything synced up, and I can't find what's wrong with it.

Anyway, this is a barebones implementation of the original UK101, and I would like to release this as a baseline release once the scandoubler problem is fixed (hopefully). After that, I'll add more features.

D.

Re: Compukit UK101 core

Posted: Wed Sep 01, 2021 1:37 am
by pgimeno
Thanks a lot, that's a huge improvement! Now the screen can be shown with uniform pixels, which was something that drove me mad in the previous version, and the screenshots also have uniform pixels. And the graphics of Super Invaders look great!

I don't care about the scandoubler FX, but something's wrong with the integer H/V scale. Sometimes it is good, sometimes it is wrong; it seems to change between resets (I used the menu reset only, not sure if it will be reproducible with Ctrl+LAlt+RAlt or the User button).

It can be reproduced as follows: 1) set Scale to Wider HV-Integer; 2) reset; 3) press C, Return, Return; 4) enter the following line (don't miss the semicolon): FORR=1TO48:?CHR$(187);:NEXT

Character 187 is a chequerboard pattern. When not all pixels are uniform, it should be apparent. It seems to happen about 50% of the time; the other 50% they look fine. For reference, the attached pic shows the problem when it isn't correct.

Re: Compukit UK101 core

Posted: Wed Sep 01, 2021 7:35 am
by danielb
pgimeno wrote: Wed Sep 01, 2021 1:37 am Thanks a lot, that's a huge improvement! Now the screen can be shown with uniform pixels, which was something that drove me mad in the previous version, and the screenshots also have uniform pixels. And the graphics of Super Invaders look great!

I don't care about the scandoubler FX, but something's wrong with the integer H/V scale. Sometimes it is good, sometimes it is wrong; it seems to change between resets (I used the menu reset only, not sure if it will be reproducible with Ctrl+LAlt+RAlt or the User button).

It can be reproduced as follows: 1) set Scale to Wider HV-Integer; 2) reset; 3) press C, Return, Return; 4) enter the following line (don't miss the semicolon): FORR=1TO48:?CHR$(187);:NEXT

Character 187 is a chequerboard pattern. When not all pixels are uniform, it should be apparent. It seems to happen about 50% of the time; the other 50% they look fine. For reference, the attached pic shows the problem when it isn't correct.

Hi,

Thanks very much for looking into this. I'll see if I can fix it...

D.

Re: Compukit UK101 core

Posted: Thu Sep 02, 2021 2:05 pm
by danielb
pgimeno wrote: Wed Sep 01, 2021 1:37 am Thanks a lot, that's a huge improvement! Now the screen can be shown with uniform pixels, which was something that drove me mad in the previous version, and the screenshots also have uniform pixels. And the graphics of Super Invaders look great!

I don't care about the scandoubler FX, but something's wrong with the integer H/V scale. Sometimes it is good, sometimes it is wrong; it seems to change between resets (I used the menu reset only, not sure if it will be reproducible with Ctrl+LAlt+RAlt or the User button).

It can be reproduced as follows: 1) set Scale to Wider HV-Integer; 2) reset; 3) press C, Return, Return; 4) enter the following line (don't miss the semicolon): FORR=1TO48:?CHR$(187);:NEXT

Character 187 is a chequerboard pattern. When not all pixels are uniform, it should be apparent. It seems to happen about 50% of the time; the other 50% they look fine. For reference, the attached pic shows the problem when it isn't correct.
Hi,

I think that the attached version solves the uneven pixel problem.

It seems to me that this kind of detail actually differs slightly depending on the resolution and aspect ratio of your display, so I would really appreciate some feedback on whether this version looks OK to you.

I think I am going to release this version, with scandoubler effects removed from the menu; it is much better than the current official version, and a good base for future improvements. I was kind of hoping that fixing the pixel problem would also fix the scandoubler, but, although it is better than it was before, it is still not right.

D.