UK Vintage Radio Repair and Restoration Powered By Google Custom Search Vintage Radio and TV Service Data

Go Back   UK Vintage Radio Repair and Restoration Discussion Forum > Specific Vintage Equipment > Vintage Computers

Notices

Vintage Computers Any vintage computer systems, calculators, video games etc., but with an emphasis on 1980s and earlier equipment.

Closed Thread
 
Thread Tools
Old 27th Nov 2022, 8:01 pm   #21
Pernod70
Triode
 
Join Date: Nov 2022
Location: Croydon, Surrey, UK
Posts: 37
Default Re: Do any of the programs by Tim Gilberts, etc work with the mk14 with VDU emulator?

I'm looking for test cases, so far I've found Invaders, Pong, Horse race, and Mine Field. I'm sure I've also seen something with a falling man, but can't find it. Anything else, particularly anything that configures the VDU from port B?

Last edited by Pernod70; 27th Nov 2022 at 8:09 pm.
Pernod70 is offline  
Old 27th Nov 2022, 9:44 pm   #22
Timbucus
Octode
 
Join Date: Mar 2019
Location: Barry, Vale of Glamorgan, Wales, UK.
Posts: 1,362
Default Re: Do any of the programs by Tim Gilberts, etc work with the mk14 with VDU emulator?

Quote:
Originally Posted by Pernod70 View Post
I'm looking for test cases, so far I've found Invaders, Pong, Horse race, and Mine Field. I'm sure I've also seen something with a falling man, but can't find it. Anything else, particularly anything that configures the VDU from port B?
This is my disassembly of falling man adapted for my use of Port A for control which is what happens if you just plug the card into the MK14 1:1 naturally.

I have also included LISTER which is the way to view SC/MP instructions correctly grouped as sort of first step to disassembler. Uses the display at B00

The canonical way would be control of ON and OFF via Flag 1 and Flag 2 as Graphics as that is what the VDU manual suggests - this is them not assuming everyone has a INS8154

FallANDListMK14.zip

Tim
Timbucus is online now  
Old 27th Nov 2022, 9:58 pm   #23
SiriusHardware
Dekatron
 
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,485
Default Re: Do any of the programs by Tim Gilberts, etc work with the mk14 with VDU emulator?

Quote:
The screen snapshot is 128x256 pixels which assumes square pixels. The actual screen rendering stretches it to a 4x3 ratio.
Sorry, I'm not quite sure if you are referring to the output specifically from your MAME implementation or from the original VDU.

The overall raster which is output from the original VDU is 4:3, but the active area within that raster is square, and 64 x 64 square pixels (when in graphics mode).

You've asked about instances where the 8154 is used to control the VDU control inputs, actually there is no hard and fast standard and the use of PORTB for that purpose really only came in with INVADERS as Realtime chose to do it that way on Realview.

