Compukit UK101 core

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 »

jca wrote: Tue Oct 26, 2021 9:16 pm Further in the link you provided:
Although the video RAM could store 1024 characters and the actual video RAM was mapped as 32 lines of 32 characters, the actual display was 24 characters across by 24 lines – peripheral characters were not visible and used as a ‘guard band’ to prevent off-screen characters.
I was with you all the way up to "across by 24 lines - "
jca
Top Contributor
Posts: 1911
Joined: Wed May 27, 2020 1:59 pm
Has thanked: 145 times
Been thanked: 454 times

Re: Compukit UK101 core

Unread post by jca »

I must say that the paper is a little short on explanations on the subject but I suppose it has to do with overscan. Imagine your screen memory as a matrix 32x32 but what is displayed is the matrix 24x24 just on the middle of the 32x32 matrix, at the periphery of this matrix you will have this "guard band" which will not be displayed on the physical screen: 4 characters on the left, 4 characters on the right, 4 characters on the top and 4 characters on the bottom.
See https://en.wikipedia.org/wiki/Overscan
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 jca, et al.
jca wrote: Wed Oct 27, 2021 12:15 am I must say that the paper is a little short on explanations on the subject but I suppose it has to do with overscan. Imagine your screen memory as a matrix 32x32 but what is displayed is the matrix 24x24 just on the middle of the 32x32 matrix, at the periphery of this matrix you will have this "guard band" which will not be displayed on the physical screen: 4 characters on the left, 4 characters on the right, 4 characters on the top and 4 characters on the bottom.
It's all to do with how the video signal is generated on the OSI C1p.

The Horizontal and Vertical counter circuits are always "free running".
The horizontal and vertical sync signals are *not* part of the count.

When the horizontal counter reaches it's terminal count, it bumps the vertical counter and also triggers a one-shot which generates HSYNC.
*NO* allowance is made for the back/front porch areas of the video signal, which are undisplayable.
Likewise, the vertical counter triggers another one shot which generates VSYNC, then it resets to zero.

In a nutshell, you have roughly 4 characters at each of the borders during a non-displayable part of the video signal.
32 - (4*2) = 24 displayable chars on each axis.

The display routines in the monitor/BASIC are adjusted to only show in the visible area.

Check out the bottom left corner of sheet #3 for the video generator, with the two 74LS123 one-shots.
https://osiweb.org/manuals/600revD.pdf

Hope that clarifies?

Cheers,
Red
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 »

I get it now!
Thank you for the link @jca, that helped, and @RedskullDC for the OSI specific reference.
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 managed to get 24x24 mode working. In the version that I have at the moment, it replaces the 32x32 mode on the OSI machine, and basically only works with Cegmon, because Cegmon is the only monitor that I know how to patch to change the default screen settings.

So, is there any point to adding it to the official version? Every game is written for either 32x32 or 64x32, or 48x16 on the UK101. I can't find anything that works better in 24x24, so what would people use it for?

BTW, I run my MiSTer on a 32" monitor. 24x24 characters are comically enormous...

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: Wed Oct 27, 2021 9:21 pm Hi,

I managed to get 24x24 mode working. In the version that I have at the moment, it replaces the 32x32 mode on the OSI machine, and basically only works with Cegmon, because Cegmon is the only monitor that I know how to patch to change the default screen settings.

So, is there any point to adding it to the official version? Every game is written for either 32x32 or 64x32, or 48x16 on the UK101. I can't find anything that works better in 24x24, so what would people use it for?

BTW, I run my MiSTer on a 32" monitor. 24x24 characters are comically enormous...

D.
Hi Daniel
There seems to be no point in 24x24 without SYNMON as that's the combination I thought might solve the RidgeCruiser screen problem (I have no longing to play it but just to see it solved). It appeared to be the combination that worked in the WinOSI emulator. Ideas/suggestions anyone?
Thanks for trying though. The current choice of settings are great.
Out of interest do you think Superboard would work with WEMON (has more features)? Watford Electronics wrote it to, but you never know
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 »

EeDee wrote: Thu Oct 28, 2021 8:38 am
Out of interest do you think Superboard would work with WEMON (has more features)? Watford Electronics wrote it to, but you never know
Hi,

