-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathChangeLog
More file actions
162 lines (140 loc) · 7.97 KB
/
Copy pathChangeLog
File metadata and controls
162 lines (140 loc) · 7.97 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
;AutoVIDC module source - Change Log
;-----------------------------------
;
;VIDC Enhancer software control
;Best suited to Aux IO controlled VIDC Enhancers
;
;Author: Andreas Barth (1995)
;Author: Paul Vernon (Retro-Kit) (2012-2015)
; www: http://www.retro-kit.co.uk
;
; Schaltet die Leitung AUX1 auf aktiv-1 in bestimmten Bildschirm modi.
; Das Originalprogramm musste unbedingt umgebaut werden, weil es nicht bei Mode 12 oder aehnlichen zugeschaltet hat und nicht konfigurierbar war.
; Version 0.99
; - Ruft auch bei Init den Modus ab.
; - Untersucht eine interne Tabelle und stellt danach Aux1 ein.
; Version 1.00
; - Befehle eingebaut um Konfiguration abzufragen und zu aendern.
; - Hardware wird geprueft, ob der richtige Rechner vorliegt.
; Hardwarepruefung durch OS_ReadSysInfo 2 (PRM 1-722)
; Gibt's nicht im RO2 --> alte Hardware automatisch.
; Wenn vorhanden, dann muessen R0-R4 = 0 sein, sonst neue Hardware.
; Version 1.02 - Updated by Paul Vernon
; - Renamed to AutoVIDC+
; - Added in the ability to:
; - 1. Control up to two VIDC Enhancers at the same time.
; - 2. Store three seperate Modelists.
; - 3. Edit TWO of the Modelists
; - Uses the third ModeList under RISC OS 3 for MonitorTypes 3 and 4 to enhance non-VGA modes;apped to VGA ones.
; - This version provides full transparent control of two VIDC Enhancers to provide full A5000 screen mode capabilities.
; Version 1.03
; - Fixed an 'infinite loop' bug when applications created custom modes.
; Version 1.04
; - Added in the ability to:
; - 1. Actively turn the VIDC Enhancer boards off until the next mode change
; - 2. Re-initialise the VIDC Enhancer boards to check and start the correct VIDC Enhancer clock without a mode change.
; - 3. Include a way to set AutoVIDC+ to ignore specific modes - This allows modules created by CustomVDU to control the VIDC Enhancer boards without clashing with AutoVIDC+
; Version 1.05
; - Added the ability to completely suspend and re-enable AutoVIDC+
; - Added the command AutoVIDCStatus which reports Monitor Type, MODE and AutoVIDC+ status and VIDC clock speed.
; - Fixed a minor bug when setting the Aux IO lines ensuring the other line is disabled. This opens up the possibility of a latched VIDC Enhancer that could control three extra oscillators.
; - Moved the commands AutoVIDCSuspend and AutoVIDCReset
; - Altered the code so that it compiles correctly due to larger size of the module now. This involved changing all ADR dirtectives to ADRL and using ExtBas to patch the BASIC assembler.
; - Added the AutoVIDCTogglePOST command to toggle the VIDC POST check on and off. It toggles the correct bit but appears not to be implemented by RISC OS...
; Version 1.06 - never released
; - Added support for three Oscillators allowing 24MHz, 25.175MHz, 36MHz and an overclocked oscllator to be controlled. This requires a suitable VIDC Enhancer such as the Retro-Kit Ultra VIDC Enhancer.
; - Defaulted the overclocking ability to OFF so it has to be explicitly enabled by the user for it to work.
; - fixed a couple of minor output bugs in AutoVIDCStatus
; - Added in the SWI handler and a couple of SWI calls to allow control of the VIDC Enhancer to be delegated to a third party application.
; Version 2.00
; - Official release marking the allocation of the modname, *commands and SWI chunk base.
; - Reverted to Module Name AutoVIDC as this is now officially allocated by RISC OS Open Ltd.
; Version 2.01
; - Added the RISC OS clock selection feature. It checks the clock speed in the VIDC register and if all the MODE lists do not specify that MODE but AutoVIDC recognises the clock speed then it will automatically switch clock speeds.
; - Added * commands to enable and disable RISC OS clock selection
; - NOTE: RISC OS clock selection is only available from RISC OS2.01 up.
; - NOTE: The RISC OS clock selection feature could do away with MODE lists but RISC OS 2.00 would then be unsupported and if a user wanted to FORCE a specific clock speed, it couldn't be done.
; - Ensured that all access to LatchB is in SVC mode with IRQ and FIQ disabled.
; Version 2.02 - not released
; - Re-factored the source code and modified to compile with ExtAsm.
; - minor bug fixes
; Version 2.03 - not released
;
; - many thanks to Jon Abbott and Steve Harrison for helping out and providing code
; - examples and ideas that have made AutoVIDC better than I could have hoped for
; :-)
;
; - Finally working on RISC OS 2. It seems RISC OS 2 support has never worked until now.
; - 26/32-bit neutral. This isn't really needed but it's nice to have :D
; - Added in a 25.175MHz mode list definition for RISC OS 2 as it has different screen geometry
; - added in IRQ/FIQ disabling code to protect R/W of the Aux IO latch hardware.
; Version 2.04
;
; - added in support for running on later machines with VIDC1(a) chips installed.
; - fixed RISC OS 3 25.175MHz MODE map by adding MODE 25 into the list and moving MODE 41-43 into the list from the VGA MODE map.
; - fixed the OS version detection code.
; - Built in hardware detection to detect VIDC1(a) machines that do and do not require
; a third party enhancer e.g. A540's and A5000's don't require one
; - When setting the VIDC clock, where necessary, the Zero page location containing the
; clock speed in kHz is updated to allow games that calculate sound playback do so
; more accurately. >= RO3
; - Allow the user to set the speed of the over-clocking oscillator in kHz up-to 60000kHz (60MHz)
;
; - Now provides a standard way of setting the VIDC clock speed across all VIDC1 based Acorn machines.
; Version 2.05
;
; - added an SWI to return the Sync.Polarity details for any given Mode and MonitorType
; - fixed an issue with correctly setting the Sync.Polarity when using the SetClock SWI on "native" enhanced VIDC1a based computers such as the A5000.
; Version 2.06
;
; - added an SWI to allow AutoVIDC to be re-initialised to match the current MODE without requiring a MODE change service call to be triggered.
; - Fix the DelegateControl SWI so that when control is returned to AutoVIDC, it calls the new re-initialise SWI also.
; Version 2.07
;
; - added in *MODE command to allow mode changes at the supervisor prompt
; - Introduced support for detecting WE VIDC Enhancers
; Version 2.08 - beta release
;
; - Added full support for WE "Super" VIDC Enhancer with Sync. Polarity
; - re-factored some source code to reduce module size
; - fixed a minor bug with the WE Enhancer code
; - fixed an issue with the AutoVIDCXXset command
;
; Version 2.09 - beta release
;
; - Added clock detection code
; - Added an SWI to query clock availability
; - Re-arranged output for AutoVIDCStatus
; - also indicates whether Aux IO VIDC Enhancer
; has been detected or is assumed
; - altered code to use more "local" labels
; - fixed bug in cleanup code for Native Enhancer support
; - removed two "unpredictable" pieces of code
; - Added/Removed TEMP/LOCK compiler directives
; - code optimised to reduce build size - thanks to Jon Abbott
; for the quick lesson in optimising ARM code :D
; - fixed a bug when enabling RO control after being disabled
; allowing the clock speed to be restored correctly
; - now initiates a call to Service_ModeChange *after* the module
; has initialised. This addresses an issue where if QTM is
; playing a module before AutoVIDC has initialised it now
; correctly adjusts its timings after AutoVIDC has initialised.
;
; Version 2.10 - full release
;
; - removed unused variable definition
; - added more comments in the code
; Version 2.11
;
; - Added SWI AutoVIDC_EnhancerPresent
; - Returns a value of 0 or 1 depending on whether an enhancer has been detected or not.
; - Added SWI AutoVIDC_EnhancerType
; - Returns a value of 0, 1 or 2 for Acorn, Aux I/O or I2C enhancers respectively.
; - Widened the range for detecting the clocks to address a problem with clock
; detection when in high bandwidth modes (e.g. 28) on all machines and
; on the A5000 in any mode.
;
; Version 2.12
;
; - Increased delay of initiating AutoVIDC after module load from floppy.
;