If you line up the MK14 upper rear edge connector and the original VDU connector upper row (see attached chart) most of the VDU control lines line up with PORTA pins so that is why Tim in particular prefers to use PORTA, and why PORTA is the logical better choice for software running with either a real or replica SOC VDU (or Slothie's PCB for Ortonview, which shares the same connector pinout as original VDUs).

Me, I just strap the pins high or low with hardware links and I don't use either of the 8154 ports, which I consider to be a valuable resource, to control the VDU.

So there is, unfortunately no standard or agreed way of doing this. Not what you want to hear, I know. The reality is that the end user might choose to connect any port pin or any Flag to any VDU control line because SOC did not impose a rigid connection scheme.
Attached Thumbnails
Click image for larger version

Name:	MK14_VDU_topside.jpg
Views:	44
Size:	95.1 KB
ID:	268900  
SiriusHardware is offline  
Old 28th Nov 2022, 10:43 pm   #24
Pernod70
Triode
 
Join Date: Nov 2022
Location: Croydon, Surrey, UK
Posts: 37
Default Re: Do any of the programs by Tim Gilberts, etc work with the mk14 with VDU emulator?

Quote:
Originally Posted by SiriusHardware View Post
So there is, unfortunately no standard or agreed way of doing this. Not what you want to hear, I know. The reality is that the end user might choose to connect any port pin or any Flag to any VDU control line because SOC did not impose a rigid connection scheme.
Yeah, as I'm playing with the few test cases I have I'm seeing that it needs to be very configurable to cover all use cases.

So what options do I need to have? I'm thinking at the highest level an option between 'Original VDU' and 'Realview' which will determine which 8154 ports are recognised. The 'Realview' option will also add dipswitches to override the 8154.

In both cases I'll need an option to connect TOP PAGE to any PS input. The original VDU recommends TOP PAGE being read from PORT B0, was this ever used? Did any software poll B0 to set any other options such as Graphics/Chars, Inverse, PS.

Anything else needed?
Attached Thumbnails
Click image for larger version

Name:	0003.png
Views:	41
Size:	2.8 KB
ID:	268950  
Pernod70 is offline  
Old 29th Nov 2022, 12:17 am   #25
SiriusHardware
Dekatron
 
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,485
Default Re: Do any of the programs by Tim Gilberts, etc work with the mk14 with VDU emulator?

You will notice that in the chart posted in #23 TOP PAGE (b17) lines up beautifully with PB0

The SOC / Ortonview options, should you choose to implement them, will also need the option to force the control line states via DIP switch selection instead of via 8154 control because the original versions of 'legacy' software do not / did not control the VDU via the 8154 because - as Tim mentioned, the 8154 was an option, not included in the basic kit and so the VDU instructions and most legacy software assumed you did not have it. Your view may be distorted by looking at versions which Tim has customised for 8154 port control because he does control his VDU that way.

I actually question whether being able to read TOP PAGE via PB0 is of any use - normally you would use that to achieve some form of Vsync, typically to ensure that you only write to the screen RAM when it is not being rendered from by the display hardware (to avoid tearing / flicker). However in the case of the SOC VDU it actually stops the system whenever it is rendering from the screen RAM to the active area of the screen so that sort of clash can never occur, and therefore there is not much point in polling PB0 to find out what the VDU hardware is doing. Whenever it is doing something, the SC/MP is halted and unable to poll PB0 or write to the screen RAM.

What sort of user interface will this have? (sorry but I am not familiar with MAME at all) - I personally don't think it is worth trying to support the near infinite possible variations in setups for 8154 control of the VDU and instead I would just make the user define the control input states as though by switches or links - including any links from TOP page to any of the control inputs. If the running software (like Invaders or Tim's customised FALLLMAN) wiggles the 8154 lines in an attempt to control the VDU, let it, but don't connect the states on the 8154 pins to the VDU.

Allow the defined setup / config for any particular use case to be saved as 'meaningfulname.cnf' so that it and any other defined VDU configs can be easily recalled by name so they don't have to be set up each time.

Before the coming of RealView I would have said support the use of the 8154 port A, because the connections between SOC VDU / Replica VDU / Ortonview naturally lend themselves to that use and the question of which 8154 pins control which functions is mostly defined by how the connections fall in the chart posted in #23. There would have to be agreement about what to do with the SWAP PAGES (b15) input because that falls on the INTR input on the 8154, whereas it needs to be driven by an output - PA3 is not connected to anything so it would make sense to disconnect SWAP PAGES from 8154 INTR and connect it to PA3 instead, but there could even be disagreement about that.

Last edited by SiriusHardware; 29th Nov 2022 at 12:22 am.
SiriusHardware is offline  
Old 29th Nov 2022, 9:51 am   #26
SiriusHardware
Dekatron
 
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,485
Default Re: Do any of the programs by Tim Gilberts, etc work with the mk14 with VDU emulator?

Quote:
In both cases I'll need an option to connect TOP PAGE to any PS input.
Not only that, but the user may need to connect TOP PAGE to one or two other control inputs as well as one of the PSx... inputs. For example connecting TOP PAGE to Graph/Char will make the VDU show a screen which is half graphics, half characters, which could potentially come in useful. It might also be connected to the inverse video input to make one half of the screen inverse (black characters on white) and the other 'normal' (white characters on black). You may consider these scenarios to be unlikely and perhaps they are, but they are supported by the original VDU and by Ortonview.
SiriusHardware is offline  
Old 29th Nov 2022, 8:03 pm   #27
Slothie
Octode
 
Join Date: Apr 2018
Location: Newbury, Berkshire, UK.
Posts: 1,287
Default Re: Do any of the programs by Tim Gilberts, etc work with the mk14 with VDU emulator?