The Wemon that I have is set up for a UK101 at 48x16. For it to work on an OSI, it would at least need to be patched for the different screen size. I have the Wemon manual; maybe the information is in there on how to patch it.

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 »

Okay 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 »

The selectable memory size is now "official". I also fixed the keyboard autorepeat rate for OSI Cegmon at high clock speeds.

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 »

Thanks, You're making a lovely job of this core :-)
Anything else in mind ;-)
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 »

EeDee wrote: Fri Oct 29, 2021 3:12 pm Thanks, You're making a lovely job of this core :-)
Anything else in mind ;-)
For this version, just details. I think it's mostly finished.

Some enhancements only work with Cegmon. I recently found this repository: https://github.com/sjgray/OSI-monitor-roms, where someone has been reconstructing the source code for the various OSI ROMS. Hopefully, I will be able to find how to patch these ROMs in the same way that I patched Cegmon, so more enhancements will work with them.

Long term, I would like to add disk capability, but don't hold your breath ;)

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: Fri Oct 29, 2021 6:13 pm

For this version, just details. I think it's mostly finished.

Some enhancements only work with Cegmon. I recently found this repository: https://github.com/sjgray/OSI-monitor-roms, where someone has been reconstructing the source code for the various OSI ROMS. Hopefully, I will be able to find how to patch these ROMs in the same way that I patched Cegmon, so more enhancements will work with them.

Long term, I would like to add disk capability, but don't hold your breath ;)

D.
Apart from not being able to save data, except via UART :-(, I agree it feels mostly finished. You have made a fine contribution.
To hone your newly acquired skill, maybe you'd consider attempting a port of the Nascom to Mister.
Just a thought of course ;-)
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: Fri Oct 29, 2021 6:13 pm
Some enhancements only work with Cegmon. I recently found this repository: https://github.com/sjgray/OSI-monitor-roms, where someone has been reconstructing the source code for the various OSI ROMS. Hopefully, I will be able to find how to patch these ROMs in the same way that I patched Cegmon, so more enhancements will work with them.
I had come across that repository but due to not reading it properly didn't tie it in with what you wrote. I do that a lot :-(
I think you have added a worthwhile core to the Mister Stable so look forward to seeing any enhancements as they come.
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 »

Hi @danielb
I may be missing something but SAVE via UART appears not to be working. Tried an earlier Build and all was well
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. I haven't tried it for a very long time.
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: Wed Nov 10, 2021 10:02 am I'll take a look at it. I haven't tried it for a very long time.
Thanks
Is that how it feels? :-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 »

EeDee wrote: Wed Nov 10, 2021 10:16 am
danielb wrote: Wed Nov 10, 2021 10:02 am I'll take a look at it. I haven't tried it for a very long time.
Thanks
Is that how it feels? :-D
Relatively speaking...

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 »

Here's a little progress update:

I have not been working on the core quite as intensively as before. It is quite functional and I have other stuff that needs attention.

However, I have been continuing to faff about with the video. In my latest development version, the scandoubler works properly, and I have been testing it with a VGA screen. This works, but a lot of the left hand side of the display is off the screen.

I am actually wondering if this is how it is supposed to work - Cegmon originally started lines at the 14th character, and some software, like Mon2UK, an Invaders game, and Scramble, are perfectly centered on the screen and no characters are missing.

I believe my my video code is generating the right number of pixels at the right refresh rates.

Other projects have developed specific VGA output devices to use the UK101 on VGA, like the one I used on very early versions of the core. Mine is based on Grant Searles original design. The early versions work perfectly on VGA, but look horrible because of the glitched character set.

In this case, HDMI, where you can see all of the characters, would be the exception, rather than the rule.

Does anyone happen to know how this should work?

Thanks,

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: Wed Nov 10, 2021 11:50 am .....

Does anyone happen to know how this should work?

Thanks,

D.
I don't, sorry :-( @RedskullDC maybe?
I just wondered whether knowing that SAVE stopped working when multiple baud rate was added might help
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, et al.
danielb wrote: Wed Nov 10, 2021 11:50 am Here's a little progress update:

