Indivision ECS V2/doc
IndivisionECSv2 Software package
No installation required. Drag the IndivisionECSv2 icon to SYS:Prefs/ or whereever you like.
See requirements below. Please read the documentation. A German translation is included in the archive.
With this tool you can configure your IndivisionECSv2's mapping of Amiga to VGA screen modes, and for each mode adjust screen dimensions, positions and various options.
OCS or ECS Amiga, IndivisionECSv2, MC68000 CPU, Kickstart 2.0x (v37), asl.library v38 for screenmode requesters
Command line flash and config tool requirements: Kickstart 1.3 (v34)
3. Security measures, prerequisites
A note about very old VGA monitors: Monitors without digital logic and microcontroller (the generation before there were onscreen displays), are in danger of being damaged if you play with the VGA settings. First consult your monitor's handbook and do not go beyond the monitor's limits in horizontal and vertical frequency.
First of all we recommend to visit the 'Firmware' menu and to create a rescue disk.
Please make sure that you can boot this rescue disk without your monitor showing a picture, by just inserting it into a disk drive.
This disk will automatically flash the IndivisionECSv2 firmware and erase the configuration from the device, so the IndivisionECSv2 will come back with its hardcoded defaults and a picture.
This will come in handy in case you produced a configuration that gives no picture (a "black screen") on your VGA monitor. The current configuration will be saved onto the disk as well, so you can import it later and redo the configuration from there. There's little risk of losing a configuration, because when you have "gone blind", the configuration tool will have saved the configuration to ENVARC: as well.
4. Basic concepts
The IndivisionECSv2 bases the Amiga screen mode detection on a range of line numbers, and optionally on a horizontal resolution argument. The list of Indivision modes is evaluated from top to bottom. The first mode that matches the criteria will be used for selecting the corresponding Indivision mode. The Indivision mode in turn will have a VGA mode assigned to it.
The number of lines detected on the screen will be the primary argument for switching modes automatically. Usually both the interlaced and non-interlaced versions of an Amiga mode are combined into one Indivision mode. For this, the 'minimum' number of lines refers to the number detected in the non-interlaced and in every second frame of the same mode's interlaced variants.
The 'maximum' number, which is also reported in the Indivision's onscreen display, is counted in every other frame of an interlaced mode, and it has one more line than the same mode's non-interlaced variant. So for an Amiga screen mode to be recognized in both its non-interlaced and interlaced variants, the minimum and maximum numbers are normally one line apart.
The horizontal selection argument is needed only to distinguish between 'Normal' (LoRes and HiRes) and the SuperHires variants of the same mode. See PAL SHires for example, which has the same line number range as regular PAL screens, but is distinguished using the 'Select on SHires' criterion.
That's it basically - everything else is position and size adjustment, features and VGA mode tuning. If you feel uncomfortable tinkering with VGA modes - you don't have to. You are not missing out that much, and you are in greater risk of locking yourself out by producing a black screen. The interesting settings are typically in the configuration's main window.
On the other hand, if you have a modern monitor, 'practised' to reset the configuration using the rescue disk (which we recommend), there's not much that should keep you from playing with the VGA settings as well.
5. Main window
When starting the program, you will be presented a list of known Indivision modes, prefixed with "Pre" to distinguish predefined from modes that you created yourself.
First let's talk about the 'Cancel' button, which has the Escape key as its shortcut. 'Cancel' doesn't ask for confirmation - by pressing 'Cancel' or the Escape key you will lose the configuration in the current window, if it hasn't been saved before. On the other hand, this will restore the Indivision's live settings to their previous state - so you can get the display back when you have produced a configuration that distorts the display or doesn't give a picture at all. This is an important safety measure - so in that case, keep calm, press Escape, and carry on. The 'Cancel' button and Escape key work on all windows in the same fashion: No questions asked, configuration restored.
On to the 'Save' button: The IndivisionECSv2 can switch modes automatically only when the configuration is saved to the device. The configuration will never be saved to the device unless you click 'Save'. When you find the 'Save' button available (not greyed out), then your current configuration is not saved on the device. Press 'Save' and the button becomes unavailable again until you change something. When saving, the configuration is saved not only to the device, but also in ENVARC: and ENV: on your Amiga.
Nothing really bad can happen by clicking 'Use'. The 'Use' button will not change the configuration on the device, just keep the current live state, save the configuration to ENV: (in RAM, not on disk), and exit the program. In other words, the live state will be gone with the next screen mode change, likely with a reset, and certainly with a power-up.
To find out which Indivision mode would be applied and used on clicking 'Save' or 'Use', select 'Find Mode to be Applied' from the Settings menu. This refers to the Amiga mode the configuration tool is running on, i.e. normally the Workbench. You can also apply this mode manually on clicking 'Apply', if it is not already activated. To find out which Indivision mode is currently active, select from the Settings menu 'Find Live Mode'.
You can also edit Indivision modes (and VGA modes) that are not currently being displayed. On clicking 'Adjust...' a test screen is opened with an Amiga mode that is appropriate for testing and editing the selected Indivision mode in the list. On clicking 'Okay' your changes will be accepted, but that doesn't mean that they will be kept when returning to the Workbench. This is only the case if you edit the Indivision mode that the Workbench is currently running on, that means, when you are editing the 'live' mode.
5.1 Indivision mode list
The first mode that matches the criteria (when searched from top to bottom) will be used. You can arrange the list by sorting entries up and down. You cannot remove predefined modes from the list, but individual modes in the list can be deactivated (and activated again) with a double-click, or by clicking the 'Disabled' checkmark. Not every detail can be configured in a predefined mode, settings that pose a risk of distorting the display or giving a black picture, are unavailable by default; so if you find greyed-out elements that you wish to change, then create your own copy of a mode by clicking 'Copy'.
The 'VGA Mode' field shows the VGA mode that is currently assigned to this Indivision mode. To change it, press the arrow button to its right, and proceed with 6. VGA mode selection and editing.
The 'Test Mode' field shows the Amiga screen mode that is currently assigned to this Indivision mode. It will be used for testing, that is, when you click the 'Adjust...' button. You can change the test mode by clicking the arrow button if you want for example test an Indivision mode on LoRes or Interlaced, instead of its HiRes non-interlaced variant, as is usually the default. It's important that the 'Test Mode' field shows an Amiga screenmode that corresponds to the Indivision mode and its name, or the results may be confusing.
5.2. Selection criteria
The buttons to the left of the main list are all related to the currently selected Indivision mode. The 'Select' cycle allows to accept a mode 'Always', only 'on Normal' (which means on LoRes and HiRes) screen modes, and specifically 'on SHires' (Super Hires). For 'Min. Lines' and 'Max. Lines' please see section 4., Basic Concepts.
The 'Tested' field shows the maximum number of lines that has been measured on the Amiga display when you opened a test screen for the current Indivision mode. If it hasn't been tested yet, this field will show '0'. To get this number, click 'Adjust...' and proceed to the next section.
On clicking 'Adjust...' on the main window, a test screen and window on that screen will be opened.
Near the top of this window the current number of lines is shown. This number will later also appear in the 'Tested' field on the main window, which you then might want to use as the 'Max. Lines' argument.
In a predefined Indivision mode's test screen, you will find the elements 'Left', 'Top', 'Width', 'Height', 'Resolution' and 'Double Scan' greyed out. If you are in a mode that you created yourself, you can now adjust these settings in real-time.
'Left', 'Top', 'Width' and 'Height' are the starting positions and scan ranges in the Amiga picture signal. With this, you can determine precisely how much of the overscan area you wish to show up in the VGA output. 'Resolution' is used to distinguish between 'Normal' (LoRes and Hires) and 'SHires' (SuperHires) pixel resolution. 'Double Scan' is used to halve the vertical resolution. Note: It is not needed for you to distinguish between interlaced and non-interlaced variants of the same mode; the IndivisionECSv2 does this automatically. The 'Double Scan' setting will have to be disabled only for certain ECS modes.
These settings come with a certain danger of maladjustment, especially on clicking the 'Resolution' and 'Double Scan' buttons. In that case, keep calm, don't move the mouse, click them again, or as a last resort, remember that there's the Escape key.
Use the 'HFilter' and 'VFilter' sliders for real-time adjustment of scaling interpolation. Naturally this applies only to screens that are actually being scaled.
Using the 'Darken' cycle allows you to reduce the intensity of every second scan line, so as to emulate the appearance of a CRT monitor. This only works on modes that have 'Double Scan' enabled. On the interlaced variant of an Amiga mode, the 'Double Scan' setting is being ignored.
Using the 'OSDSize', 'OSDPos' and 'OSDSec' elements you can adjust the onscreen display's size, position, and for how long it is getting displayed on a mode change, respectively.
On the adjustment screen, you have the following keyboard shortcuts:
- Escape: Exit
- Cursor left and right: Change left starting position in each line
- Cursor up and down: Change top line starting position
- Shift+Cursor left and right: Change width
- Shift+Cursor up and down: Change height
On clicking into the adjustment window and holding the left mouse button, you can pan the visible area with the mouse. On clicking and holding the right mouse button, you can zoom the visible area with the mouse.
In the '(Advanced) Options' window we tried to hide less frequently needed settings from your eyesight.
'Doublebuffer': When doublebuffer mode is active the frame-buffer is split into two. The graphics from the Amiga is written in one half of the framebuffer, while the VGA displays its frame from the other half. This can reduce or even eliminate tearing artifacts when VSync is not available for the selected Indivision mode. When the VGA is VSync'ed on twice the Amiga framerate (100Hz) enabling this option can remove tearing effect in the middle of the screen. Enabling this option however will introduce extra latency. And can cause jitter in the frame display frequency for modes without VSync enabled.
'Powersave': When a screen is detected to stay black for 30 seconds, the monitor is put into power save mode.
'VSync Line': This setting selects the Amiga scanline that triggers the VGA logic to start a new frame when VSync is enabled. The value should be as low as possible to have the minimum amount of latency between the Amiga and the VGA. If tearing effects are visisble at the top of the screen, this value can be increased in small steps until it is no longer visible. When VSync is not active on the VGA mode, this setting has no effect.
'Graffiti Emulation': Enables Graffiti emulation.
'ECS Mode': This is a global switch, so it will show the same state in all Indivision modes. Please note that an ECS Agnus chip is required for it to be available. On changing this setting, a reboot is required for the change to take effect, as it will switch the emulated Denise from OCS to ECS mode, and vice versa. ECS mode must be enabled to get hardware support for enhanced screen modes like Productivity, SuperHires, Euro72 etc. But that is not enough - a monitor driver for the respective mode must be present in SYS:Devs/Monitors as well. Only then you can select these modes in screen mode requesters.
'RTG Switch': This is a global switch, so it will show the same state in all Indivision modes. When this option is enabled, you can use the utility 'Indiswitcher' to suspend the Indivision's VGA signal when a Picasso96 RTG screen is in front.
5.5 Apply VGA Mode to All
To use the same VGA mode for all active Indivision modes in the list, select a VGA mode for the current Indivision mode, and then from the 'Settings' menu 'Apply VGA Mode to All...'.
6. VGA mode selection and editing
Before you proceed, please make sure that you have read the first paragraph of section 3 Security measures, prerequisites.
If this configuration panel looks confusing to you, don't worry, so it does to the author. Just use it for picking a different VGA mode for assigning it to an Indivision mode. You do not have to edit VGA modes, but you can. With the predefined VGA modes, all dangerous settings are greyed out so you cannot even change them by accident.
Select a VGA mode that you wish to assign to your Indivision mode from the list to the right.
Before you click 'Accept', you should have tested the VGA mode on your monitor at least once. Because when you 'Accept' a mode that doesn't show a picture on your monitor, you have only the Escape key left on the main window to get the picture back. And with this, you risk to lose other changes that you may have made before in the main window.
So click 'Test...' to test the screen mode. If this yields a good picture, click 'Okay', and then you can 'Accept' it. Otherwise, of course, press the Escape key.
6.1 VGA mode creation
To change anything in a VGA mode, you must first create a copy by clicking 'Copy'. Your new own mode will then show up at the top of the list.
Now all settings are available, including 'Pixel Clock' and 'VSync', and all horizontal and vertical timings.
For example, you can now crank the 'Pixel Clock' slider to the very right. Or the very left. Or you can set 'F.Porch' to zero, or 'Visible' to 64. Nothing of this will likely yield something that you desire. Better do not even test this: If you make mistakes, better delete the current VGA mode by pressing 'Delete', and begin with a new copy. Watch out that Horizontal frequency (in KHz) and Vertical frequency (in Hz) doesn't exceed the limits of your monitor, especially if you have a very old monitor. As you change parameters, these frequency values will change all the time.
Read you monitor's specifications, use a VGA mode calculator, or try only small steps on the 'Test...' screen. On the test screen, you have the following keyboard shortcuts:
- Escape: Exit
- Cursor left and right: Change horizontal porch
- Shift+Cursor left and right: Change horizontal sync length
- Cursor up and down: Change vertical porch
- Shift+Cursor up and down: Change vertical sync length
As long as you get a good and stable picture, you can leave the test screen by clicking 'Okay' to use these settings in your new VGA mode, and 'Accept' them to bind the new mode to the Indivision mode on the main window.
7. Advanced topics
7.1 Commandline arguments
CONFIGFILE - Name of a configuration file to load at startup
Program signals are defined as follows: - CTRL-C terminates the program, reverting to the previous live registers. - CTRL-E opens the main window again when iconified.
With the IndivisionECSv2 settings program, you can produce a rescue disk on which there is a tool named 'flashtool'. This program can not only flash a firmware and reset the configuration in flash, but it can also write a configuration, and this also works on Kickstart 1.x.
Template: FLASH/K,FPGA/S,DELAY/N/K,SAVECONFIG/K,OCS/S FLASH/K - Firmware file to flash FPGA/S - FPGA mode [default: CPLD mode] DELAY/N/K - Initial delay, in seconds SAVECONFIG/K - Config file to save to flash OCS/S - Force config to OCS mode
The rescue disk starts this flashtool automatically from its startup-sequence, but if your display has gone black or distorted, you can also enter (blindly, if everything else failed):
> flashtool flash firmware
This should give you a picture back with the hardcoded defaults, and
> flashtool saveconfig default.conf
to write a configuration file.
The flashtool reports the return status using the Amiga's power LED, as follows:
- Blinking once, pause, repeat: Success, all ok
- Blinking twice, pause, repeat: Flash not found
- Blinking three times, pause, repeat: Some other error
The 'flashtool' program and the files 'firmware' and 'default.conf' are also on the distribution disk (or in the archive).
This utility suspends the IndivisionECSv2's VGA output when a screen with a Picasso96 RTG mode is in front.
Requirements: rtg.library v41, IndivisionECSv2 2.1 with firmware 20190313, 'RTG Switch' option enabled
Usage: Start the indiswitcher utility to activate it. Start it another time to deactivate it. Ideally it is started when an Amiga native screen is in front.
Installation: Run it in startup-sequence, after binding monitors, before IPrefs.
- Added firmware 20190516 (Kefrens Megademo 6 sprite bug fix)
- Flash signature was not found when FPGA firmware was invalid, corrected. This fix is also in flashtool 1.7
- RTG switch option, Indiswitcher and firmware 20190313 added
- Added firmware 20190308, which allows for more horizontal overscan
- Horizontal positions in preset modes corrected, to correspond to new firmware
- Indivision mode positions and sizes are now editable in preset modes
- Added preset modes 720x450 NTSC, 736x548 PAL (fullscreen 50Hz VSync)
- 'Apply VGA Mode to All' no longer applies to inactive modes
- Improved documentation
- Improved documentation
- Added realtime mouse scaling/panning on left/right mouse buttons in the main adjustment window.
- VGA settings, when cancelled, were not fully reverted if they applied to the currently active Indivision mode, corrected
- Changed chipbase to $dffe00 for possible compatibility with Vampire.
- Flashtool signature check and reporting added, serial output added, FORCE, NOSERIAL options added, more verbose output
- Flashtool READ function added, power LED codes added (1=ok, 2=no flash, 3=other error), NOBLINK option added
- Flashtool SAVECONFIG was broken, fixed
- Added Indivision mode preset 720x548 PAL
- Added VGA mode preset 1472x800 50Hz vsync
- Firmware 20190114 included
- Live register settings could still be reverted inappropriately, corrected
- Chipbase reverted to $dff000, as there is no fix in sight without changes from Vampire
- VGA settings test screen on a different than the current Indivision mode did not change to this mode, but used the current live settings, corrected.
- when testing the VGA settings in live Indivision mode, on 'Okay' kept the tested settings, although they were preliminary. Fixed. Now even on 'Okay' reverts to the previous live settings, and finally uses them on 'Accept'.
- changed screen settle time to 15 ticks
- flashtool compiled without serial debug output
- initial public release