It might just be easiest to create a UI where the inputs (P1-4, VDU, Graphics, reverse, inverse) are drop-downs with values "high, low, TOPPAGE" and any other emulated outputs you have. This would also work with Sirius's idea of "presets" for particular programs.
Slothie is offline  
Old 30th Nov 2022, 5:30 pm   #28
Pernod70
Triode
 
Join Date: Nov 2022
Location: Croydon, Surrey, UK
Posts: 37
Default Re: Do any of the programs by Tim Gilberts, etc work with the mk14 with VDU emulator?

Attached a screenshot of my configuration options, running Falling Man.

So Page Select is B00, and Top Page is connected to PS3 so is displaying F00 and B00, rendering the code. Top Page is also connected to Invert Video so lower page is inverted.

I haven't yet implemented any 8154 ports for the configuration, still deciding whether worthwhile.

I read somewhere that individual characters could be inverted, which board implements this (SOC/Ortonview/Realview)? Also which bit of the character data triggers the invert, bit 6 or 7?

At the moment I'm rendering the full screen every frame, at 50.08Hz, but am not stopping the SCMP during RAM accesses. What's the duration, in cycles, that the CPU should be stopped for per frame?
Attached Thumbnails
Click image for larger version

Name:	fallman_cfg.jpg
Views:	41
Size:	47.0 KB
ID:	269054  
Pernod70 is offline  
Old 30th Nov 2022, 6:16 pm   #29
SiriusHardware
Dekatron
 
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,485
Default Re: Do any of the programs by Tim Gilberts, etc work with the mk14 with VDU emulator?

Missing from that set of configurations is the possibility to connect TOP PAGE to the graphics / characters control input. It looks as though you've just got an all-screen graphics or characters option at the moment. The option for mixed graphics and characters could have potential uses, see attached off-screen shot from my real SOC VDU, which was made possible by connecting TOP PAGE to the graph / chars input. Edit: I see you have a TOP PAGE->VIDEO MODE option as well as a VIDEO mode option. What happens if you set TOP PAGE-VIDEO MODE = ON. It might be better to have one VIDEO MODE option has three modes GRAPHICS / CHARACTERS / MIXED, mixed implying that TOP PAGE is connected to GRAPH/CHAR.


The single-character inversion was done with the addition of a bit of extra hardware to the SOC VDU (or replica of same), it was from a mod published in one of the mags. Bit 7 high indicates the character should be displayed inverted. The state of bit 6 is 'don't care' as far as I can remember. I don't have this mod on my SOC VDU mainly because mine is the real thing and I don't really want to do any sort of mods to it.

Ortonview doesn't do this because it wasn't a feature of the original VDU which Ortonview is a near perfect emulator of. Realview DOES implement this, no doubt inspired by seeing Tim's replica SOC VDU with this mod applied at the recent retro computer fair in Cambridge.

The slowdown induced by the VDU does not happen in terms of exact cycles but the SOC VDU manual states an overall slowdown of about 6%. Karen's Ortonview and Realtime's Realview slow the system down slightly less because they assert NENIN for less time overall than the original VDU did.
Attached Thumbnails
Click image for larger version

Name:	Moon_Mockup.jpg
Views:	35
Size:	65.3 KB
ID:	269069  

Last edited by SiriusHardware; 30th Nov 2022 at 6:23 pm.
SiriusHardware is offline  
Old 30th Nov 2022, 6:19 pm   #30
Pernod70
Triode
 
Join Date: Nov 2022
Location: Croydon, Surrey, UK
Posts: 37
Default Re: Do any of the programs by Tim Gilberts, etc work with the mk14 with VDU emulator?

Quote:
Originally Posted by SiriusHardware View Post
Missing from that set of configurations is the possibility to connect TOP PAGE to the graphics / characters control input. It looks as though you've just got an all-screen graphics or characters option at the moment.
It's there, the Video Mode option to select either Graphics or Characters.

I'll play around with timings as I see there was some discussion in the OrtonView topic.
Pernod70 is offline  
Old 30th Nov 2022, 6:24 pm   #31
SiriusHardware
Dekatron
 
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,485
Default Re: Do any of the programs by Tim Gilberts, etc work with the mk14 with VDU emulator?