I have not been working on the core quite as intensively as before. It is quite functional and I have other stuff that needs attention.

However, I have been continuing to faff about with the video. In my latest development version, the scandoubler works properly, and I have been testing it with a VGA screen. This works, but a lot of the left hand side of the display is off the screen.
....
Which machine type, screen mode is causing you grief?

Current code in your repository is displaying fine for me on all modes (that I tried).
I only use the HDMI output , not the VGA port.

Cheers,
Red
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 »

RedskullDC wrote: Wed Nov 10, 2021 11:54 pm Hi Danielb, et al.
danielb wrote: Wed Nov 10, 2021 11:50 am Here's a little progress update:

I have not been working on the core quite as intensively as before. It is quite functional and I have other stuff that needs attention.

However, I have been continuing to faff about with the video. In my latest development version, the scandoubler works properly, and I have been testing it with a VGA screen. This works, but a lot of the left hand side of the display is off the screen.
....
Which machine type, screen mode is causing you grief?

Current code in your repository is displaying fine for me on all modes (that I tried).
I only use the HDMI output , not the VGA port.

Cheers,
Red
Hi,

HDMI output works fine in all modes. In my latest unreleased version, I got the scandoubler to work properly too, unlike in the released version.

I have been testing the core on a VGA monitor recently, and only the 48 and 24 column modes work properly (24-column mode is not in the released version).

This seems to reflect the exact real-world performance of the UK101 and OSI superboard.

I can't find any useful parameters governing the way the MiSTer outputs to VGA. The screen reports 800x600 resolution, so some upscaling is obviously happening somewhere, but I can't find any way to control it.

Actual resolutions, BTW are 512x256 for 48 and 64-column modes, 256x256 for 32-column modes, and 192x192 for 24-column modes.

64-column VGA works fine using the very early versions of the core, which had a specific VGA video "card", which did all of the scaling and timing by itself, but produced ugly output with glitched characters.


Thanks,

Daniel
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 just pushed a new official version.

This one has the fixed Scandoubler code, and also a rearranged menu.

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: Sat Nov 13, 2021 10:00 am Hi,

I just pushed a new official version.

This one has the fixed Scandoubler code, and also a rearranged menu.

D.
Nice to see the improvements are still coming. Thanks.
I'm still holding out for a Saving via UART fix ;-)
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 »

EeDee wrote: Mon Nov 15, 2021 7:37 am
danielb wrote: Sat Nov 13, 2021 10:00 am Hi,

I just pushed a new official version.

This one has the fixed Scandoubler code, and also a rearranged menu.

D.
Nice to see the improvements are still coming. Thanks.
I'm still holding out for a Saving via UART fix ;-)
I will definitely take a look at that soon...

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: Mon Nov 15, 2021 2:51 pm
I will definitely take a look at that soon...

D.
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 »

Just a little update: I'm working on a new mode, for the OSI C1P.

I have had some moderate success, but it will be a while before it is ready for testing.

D.

PS. I will also take a look at saving over UART :)
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: Wed Nov 17, 2021 4:39 pm Just a little update: I'm working on a new mode, for the OSI C1P.

I have had some moderate success, but it will be a while before it is ready for testing.

D.

PS. I will also take a look at saving over UART :)
Sounds interesting
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 »

Deleted for now.
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 »

Sorry. Deleted again.
I wish there was some way to delete a post in this forum.
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,

C1P mode now appears to be working, at least partially. It took me a while to work out the different screen addressing mode, hence the two deleted messages from yesterday.

Anyway, we now have Ridge Cruiser, and also a new C1P-specific monitor, which I don't recognise. I "borrowed" it from the WinOSI source code package, where it is called Eprom2C1. It appears to work. Does anyone recognise it? I also have a version of Cegmon which is supposed to work.

Anyway. There is a bit of work yet before I can release this, even as a test version, so it will be a while.

D.
Attachments
C1P monitor.jpg
C1P monitor.jpg (15.84 KiB) Viewed 6089 times
Ridge rider.jpg
Ridge rider.jpg (56.87 KiB) Viewed 6089 times
Post Reply