|
Vintage Computers Any vintage computer systems, calculators, video games etc., but with an emphasis on 1980s and earlier equipment. |
|
Thread Tools |
27th Nov 2022, 8:01 pm | #21 |
Triode
Join Date: Nov 2022
Location: Croydon, Surrey, UK
Posts: 37
|
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. |
27th Nov 2022, 9:44 pm | #22 | |
Octode
Join Date: Mar 2019
Location: Barry, Vale of Glamorgan, Wales, UK.
Posts: 1,362
|
Re: Do any of the programs by Tim Gilberts, etc work with the mk14 with VDU emulator?
Quote:
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 |
|
27th Nov 2022, 9:58 pm | #23 | |
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,485
|
Re: Do any of the programs by Tim Gilberts, etc work with the mk14 with VDU emulator?
Quote:
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. |
|
28th Nov 2022, 10:43 pm | #24 | |
Triode
Join Date: Nov 2022
Location: Croydon, Surrey, UK
Posts: 37
|
Re: Do any of the programs by Tim Gilberts, etc work with the mk14 with VDU emulator?
Quote:
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? |
|
29th Nov 2022, 12:17 am | #25 |
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,485
|
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. |
29th Nov 2022, 9:51 am | #26 | |
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,485
|
Re: Do any of the programs by Tim Gilberts, etc work with the mk14 with VDU emulator?
Quote:
|
|
29th Nov 2022, 8:03 pm | #27 |
Octode
Join Date: Apr 2018
Location: Newbury, Berkshire, UK.
Posts: 1,287
|
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.
|
30th Nov 2022, 5:30 pm | #28 |
Triode
Join Date: Nov 2022
Location: Croydon, Surrey, UK
Posts: 37
|
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? |
30th Nov 2022, 6:16 pm | #29 |
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,485
|
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. Last edited by SiriusHardware; 30th Nov 2022 at 6:23 pm. |
30th Nov 2022, 6:19 pm | #30 | |
Triode
Join Date: Nov 2022
Location: Croydon, Surrey, UK
Posts: 37
|
Re: Do any of the programs by Tim Gilberts, etc work with the mk14 with VDU emulator?
Quote:
I'll play around with timings as I see there was some discussion in the OrtonView topic. |
|
30th Nov 2022, 6:24 pm | #31 | |
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,485
|
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:
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. |
|
30th Nov 2022, 7:28 pm | #32 | |
Triode
Join Date: Nov 2022
Location: Croydon, Surrey, UK
Posts: 37
|
Re: Do any of the programs by Tim Gilberts, etc work with the mk14 with VDU emulator?
Quote:
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. |
|
30th Nov 2022, 7:32 pm | #33 |
Octode
Join Date: Apr 2018
Location: Newbury, Berkshire, UK.
Posts: 1,287
|
Re: Do any of the programs by Tim Gilberts, etc work with the mk14 with VDU emulator?
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".
|
30th Nov 2022, 7:56 pm | #34 |
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,485
|
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. |
1st Dec 2022, 2:38 pm | #35 |
Triode
Join Date: Nov 2022
Location: Croydon, Surrey, UK
Posts: 37
|
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). |
1st Dec 2022, 3:01 pm | #36 |
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,485
|
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'. |
1st Dec 2022, 3:33 pm | #37 | |
Triode
Join Date: Nov 2022
Location: Croydon, Surrey, UK
Posts: 37
|
Re: Do any of the programs by Tim Gilberts, etc work with the mk14 with VDU emulator?
Quote:
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. |
|
1st Dec 2022, 3:48 pm | #38 |
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,485
|
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. |
2nd Dec 2022, 3:01 am | #39 | |||
Tetrode
Join Date: Nov 2022
Location: Cornwall, UK.
Posts: 60
|
Re: Do any of the programs by Tim Gilberts, etc work with the mk14 with VDU emulator?
Quote:
Quote:
|
|||