Yes, sorry, just included that in an edit to #29 - but might be simpler to have a single VIDEO MODE entry with three choices GRAPHICS / CHARACTERS / MIXED.

Quote:
It's there, the Video Mode option to select either Graphics or Characters.
Yes, but both at the same time?

You've got a VIDEO MODE option which I think probably allows a choice of graphics or characters on the whole screen, but elsewhere you have an option to connect TOP PAGE to VIDEO MODE. I'm suggesting just have the one entry, with the choices GRAPHICS / CHARACTERS / MIXED where TOP PAGE is connected to the graphics/characters input behind the scenes when MIXED is selected.
SiriusHardware is offline  
Old 30th Nov 2022, 7:28 pm   #32
Pernod70
Triode
 
Join Date: Nov 2022
Location: Croydon, Surrey, UK
Posts: 37
Default Re: Do any of the programs by Tim Gilberts, etc work with the mk14 with VDU emulator?

Quote:
Originally Posted by SiriusHardware View Post
Yes, sorry, just included that in an edit to #29 - but might be simpler to have a single VIDEO MODE entry with three choices GRAPHICS / CHARACTERS / MIXED.
Agreed, that does sound clearer, so I'll have:
Graphics (High)
Characters (Low)
Mixed (Top Page)

Similarly for Invert Video:
Normal (High)
Inverted (Low)
Mixed (Top Page)

Can Page Select be simplified too?

The nice thing about these options is that they're 'live', and so any running program in the background instantly shows the affects of any changes.
Pernod70 is offline  
Old 30th Nov 2022, 7:32 pm   #33
Slothie
Octode
 
Join Date: Apr 2018
Location: Newbury, Berkshire, UK.
Posts: 1,287
Default Re: Do any of the programs by Tim Gilberts, etc work with the mk14 with VDU emulator?

Quote:
Originally Posted by Pernod70 View Post
Can Page Select be simplified too?

The nice thing about these options is that they're 'live', and so any running program in the background instantly shows the affects of any changes.
You could just select the page (0-F) for the top and bottom area, although this would have the same effect as the P1-4 & reverse flags it wouldn't have the same "feel".
Slothie is offline  
Old 30th Nov 2022, 7:56 pm   #34
SiriusHardware
Dekatron
 
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,485
Default Re: Do any of the programs by Tim Gilberts, etc work with the mk14 with VDU emulator?

There would have to be tortuous limitations on that, as TOP PAGE normally only changes one PSx bit at a time. If you let the user numerically define one screen half base = 0600 (0110) and the other screen half base = 0500 (0101) those two addresses can't be generated by a simple change of state of TOP PAGE because both PS1 and PS2 have to change to opposing states.

Safest for the user to define the states of each of PS1-PS4 as High or Low or 'Top Page' and for the UI to indicate which two screen base addresses will be alternated between as a result of the current selection.

It is of course possible to connect TOP PAGE to more than one PSx input so TOP PAGE induced changes of address which involve one, two, three or all four PSx bits changing from one state to the opposite state at the same time would be perfectly valid, if a little irrational.

Last edited by SiriusHardware; 30th Nov 2022 at 8:25 pm.
SiriusHardware is offline  
Old 1st Dec 2022, 2:38 pm   #35
Pernod70
Triode
 
Join Date: Nov 2022
Location: Croydon, Surrey, UK
Posts: 37
Default Re: Do any of the programs by Tim Gilberts, etc work with the mk14 with VDU emulator?

I think I'm done with this, for now.

I've adjusted the configuration options, see attached, and removed the VDU Off option as I've now connected this to Flag 1.

Another issue I noticed was that Invaders and especially Pong seemed very fast. Now realised the CPU internal divider was not implemented so everything was double speed!

If anyone wants to give it a test then PM me for a build, otherwise it'll be submitted to MAME for the next release (due 28th Dec).
Attached Thumbnails
Click image for larger version

Name:	fallman_cfg2.jpg
Views:	35
Size:	60.7 KB
ID:	269097  
Pernod70 is offline  
Old 1st Dec 2022, 3:01 pm   #36
SiriusHardware
Dekatron
 
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,485
Default Re: Do any of the programs by Tim Gilberts, etc work with the mk14 with VDU emulator?

Is there a way to 'uninstall' the VDU?

