Indivision AGA MK3/doc
IndivisionAGAmk3 Software package
- Media:IndivisionAGAmk3-1.9.lha (January 14th 2021)
- Media:IndivisionAGAmk3-1.9.adf.lha bootable disk
- HighGFX: Amiga screenmodes up to 1280x1024 by André Pfeiffer; Download: Media:HighGFX.lha
- Media:IndiAGAmk3Rescue-1.9.adf.lha bootable rescue disk
Please read the documentation. A German translation is included in the archive. See requirements below.
With this tool you can configure your IndivisionAGAmk3's mapping of Amiga to VGA screen modes, and for each Amiga screen mode adjust screen dimensions, positions and various options for the output. Please note that this documentation generally uses the term "VGA" for it's output, although the user has the choice of either using the high-definition digital output or the analogue VGA output. Most output settings apply to both outputs at the same time, but only one output may be used at a time. So if your monitor is connected with a DVI or HDMI cable, just replace "VGA" with the other acronym while reading this documentation.
AGA Amiga, IndivisionAGAmk3, MC68020 CPU, Kickstart 3.0 (v39)
No installation required. Drag the IndivisionAGAmk3 icon to SYS:Prefs/ or whereever you like.
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 IndivisionAGAmk3 firmware and erase the configuration from the device, so the IndivisionAGAmk3 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 IndivisionAGAmk3 bases the Amiga screen mode detection on a range of line numbers, and optionally on a horizontal resolution argument. Important: 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 IndivisionAGAmk3 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 'Test/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. They will be applied only on clicking 'Apply' or 'Save & Apply'.
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 'Test/Adjust' button. You can change the test mode by clicking the arrow button if you want for example test an Indivision mode on LoRes, interlace, or with different overscan settings.
The 'Test Mode' must correspond to the Indivision mode and its name, or the results will be entirely confusing. If unsure, please do not change the 'Test Mode'.
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 'Test/Adjust' and proceed to the next section.
On clicking 'Test/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 IndivisionAGAmk3 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.
The 'Advanced Options' window is separated into two sections, mode settings that apply to the mode currently being shown in the main window, and global settings that apply universally.
Advanced Mode Settings:
'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.
'Mode': Here you can adjust the principal mode of operation and choose between 'Pure DVI' mode, which does not have audio, and modes that do support audio with the mixer frequencies 48kHz, 44.1kHz, 96kHz, and 88.2kHz. The setting 'Pure DVI, no audio' might be more compatible with DVI monitors and is therefore the default.
'Ignore Audio Filter': This will bypass the Amiga's lowpass filter that is tied to the Power LED. When this option is enabled, lowpass filtering on the Indivision's output is always off.
'RTG Switch': When this option is enabled, you can use the utility 'Indiswitcher' (see below) to suspend the monitor signal when a Picasso96 RTG screen is in front.
'CCKLine Pull-Up', 'CCKLine Capacitance' and 'PCLK Resistor': These settings can fix issues (like flickering pixels) of high-resolution modes (such as PAL SuperHires). Please note: Problems like these on some Amigas do not originate from the Indivision, they are visible on the native display as well! The options 'CCKLine Pull-Up', 'CCKLine Capacitance' and 'PCLK Resistor' (or a combination thereof) can fix such issues of faulty Amigas. These settings are applied in real-time in the moment you click them, so you do not have to exit the 'Advanced Options' window to apply them.
5.5 Re-Read Monitor Display Data
Using the menu item 'Re-Read Monitor Display Data' from the 'Settings' menu, you can re-read the monitor's extended display information database (EDID). The additional modes will show up in the VGA mode list (see also section 6., VGA mode selection and editing). The EDID modes will be read automatically, you need this function only if you changed the monitor while the program is running.
5.6 Pick VGA Mode from Display Data
To pick a VGA mode automatically from the monitor's display database, select 'Pick VGA Mode from Display Data' from the 'Settings' menu. This will try to determine the most preferrable VGA mode from the monitor's extended display information database (EDID). After a new mode has been selected, you should test it by clicking the 'Test/Adjust' button. If successful, you can then apply this VGA mode to all Indivision modes using the next menu item. See 5.7, Apply this VGA Mode to All.
5.7 Apply this VGA Mode to All
To use the current VGA mode for all active Indivision modes in the list, select from the 'Settings' menu 'Apply this 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/Adjust' to test the VGA mode. If this yields a good picture, click 'Okay', and then you can 'Accept' it. Otherwise please press 'Cancel' or 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', 'VSync', 'Auto Resolution', 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) do not 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/Adjust' 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.
6.2 Auto Resolution
In 'Auto Resolution' mode, the Amiga's pixel clock will be used for display generation. In this mode, all timing settings and scaling will be disabled.
7. Advanced topics
7.1 Commandline arguments
- CONFIGFILE - Name of a configuration file to load at startup
- SAVEEDID - Filename for saving the monitor's EDID block
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 IndivisionAGAmk3 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.
Template: FLASH/K,FPGA/S,DELAY/N/K,SAVECONFIG/K 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
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 configfile
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 monitor on the IndivisionAGAmk3 when a screen with a Picasso96 RTG mode is in front.
Requirements: rtg.library v41, 'RTG Switch' option enabled (see above)
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 20210108, which fixes a bug when changing to/from AutoRes modes.
- Software-side fixes in changing to/from AutoRes configs.
- Default for AutoRes preset mode is now High resolution.
- Added keyboard shortcut 'r' for switching AutoRes resolution on Test/Adjust screens.
- Added requesters to inform user about AutoRes modes and 'r' key.
- Firmware 20201218 added:
- Fixed error in handling of ADKCON writes. Solves audio playback issues in some whdload games. (Xenon2, ShadowOfTheBeast)
- Fixed Graffiti timing, which broke due to previous changes (CCK related)
- Fixed Graffiti decoding of commands, only check the low nibble.
- Fix for high resolution Graffiti emulation
- Firmware 20201014 was missing in the executable, it still contained 20200930, oops. Fixed.
- Bug fixed in 'Pick VGA Mode from Display Data', which also caused a read access memory violation
- Version of firmware reported in about window
- Added firmware 20201014:
- Fixed bug causing a yellow line in some PAL/NTSC modes on the far right side of the screen. Cause was a error in the calculation of the length of a scanline causing the buffer to lose the second to last pixel (turns black) and the blue component of the last pixel (making it yellowish).
- Also fixed a small sdram controller bug only visible on high resolution screens (Xtreme at 1080p). Not normally seen with defaults in the config tool nor with any other reasonable values, but could reproduce it while playing with the live mode. Implemented a fix so it won't bite us later, though I doubt it would have caused a problem in normal use.
- Added firmware 20200930.
- Even more (extended) EDID information evaluated.
- No longer runs into a division by zero software failure when started with no hardware found.
- Several bugs in live mode detection fixed
- SuperPlus mode number of lines in preset corrected to 317/318
- Fixed some confusing requesters and behaviour on entering the config tool after live changes
- Main mode (DVI and audio modes) in Advanced Options added
- More EDID information evaluated, yielding more 'TV modes'
- Added new preset VGA mode 'Pre 1280x720 50Hz VSync'
- Ignore audio filter option added
- New firmware 20200824: Stricter timing hints, better signal pipelining
- OSD is always shown for 10 seconds initially on entering 'Test/Adjust'
- Minor cleanup and speedup in GUI logic
- EDID mode evaluation was largely broken, corrected
- Minimum Indivision screen width,height is now 80,64
- 'DVI Mode' is now enabled in the default configuration
- Added SAVEEDID command line argument
- Flashtool wasn't updated, corrected
- version bumped to 1.2
- Didn't update ghosting on Apply buttons on changes from "Apply this VGA Mode to All...", corrected
- Minor correction in German documentation.
- Didn't use chipbase mirror $dffe00 in all places, corrected
- Initial release