├── atom.ico ├── atom-15.bas ├── lbios.com ├── atombios.inc ├── radeon_family.inc ├── XPTheme.xml └── Readme.txt /atom.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonioginer/ATOM-15/HEAD/atom.ico -------------------------------------------------------------------------------- /atom-15.bas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonioginer/ATOM-15/HEAD/atom-15.bas -------------------------------------------------------------------------------- /lbios.com: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonioginer/ATOM-15/HEAD/lbios.com -------------------------------------------------------------------------------- /atombios.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonioginer/ATOM-15/HEAD/atombios.inc -------------------------------------------------------------------------------- /radeon_family.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonioginer/ATOM-15/HEAD/radeon_family.inc -------------------------------------------------------------------------------- /XPTheme.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 10 | 11 | 12 | 20 | 21 | 22 | ATOMBIOs 15 kHz Modder 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /Readme.txt: -------------------------------------------------------------------------------- 1 | --------------------------------------------------------------------------------------- 2 | 3 | ATOM-15 v1.6 - ATOMBIOS 15/25/31 kHz Modder 4 | 5 | by Calamity - October 2014 - October 2021 6 | 7 | for further documentation, visit: http://geedorah.com/eiusdemmodi/ 8 | 9 | --------------------------------------------------------------------------------------- 10 | 11 | WARNING!: THIS SOFTWARE IS EXPERIMENTAL. USE AT YOUR OWN RISK. THIS SOFTWARE HAS THE 12 | POTENTIAL OF LEAVING YOUR VIDEO CARD IN AN UNUSABLE STATE. Before you use this software, 13 | please make sure you understand the consequences of flashing a faulty or wrong BIOS 14 | to your video card. You WILL NOT be able to boot your system in order to restore the 15 | original BIOS. Usually you will need a PC which motherboard has TWO display card sockets 16 | and a second usable video card in order to be able to boot the system and flash the 17 | bricked display card back into its original state. Keep in mind that the motherboard's 18 | integrated GPU usually DO NOT serve this purpose because it's automatically disabled by 19 | the BIOS as soon as an AGP or PCI-e video card is plugged in. Always use the ORIGINAL 20 | BIOS image obtained from your physical card when using this program. 21 | 22 | 23 | Overview 24 | -------- 25 | 26 | ATOM-15 is an experimental tool designed to customize the video output of ATI/AMD display 27 | cards based on the ATOMBIOS firmware (probably all models since the Radeon X800). It works 28 | by modifying the BIOS firmware in such a way that the output frequencies of all video 29 | modes are adjusted into the user's specified frequency ranges. Its purpose is to reduce 30 | the possibility of sending pontentially dangerous frequencies during the BIOS post and 31 | loading process of the operating system, when using these cards with standard resolution 32 | and multi-sync CRT monitors. 33 | 34 | Bear in mind that the modifications applied to the firmware only operate during the BIOS 35 | post and the operating system loading process. Once the operating system device drivers 36 | take control of the display card it will behave exactly the same as any normal card. This 37 | means that you will need to use system specific methods in order to customize the video 38 | output from the operating system itself, provided these methods are available. 39 | 40 | This is a research project. It has been possible thanks to the documentation publicly 41 | available in the Linux open source drivers (ATOMBIOS headers and hardware registers for 42 | the different asics). 43 | 44 | 45 | ATOM-15 usage 46 | ------------- 47 | 48 | ATOM-15 is quite simple to use. Simply open the bios image (*.bin or *.rom). If the BIOS 49 | format is recognized, the "Patch BIOS" button will become active. Now select your monitor 50 | operational ranges by ticking their corresponding checkboxes. Then press "Patch BIOS". If 51 | everything goes well, you will have a modified BIOS image (marked with the "-mod" suffix) 52 | ready to work. 53 | 54 | You can select one, two, or three of the provided ranges, in order to match your monitor's 55 | capabilities. Keep in mind that ATOM-15 will always try to recalculate each BIOS' native 56 | mode into the range which results in a better picture quality, from the ranges you allow 57 | it to work with. For instance: 58 | 59 | - If both 15 and 31 kHz ranges are selected, then 640 x 480 will be calculated in the 60 | 31 kHz range, to avoid using an interlaced mode. 61 | 62 | - If both 25 and 31 kHz ranges are selected, then 1024 x 768 will be calculated in the 63 | 25 kHz range, as interlaced, to avoid requiring big black borders. 64 | 65 | Besides, ATOM-15 will always readjust the vertical frequency so it falls within the 66 | 50-60 Hz range. This will prevent 31 kHz arcade monitors to go out of sync due to 400-line 67 | BIOS modes that have a native vertical frequency of 70 Hz although their horizontal 68 | frequency is 31 kHz. 69 | 70 | For a detailed log of the BIOS native modes and how they're modified, use the "View log" 71 | button. 72 | 73 | 74 | Flash tools 75 | ----------- 76 | 77 | You will need third party software in order to obtain the BIOS from your display card, 78 | and to flash the modified BIOS back to the card. Your options are: 79 | 80 | - ATIFlash: MS-DOS, http://www.techpowerup.com/downloads/2306/atiflash-4-17/mirrors 81 | How-to: http://www.techpowerup.com/forums/threads/how-to-use-atiflash.57750/ 82 | 83 | 1) Boot into MS-DOS from a bootable USB disk, with atiflash.exe in it. 84 | 2) atiflash -s 0 bios.rom 85 | 3) Reboot, into Windows and use atom-15.exe to patch the BIOS, put it in your USB disk. 86 | 4) Boot again into MS-DOS. 87 | 5) atiflash -p 0 bios-mod.rom 88 | 6) Reboot 89 | * Make sure to use short names in MS-DOS (8 characters + 3 for extension). 90 | * Caution: "-p 0" and "-s 0" point to the first PCI device. Check this in case you have 91 | more than one video card installed. 92 | 93 | - ATI Winflash: Windows, http://www.techpowerup.com/downloads/2311/ati-winflash-2-6-7/ 94 | 95 | 1) cd C:\atiwinflash 96 | 2) atiflash -s 0 bios.rom 97 | 3) Use atom-15.exe to patch the BIOS. 98 | 4) atiflash -p 0 bios-mod.rom 99 | 5) Reboot 100 | * Caution: "-p 0" and "-s 0" point to the first PCI device. Check this in case you have 101 | more than one video card installed. 102 | 103 | While ATI Winflash is very convenient, our preference is for ATIFlash (it requires 104 | creating an MS-DOS usb boot disk), because from MS-DOS you can test your patched BIOS 105 | before actually flashing it to the card, by means of "lbios", as explained below. 106 | 107 | 108 | Using the BIOS loader lbios.com 109 | ------------------------------- 110 | 111 | lbios.com is a simple BIOS loader. It loads a BIOS image into the system's RAM so it 112 | takes control of the video card instead of its own ROM BIOS. You can use this tool 113 | before actually flashing the patched BIOS to the video card, to reduce the chances of 114 | flashing your card with a faulty BIOS. It is not guaranteed however that a BIOS that works 115 | when loaded into the RAM won't leave your card unusable later when flashed to the actual 116 | hardware: you're warned. But definitely, if the system hangs after running lbios, then 117 | DO NOT flash the BIOS. The effects of lbios are not persistent, everything will be back 118 | to normal after restarting the system. 119 | 120 | lbios must be run from MS-DOS command line: 121 | 122 | c:\lbios romname.rom 123 | 124 | To actually do a proper testing of the patched BIOS, you'll need to switch to different 125 | video modes, both standard and VESA ones. For this task, I find this tool to be the 126 | most convenient: http://www.filegate.net/utiln/utilnet/z.zip 127 | 128 | 129 | UEFI notes 130 | ---------- 131 | 132 | ATOM-15 is not guaranteed to work with UEFI bios. It may work as long as the UEFI code uses 133 | VESA modes. If this is the case, notice that probably UEFI will require the VESA mode 134 | 1024 x 768 to be available. This will be true if either the 25 or 31 kHz ranges are used. 135 | Unfortunately 1024 x 768 is not possible for the 15 kHz range, so this mode is disabled 136 | when only the 15 kHz range is used. In this case, entering the UEFI setup will result in 137 | a black screen. 138 | 139 | 140 | Source code 141 | ----------- 142 | 143 | The full source code of this program for the PowerBASIC 10.04 compiler is available at: 144 | http://geedorah.com/eiusdemmodi/ 145 | 146 | Version history 147 | --------------- 148 | 149 | - v1.6 - October 2021 150 | - Added support R9 380/380X. 151 | 152 | - v1.5 - December 2017 153 | - Added support for composite sync. 154 | - Reduced BIOS hook size by 40 bytes, now only 532 bytes of blank space are required. 155 | 156 | - v1.4 - November 2017 157 | - Fixed bug that caused wrong checksum correction in some cases. 158 | 159 | - v1.3 - March 2017 160 | - Implemented GOP reallocation for EFI bios. 161 | 162 | - v1.2 - September 2016 163 | - Detect blank space as a combination of 0x00 and 0xFF characters. 164 | - Reduce by 256 bytes the size required by the BIOS hook, now only 572 bytes of blank 165 | space are needed to patch the BIOS. 166 | - Fixed bug that caused wrong checksum correction in some cases. 167 | 168 | - v1.1 - October 2014 169 | - Fixed critical bug that affected older Radeon cards (the X series at least). 170 | 171 | - v1.0 - October 2014 172 | - First version released. 173 | 174 | 175 | --------------------------------------------------------------------------------