Flag 1 is used as a general purpose output pin for all sorts of things (for playing tunes, for example) so you don't want it to be the case that toggling Flag 1 on or off will always disable or enable the VDU. It was better left as a simple on / off option IMO, or if you want to please all the people all the time, implement another triple choice: VDU 'ON', 'OFF', or 'Flag1'.
SiriusHardware is offline  
Old 1st Dec 2022, 3:33 pm   #37
Pernod70
Triode
 
Join Date: Nov 2022
Location: Croydon, Surrey, UK
Posts: 37
Default Re: Do any of the programs by Tim Gilberts, etc work with the mk14 with VDU emulator?

Quote:
Originally Posted by SiriusHardware View Post
Is there a way to 'uninstall' the VDU?

Flag 1 is used as a general purpose output pin for all sorts of things (for playing tunes, for example) so you don't want it to be the case that toggling Flag 1 on or off will always disable or enable the VDU. It was better left as a simple on / off option IMO, or if you want to please all the people all the time, implement another triple choice: VDU 'ON', 'OFF', or 'Flag1'.
I've emulated the MK-14 with VDU as a separate machine, as it uses a different clock crystal. So you have either standalone MK-14 or MK-14 with VDU.

I wasn't aware of anything else using Flag 1, and the current emulation doesn't implement anything else with it. Though there is currently an 8bit DAC on the 8154 Port B for sound.
Pernod70 is offline  
Old 1st Dec 2022, 3:48 pm   #38
SiriusHardware
Dekatron
 
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,485
Default Re: Do any of the programs by Tim Gilberts, etc work with the mk14 with VDU emulator?

Ah, I didn't realise you were doing two flavours, one with and one without the VDU. However, I'm still going to say that that VDU switch needs to be put back in on the 'with VDU' version with options ON / OFF / FLAG1, because by no means everyone uses flags to enable or disable the VDU (I never have) and you never know what someone may choose to use them for instead, at the same time as using the VDU.

Up to you of course, as you are the one doing it.
SiriusHardware is offline  
Old 2nd Dec 2022, 3:01 am   #39
777xxxx
Tetrode
 
Join Date: Nov 2022
Location: Cornwall, UK.
Posts: 60
Default Re: Do any of the programs by Tim Gilberts, etc work with the mk14 with VDU emulator?

Quote:
Originally Posted by Slothie View Post
Quote:
Originally Posted by 777xxxx View Post

have a look in the mk14 folder. theres a com file in there that uses the -v switch, etc. but theres no source code in there for it. it runs in dosbox

it also says in the instructions in both the source folders that it includes a vdu. here:

''These are three ports of the MK14 "C" emulator. One is for Windows, two
are for DOS (one uses Graphics, one uses Text Mode)''
I know, I am just saying that in the actual source code the code for the VDU functions does not exist. In order to change anything, you need the source. Unfortunately in order to get the emulator to work with the VDU mapped to any other area it would require the program to be modified.

There are some sources for a windows 32 version. Its been over 30 years since I last wrote a windows 3 program, but I did have a look in there in case there was any code relating to the VDU I could see but to no avail. I haven't any fcility to run DOS/windows exes at the moment so I can't confirm but from the code it looks like it just shows the LED displays and interacts with the keyboard.

the source code in mk14_src.zip is version 1.0 (15 May 1998) (according to main.c)
The file MK14.TXT in mk14.zip that refers to VDU support refers to version 1.9 (12-June-1998)

So it looks like the source for the VDU version is not in the zip-of-zips.
Quote:
Originally Posted by Pernod70 View Post
I think I'm done with this, for now.

I've adjusted the configuration options, see attached, and removed the VDU Off option as I've now connected this to Flag 1.

Another issue I noticed was that Invaders and especially Pong seemed very fast. Now realised the CPU internal divider was not implemented so everything was double speed!

If anyone wants to give it a test then PM me for a build, otherwise it'll be submitted to MAME for the next release (due 28th Dec).
do u have a copy of this mame rom?
777xxxx is offline  
Closed Thread

Thread Tools



All times are GMT +1. The time now is 1:32 pm.


All information and advice on this forum is subject to the WARNING AND DISCLAIMER located at https://www.vintage-radio.net/rules.html.
Failure to heed this warning may result in death or serious injury to yourself and/or others.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Copyright ©2002 - 2023, Paul Stenning.