|06 October 2005, 15:06||#1|
Join Date: Nov 2001
Location: Nottingham, UK
This thread is for any useful hints, tips and guides that users have found, but mainly it is used for diagnosing a problem :-)
These can cover anything hardware/repair related only and is not applicable for modding or spraypainting your baby (Create a new thread for that )
Only mods can post in this thread so we can keep it clean, on-topic but most importantly easy to use and navigate
Here we go
What your Amiga is telling you
Ever wondered what your Amiga is doing when all those lights flicker on and off in a scary fashion. The Amiga may look like its doing nothing when you switch on your machine then you will probably be right. No, damn. I mean that it's doing loads of selftest things to see if the system is well. The list below shows the normal checks that a standard 68000 A500 performs:
Clears all memory of old data.
Disables DMA and interrupts during the selftest.
Clears the screen.
Checks the processor is working.
Changes the screen colour.
Do a checksum test in the ROM.
Changes the screen colour, again.
Begins the system startup.
Checks RAM at address $C0000 and moves SYSBASE there.
Test all Chip ram.
Changes the screen colour, AGAIN.
Checks that the software is being executed.
Changes the screen colour, for a laugh.
Sets the Chip ram to be accessed.
Links the libraries.
Checks for fast ram.
Turns the DMA and interrupts on.
Starts a default task.
Checks for an accelerator or a maths coprocessor.
Checks the processor again to see if there is an error.
If an error is found the system is reset.
Whilst the selftest is being carried out information is being displayed. This is shown through the screen changes that are mentioned in points 3, 7, 11, and 13. If all of the tests have been passed, you will see the following colour sequence.
Dark Grey: The hardware test has been completed OK, and the registers are readable.
Light Grey: The software side has passed.
White: The initialisation is correct and the system is ready to boot.
If there is something wrong with your system you may see the following colours.
Red: An error was found in the ROM.
Green: An error was found in Chip ram.
Blue: An error was found in the custom chips.
Yellow: The CPU has found an error before the error trapping software (Guru) has been activated.
These problems could be caused by a number of things such as a loose chip or board. The red screen may be caused by a loose Kickstart chip that can be fixed by pressing down on the ROM to check it is fitted correctly. Another cause could be a connection problems between the chip and socket that can be solved by straightening an bent pins. Alternatively, the green screen could be caused by a loose memory board, SIMM, or a loose RAM chip on the memory board. If reattaching these chips do not solve the problem, try them on another Amiga.
The keyboard also has its own processor, RAM, and ROM. It also has a selftest that performed on power up in the following sequence.
Performs a checksum on the ROM.
Checks the 64 bytes of keyboard RAM.
The timer is being tested
Performs a handshake with the computer and gives the result of the selftest.
If the keyboard does not pass the test, it will tell you through the blinking of the caps lock light.
One blink: Keyboard ROM check failed.
Two blinks: Keyboard RAM check failed.
Three blinks: Watch dog timer failure.
Four blinks: A short between two lines or the special control keys.
READ THIS (please). Don't panic if your keyboard flashes once when you switch on. THIS IS PERFECTLY NORMAL. Every Amiga in the entire universe does this.
There are two CIA chips in every Amiga. These handle most of the Amigas communication to the outside world- the serial, parallel, joystick, and mouse ports, as well as the disk drive, keyboard, and timer. If the CIA chips become damaged you may develop problems with these ports that may manifest themselves in a number of ways. These include broken fire buttons on the joystick, disks not being recognised, or the keyboard not recognising presses.
Fortunately, these chips are easy to replace, At least, they are on the A500 and A2000. To see if this is the problem try swapping the two CIA's around to see if one of them is faulty. This may temporarily allow a certain port that you use to work. However, this is only a short term solution and you should replace the CIA chips with new ones at the earliest opportunity. These retail for around £10-20.
To swap the CIA chips you will need to take the Amigas case off and remove the metal shielding underneath. The two CIA's are both 40-pin chips that are marked CIA ODD and CIA EVEN. Simply swap them over, making sure that you have placed them in the right way and replace the case.
Last edited by bippym; 06 October 2005 at 15:20.
|06 October 2005, 17:40||#2|
Join Date: Nov 2001
Location: Nottingham, UK
Some nice schematics - Thanks THB
More schematics - THanks Lopos2000
Last edited by bippym; 07 October 2005 at 21:18.
|13 October 2005, 07:30||#3|
Many drives can be made to boot DOS disks (but sadly not many games) by simply opening the connector at the drive's end, then pulling out wires 2 and 34 (start counting from the red stripe). Swap the wires around and close the connector again. Make sure the floppy drive is set to DS0.
This posting will be updated at a later date to describe how to twist your cable if your floppy drive doesn't have a configurable drive select setting (IE. always stuck on DS1).
Info on converting certain Chinon drives for Amiga use:
Here are some instructions for modding floppy drives I have come across:
Also check out:
(sorry, TEAC links are offline at the moment, will search for info)
Floppy connector pinouts
Amiga PC Legend Pin 2: /Change Pin 2: /REDWC Density Select Pin 4: /In Use 1 Pin 4: n/c Pin 6: /In Use 0 Pin 6: n/c Pin 8: /Index Pin 8: /INDEX Index Pin 10: /Select 0 Pin 10: /MOTEA Motor Enable A Pin 12: /Select 1 Pin 12: /DRVSB Drive Sel B Pin 14: Unused Pin 14: /DRVSA Drive Sel A Pin 16: /MTRI Pin 16: /MOTEB Motor Enable B Pin 18: /Direction Pin 18: /DIR Direction Pin 20: /Step Pin 20: /STEP Step Pin 22: /DKWD Pin 22: /WDATE Write Data Pin 24: /DKWE Pin 24: /WGATE Floppy Write Enable Pin 26: /TRKD Pin 26: /TRK00 Track 0 Pin 28: /Write Protect Pin 28: /WPT Write Protect Pin 30: /DKRD Pin 30: /RDATA Read Data Pin 32: /Side Pin 32: /SIDE1 Head Select Pin 34: /Ready Pin 34: /DSKCHG Disk Change All odd pins are GND
4-6 twisted: used in big box Amigas with Amiga compatible floppy drives. The twist is there so that the drive LEDs work individually. Without the twist DS0 lights both LEDs and DS1 doesn't light either LED.
10-16 twisted: PC cable, allows both drives to be set to the same drive select and still work as separate drives. This cable flips the PC motor control and drive select signals around. The Amiga uses a single motor control pin for all internal drives, and the selects are at different pins than the PC, thus this kind of cable doesn't give you the results you want in a big box Amiga.
2 and 34 swapped: quick hack to get PC compatible drives working in an Amiga. Swaps disk change and density select around. You'll be missing a ready signal, so some track loaders will not work.
How the PC and the Amiga control the drive motors
For a long time I promised to eventually write about the differences in motor control between a PC and an Amiga, so here it finally is, 7 years after I said I'd write it down. :-D
In a PC floppy connector, you have two drive selects and two motor control signals. All drives are set to DS1. The 10-16 twist in the cable handily flips around both the drive select and the motor control signal for the second drive.
The floppy controller individually toggles the motor on and off for either drive.
In an Amiga there are four drive selects and one motor control signal at the even CIA chip.
That was the easy part. Now it becomes difficult. For the sake of brevity, this explanation is not 100% accurate for every Amiga model. You'll have to read the schematics of the model you're interested in to get the absolute truth. If your machine doesn't have a Gary or a Gayle, there will be discrete logic to do the equivalent.
The motor signal and sel0 from the CIA are fed into Gary/Gayle, from which the motor signal comes out at two separate pins as an internal motor control and an external motor control signal.
The external motor control is connected to the external floppy connector, and it is active whenever motor control is enabled at the CIA. Gary/Gayle acts as a signal buffer here to drive the long daisy chain of external drives.
Every external drive has a 7474 flip flop for storing the motor state. When the drive select for that drive + the external motor control is enabled, this flip flop remembers the motor state and keeps that external drive spinning until that drive is selected again without the motor control enabled. There is another chip in the external drive to provide an ID bit stream at the ready signal, which the Amiga uses to detect the external drive's presence.
Now we go back to the Gary/Gayle and examine the internal motor control signal. Here Gary/Gayle actually performs the 7474 flipflop's task and latches the internal motor control when select 0 and motor control is enabled at the CIA.
The internal floppy connector has one pin for motor control, and the internal motor control signal is routed to this pin. All internal drives will run simultaneously, if they have a floppy inside them, whenever either internal drive needs to be spun. The internal connector always has drive select 0 available. In big box Amigas and at least the A1200, select 1 is also present. However this doesn't mean that wedge Amigas like the A1200 will natively support a second internal drive, the logic for motor control + ready ID pulse is not there.
Now for a big box Amiga with an internal DF1, this separate 7474 flip flop circuit actually exists on the motherboard, but the input signals are this time drive select 1 as expected, and the raw motor signal from the CIA as you didn't expect. The functionality is the same as inside an external drive, but the motor control state is fed to the internal floppy controller's only motor control pin. Like I said before, both internal drives run whenever either drive needs to run.
The ready ID bit stream circuit for an internal DF1 gets enabled when you close the DF1 enable or DF1 DD jumper on your big box machine's motherboard.
The A4000 doesn't have a monster gate array like Gary/Gayle, so both the internal DF0 and DF1 drives have the discrete 7474 flip flop circuit for latching their motor signals. A1000 and A2000A probably work in a similar fashion, but I haven't checked the schematics for those.
And finally, you were wondering how DF0 can be detected when I didn't mention that anything would generate its ready signal ID bit stream. As far as I know, trackdisk.device just assumes that DF0 is always there. If you have one of the special Amiga compatible HD drives, it generates its own ready pulse, which trackdisk.device detects and configures DF0 as HD.
Last edited by Jope; 25 May 2014 at 19:42.
|31 March 2006, 06:45||#4|
§ane's ADF Sender tutorial (could someone provide me with the current links? Paul: Fixed links & copied to FAQ)
1. Any amiga with a serial port and a copy of Workbench.
2. A PC with a terminal proggie such as "ADF Sender Terminal".
3. Null-modem serial cable (or LapLink cable).
Set the Serial preferences as follows..
Baud Rate = 19200
Buffer Size = 4096
Read Bits = 8
Write Bits = 8
Stop Bits = 1
Parity = None
Handshaking = RTS/CTS
The transfer is most reliable at 19200 bps, any higher and the data sent may be more or less than expected.
Install ADF Sender Terminal and configure the serial preferences to match the Amiga's, then open the Comm port.
PC ADF -> Amiga DF0:
transdisk -w ser: -d trackdisk 0
PC: [ADF Sender Terminal]
Press Send and select the ADF you wish to transfer to the floppy disk in drive DF0:
Amiga DF0: -> PC ADF
PC: [ADF Sender Terminal]
Enter the size of the destination file, for every track it's 11264 bytes, so tracks 0 through 79 is (11264 * 80) 901120 bytes, then click on Receive.
transdisk >ser: -d trackdisk 0
Both scenarios should return to the command line after the transfer completes, if either stops short then you should consider lowering the Baud Rate. Although i have been able to transfer at 115200 bps without errors using Transwarp in place of Transdisk.
If you don't possess Transdisk/warp and or have no way of getting it over to your amiga, refer to this page.
Last edited by Paul; 31 March 2006 at 11:34. Reason: Fixed your broken links
|16 March 2009, 13:56||#5|
How to use WinUAE to set up your large HD for Amiga use by Thomas.
complete step-by-step guide how to install a big Amiga HDD using Amiga Forever on the PC which I dont want to hold back.
Amiga Forever version 6 or above is needed. Here it goes:
Run WinUAE with the -disableharddrivesafetycheck command line option.
Start the Amiga Forever 3.X configuration. Press F12 and change ROM from 3.X (Cloanto) to 3.1 (A1200) and Chipset from Generic to A1200.
Go to Hard Drives, click on Add Harddrive, choose the HDD you want to install, change Controller from UAE to IDE0, check read/write and click on Add Harddrive.
Click on Reset.
Open System / Tools / HDToolbox. It should list your HDD as 7.8G. Leave HDToolbox.
Create a new directory on the Work partition called Download.
Run AWeb and download the following files into the Download directory:
from http://os.amigaworld.de -> AmigaOS 3.1 -> Downloads:
from http://strohmayer.org/ :
from http://www.aminet.net :
Save all files into the Work:Download directory.
Open a shell window and enter the following commands:
1> cd work:download 1> lha x #? LhA Freeware Version 2.2 Copyright © 1991-94 by Stefan Boberg. Copyright © 1998-2000 by Jim Cooper and David Tritscher. Extracting from archive 'LoadModule.lha': Extracting: ( 2140/ 2140) LoadModule/ExtractModule Extracting: ( 6920/ 6920) LoadModule/LoadModule Extracting: ( 12726/ 12726) LoadModule/LoadModule.readme 3 files extracted, all files OK. Extracting from archive 'patchstrip.lha': Extracting: ( 41924/ 41924) patchstrip Extracting: ( 2349/ 2349) patchstrip.doc 2 files extracted, all files OK. Extracting from archive 'SFS_1.279_68k.lha': Extracting: ( 97984/ 97984) L/SmartFilesystem 1 file extracted, all files OK. Extracting from archive 'unz542xA.lha': Extracting: ( 5305/ 5305) CONTENTS Extracting: ( 10856/ 10856) COPYING Extracting: ( 19724/ 19724) fUnZip Extracting: ( 3901/ 3901) funzip.doc Extracting: ( 8632/ 8632) MakeSFX Extracting: ( 11707/ 11707) README Extracting: ( 9496/ 9496) README.AMI Extracting: ( 4385/ 4385) timezone.doc Extracting: ( 98988/ 98988) UnZip Extracting: ( 46671/ 46671) unzip.doc Extracting: ( 27220/ 27220) UnZipSFX Extracting: ( 13644/ 13644) unzipsfx.doc Extracting: ( 19075/ 19075) WHERE Extracting: ( 3537/ 3537) zipgrep.doc Extracting: ( 23884/ 23884) zipinfo.doc 15 files extracted, all files OK. Operation successful. 1> unzip SCSI_IDE_43_24 Archive: SCSI_IDE_43_24.zip creating: SCSI_IDE_43_24/ inflating: SCSI_IDE_43_24/.DS_Store creating: __MACOSX/ creating: __MACOSX/SCSI_IDE_43_24/ inflating: __MACOSX/SCSI_IDE_43_24/._.DS_Store inflating: SCSI_IDE_43_24/a1000.ld.strip inflating: SCSI_IDE_43_24/a300.ld.strip inflating: SCSI_IDE_43_24/a4000t.ld.strip inflating: SCSI_IDE_43_24/a600.ld.strip inflating: SCSI_IDE_43_24/DISCLAIMER inflating: SCSI_IDE_43_24/LoadV43Module inflating: SCSI_IDE_43_24/PRELIMINARY inflating: SCSI_IDE_43_24/README inflating: SCSI_IDE_43_24/README.FIRST inflating: SCSI_IDE_43_24/scsidisk.ld.strip 1> patchstrip SCSI_IDE_43_24/a300.ld.strip scsi.device Working................. Writing patched file to scsi.device...Patch successful. 1>
1> loadmodule/loadmodule scsi.device
Now run HDToolbox again. This time it should list the HDD with its full capacity (something like 55.8G).
Select it, initialize it and partition it. Select Default Setup -> 3. Reduce the first partition to 500 MB, the second one to 3.5 GB and use all the rest for the third partition.
Now click on Add/Update. Select FastFileSystem and click on Delete File System. Then click on Add New File System and select Work:Download/L/SmartFilesystem. Change the identifier to 0x53465300 and click on Ok.
Now select the first partition and click on Change. Change File System to SFS\00 and Block size to 512. Check that MaxTransfer is 0x1fe00.
Click on Ok and repeat the same procedure for each partition.
Finally check that the first partition has the Bootable checkbox enabled and change its boot prio to -1 so that WinUAE keeps booting from the Amiga Forever partition.
Now click on Save and reboot.
After the reboot three ghosted icons should appear on the desktop. Select one at a time and select "Format Disk" from the menu. Give it a name and click on Quick.
Now it's time to install the operating system. I suppose that you want to install 3.1, therefore press F12, go to Floppy drives, enable all four drives and insert the Install, Locale, Workbench and Extras into DF0, DF1, DF2 and DF3. Make sure that all drives have the write protect box checked. Change floppy speed to turbo. Then click on Reset.
When Workbench 3.1 has loaded, open Install3.1, Install and your preferred language.
When asked for your skill, do *not* select Novice. Use Intermediate or Expert User.
When asked where to install, select the new boot parititon. Do *not* confirm to install to the Amiga Forever boot partition or the Install 3.1 disk!
When it asks for the Fonts disk, press F12 and put the Fonts disk into DF2 and the Storage disk into DF3.
When installation is finished, before you reboot, press F12 and remove the Amiga Forever boot partition from the Hard Drives list. Do not remove the Work partition, we still need the downloaded files. But change the properties of the Work partition and every other HDD to not bootable.
Go to the Floppies page and eject all four drives. Then return to the installer and click on Continue. It should reboot and load the newly installed OS. If it boots from another disk (i.e. you only see an empty DOS window), check the HDD list that no HDD has a higher boot prio than -1. Or boot from Amiga Forever again and check with HDToolbox that you really made the right partition bootable.
If everything went right, you can now open a Shell window and enter these commands:
1> cd work:download 1> copy scsi.device devs: 1> copy loadmodule/LoadModule c: 1> ed s:startup-sequence
That's all. Time to test. Press F12 and click on Restart. Go to the hard drives page and remove every HDD exept the newly installed one. Then click on start.
It should boot into the Workbench dektop and show all three partitions as readable.
Open a Shell window and enter
1> version UDH0: SmartFilesystem 1.279
I hope this helps somebody.
Last edited by Jope; 16 March 2009 at 20:16.
|16 June 2009, 14:49||#6|
Join Date: Jan 2004
IDE & Max Transfer
I was replying to someone over at Amiga.org about MAX TRANSFER settings for IDE controllers (such as A1200/A600 Gayle IDE) giving them the standard "try 0x1FE00 and if that doesnt work try 0xFE00".
While writing I accidentally worked out the logical reason behind these "Magic numbers".
I noticed that "0x1FE00" is 255 * 512, and that 255 is the largest value that can be represented by 8-bits. So by using "0x1FE00" it prevents the driver (scsi.device) creating malformed IDE commands with sector counts larger than 8-bit.
I am positive this is the logical answer as to why MAX TRANSFER should be "0x1FE00" for IDE devices.
Now while the IDE (ATA5 and lower) command set supports an 8-bit sector count, very few operating systems use the maximum value. Windows (and most other operating systems) tend to use 64 or 128 sector commands. I know this because I discovered at work several years ago that PATA hard drives have their cache optimised for 64 sectors while SATA were optimised for 128 sector commands.
Back to the plot:
The second magic number touted for MAX transfer "0xFE00" is 127 * 512. I am not sure exactly why this value would be more compatible than 0x1FE00, but I imagine it has to do with the fact poor quality IDE devices do not expect sector counts above 128 sectors.
You pretty much guarantee "sector count" compatibility with any IDE device with 0xFE00 and I cannot believe that it is slower.
Anyhow, hope that has explained things, rather than confused things.
Last edited by Jope; 04 December 2010 at 10:16.
|05 September 2010, 20:41||#7|
How to connect an A500 keyboard controller to the rev1 A1200 motherboards.
A500 -> A1200 motherboard
CLK kbd (pin 1) -> pin 44 CIA U7
DAT kbd (pin 2) -> pin 43 CIA U7
RST kbd (pin 3) -> pin 38 keyboard MCU U13
+5 kbd (pin 4) -> anywhere where there's a Vcc pin on the motherboard. I took it from the keyboard MCU pin 4, but you could steal it from the floppy drive power connector or directly from the power supply connector or where-ever.
GND kbd (pin 6) -> same as pin 4, take it from the floppy connector or where-ever. I actually took the GND and LED pins out of the keyboard molex connector and plugged then directly into the motherboard LED header, wrapped some duct tape around them for insulation and rode into the sunset.
If you only get ''''s when you type, then you have CLK and DAT swapped around at U7. Desolder, resolder, try it again.
The following taken from A1200exkb.lha, but with CLK and DAT changed around to reflect real life: (if you only look at that lha and nothing else, it doesn't matter as the signals are swapped consistently in that document. if you cross reference, then it becomes a pain, so I will post them correctly here.)
A500: Ribbon out (usually rainbow) Black=1...Purple=8 |||||||| +---------------------------------------+ | Pin 1->........<-Pin 8 | | |||| | XX<--Shield Gnd. | A500 |||| \Gnd | | Keyboard |||\+5v [===]<--Power LED | Encoder ||\_KBReset | | |\KBDat [===]<--Drive LED | +-----------+ \KBClk | Ribbon Socket---->|...........| | +---------------------------------------+
||||||||||| -+-----------+- -| |- -| |- -| 8520PL |- -| |- -| U7 |- -| |- -| |- -| |- -| ^ |- -+-----------+- ||||||||||| || | \KBClk (Solder wire here) | \KBDat (Solder wire here)
NOTE: I suggest you don't desolder the clk and dat legs of U13 unless necessary! If you don't get anything when you type and you've double checked everything else, then consider unsoldering and lifting up those two legs. ||||||||||| -+-----------+- -| |- -| |- -| Keyboard |---KBClk (you may need to desolder + bend up) -| Micro. |---KBDat (you may need to desolder + bend up) -| |- -| U13 |- -| |- -| |- /---| ^ |- | -+-----------+- | ||||||||||| | \_KBReset (Solder wire here)
The rev 2B keyboard connector is not 100% A500 compatible. The clk, dat and reset signals are in the right place, but Vcc and GND are not. Also, the pin strip only has seven pins where the A500 keyboard has eight.
Here's what you hook up:
1.......7 ||| || ||| |\GND ||| \Vcc ||\_KBRESET |\DAT \CLK
Note, _RESET is the system reset signal, you want to keep Gayle in charge and use _KBRESET. Similarly, on the A500, Gary is in charge of making a _RESET out of _KBRESET.
Here's a picture:
Last edited by Jope; 20 December 2011 at 15:34.
|30 August 2013, 12:13||#8|
There has been a lot of discussion about using Sega Megadrive/Genesis pads on the Amiga.
It seems the Paula pin servicing the controller port pin 5 can handle the current drawn from it, since it's designed to handle being shorted to ground by a middle mousebutton. Unmodified pads shouldn't burn anything in the Amiga.
Don't connect them to a C-64 without doing the 5<->7 swap. The circuit is different in those.
The following is recorded here for completeness' sake, make of it what you will.
Many people have noticed that they seem to work just fine unmodified and have no second thoughts about it.
However you should be aware that there are a few things to understand and after that you can make the decision whether to keep on using the unmodified pad, or to do something about it.
The difference is that on atari sticks the +5V supply is on pin 7, and on the megadrive, pin 7 is a signal pin instead.
So why you shouldn't just plug in a megadrive pad into an Amiga unmodified? If the POTGO register has been configured to set pin 5 of the joystick port as an output with the value 1, you are driving the megadrive pad's power supply from a signal pin and you might fry the signal driver in your Paula.
To be safe, you should either make an adapter that passes all other pins through but crosses 5 and 7, or modify the megadrive pad itself, by desoldering these two wires from the circuit board and reconnecting them in each other's place.
This goes the other way if you have a USB -> Megadrive pad adapter and connect an Atari joystick to it, you're driving the Joystick's autofire circuit's Vcc with the megadrive adapter's pad duplex select signal instead of an actual power supply line (which would be on pin 5 for the megadrive).
Sure, it might work forever if you're lucky, but then again it might burn out the driver for that signal at the controller chip inside the USB adapter if you're unlucky. Then you can't use megadrive pads with the adapter any more.
Last edited by Jope; 08 December 2014 at 19:44.
|Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)|
|Thread||Thread Starter||Forum||Replies||Last Post|
|Pc 2 Amiga problems!||arendal||support.Hardware||42||02 July 2012 15:53|
|Personal project: EEEPC, Gamebase and WINAUE: problems problems||butter100fly||project.MAGE||15||09 August 2009 10:51|
|PC-Amiga Problems||spacedboy50||Retrogaming General Discussion||6||12 January 2007 14:50|
|GUI refresh problems + OpenGL Speed Problems in 0.821r4||Danny Bacon||support.WinUAE||1||07 June 2002 18:57|
|Amiga Mouse Problems||Hicks28x||support.Hardware||1||06 April 2002 22:47|