I was with you all the way up to "across by 24 lines - "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.
Compukit UK101 core
Re: Compukit UK101 core
-
- Top Contributor
- Posts: 1911
- Joined: Wed May 27, 2020 1:59 pm
- Has thanked: 145 times
- Been thanked: 454 times
Re: Compukit UK101 core
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
See https://en.wikipedia.org/wiki/Overscan
- RedskullDC
- Posts: 29
- Joined: Fri Jul 03, 2020 2:10 pm
- Has thanked: 4 times
- Been thanked: 25 times
Re: Compukit UK101 core
Hi jca, et al.
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
It's all to do with how the video signal is generated on the OSI C1p.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.
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
-
- Core Developer
- Posts: 230
- Joined: Thu Jun 04, 2020 1:43 pm
- Has thanked: 44 times
- Been thanked: 66 times
Re: Compukit UK101 core
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.
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.
Re: Compukit UK101 core
Hi Danieldanielb 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.
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
-
- Core Developer
- Posts: 230
- Joined: Thu Jun 04, 2020 1:43 pm
- Has thanked: 44 times
- Been thanked: 66 times
Re: Compukit UK101 core
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.
-
- Core Developer
- Posts: 230
- Joined: Thu Jun 04, 2020 1:43 pm
- Has thanked: 44 times
- Been thanked: 66 times
Re: Compukit UK101 core
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.
Re: Compukit UK101 core
Apart from not being able to save data, except via UART , I agree it feels mostly finished. You have made a fine contribution.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.
To hone your newly acquired skill, maybe you'd consider attempting a port of the Nascom to Mister.
Just a thought of course
Re: Compukit UK101 core
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 lotdanielb 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 think you have added a worthwhile core to the Mister Stable so look forward to seeing any enhancements as they come.
-
- Core Developer
- Posts: 230
- Joined: Thu Jun 04, 2020 1:43 pm
- Has thanked: 44 times
- Been thanked: 66 times
-
- Core Developer
- Posts: 230
- Joined: Thu Jun 04, 2020 1:43 pm
- Has thanked: 44 times
- Been thanked: 66 times
Re: Compukit UK101 core
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.
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.
Re: Compukit UK101 core
I don't, sorry @RedskullDC maybe?
I just wondered whether knowing that SAVE stopped working when multiple baud rate was added might help
- RedskullDC
- Posts: 29
- Joined: Fri Jul 03, 2020 2:10 pm
- Has thanked: 4 times
- Been thanked: 25 times
Re: Compukit UK101 core
Hi Danielb, et al.
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
Which machine type, screen mode is causing you grief?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.
....
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
-
- Core Developer
- Posts: 230
- Joined: Thu Jun 04, 2020 1:43 pm
- Has thanked: 44 times
- Been thanked: 66 times
Re: Compukit UK101 core
Hi,RedskullDC wrote: ↑Wed Nov 10, 2021 11:54 pm Hi Danielb, et al.
Which machine type, screen mode is causing you grief?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.
....
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
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
Re: Compukit UK101 core
Nice to see the improvements are still coming. Thanks.
I'm still holding out for a Saving via UART fix
-
- Core Developer
- Posts: 230
- Joined: Thu Jun 04, 2020 1:43 pm
- Has thanked: 44 times
- Been thanked: 66 times
-
- Core Developer
- Posts: 230
- Joined: Thu Jun 04, 2020 1:43 pm
- Has thanked: 44 times
- Been thanked: 66 times
Re: Compukit UK101 core
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
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
-
- Core Developer
- Posts: 230
- Joined: Thu Jun 04, 2020 1:43 pm
- Has thanked: 44 times
- Been thanked: 66 times
Re: Compukit UK101 core
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.
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 (15.84 KiB) Viewed 8750 times
-
- Ridge rider.jpg (56.87 KiB) Viewed 8750 times