Minimig NTSC
I think the first thing to do is to change the master clock (mclk) crystal from 4.433619MHz PAL crystal to 3.579545MHz NTSC.
These crystals are standard very common, should be easy to source.
The next thing to do is change the FPGA DCM (Digital Clock Module) which is a feature of the FPGA which can create clocks with zero skew.
If you look in minimig1.v (the top level) you can see where the DCM is instantiated and thanks to Dennis's great comments you can see that all the clocks are derived from a 28MHz clock (c_28). The DCM generates this 28MHz clock by multiplying mclk by 32 and then dividing by 5.
Now that we've changed mclk to 3.579545MHz we need to change the DCM so that it generates it by multiplying by 8.
Nothing needs to change in the file minimig1.v except the comments
Next you have to change the DCM parameters to make it multiply by 8. The Xilinx FPGA Webpack has a GUI tool called Xilinx Architecture Wizard to do this but you can sort of get the idea if you look at the clock_dmc.v file.
You can see that you need to change the multiplier from 32 to 8 and the divider to 1. (Use the GUI in case other values need to change)
These changes alone are not be enough.
You need to change some constants (horbeam and verbeam comparisons) in agnus.v for NTSC timing. Perhaps some other register values also.
If you look in agnus.v for the module "beamcounter" this is where the constants are encoded.
Again Dennis's brilliant comments make it relatively easy to change the constants. Bear in mind when changing the constants that the clk frequency is no 7.15909MHz
The first thing is the SOF (Start of Frame) signals.
In PAL they are on lines 312 & 313, and in NTSC they are on 262 and 263.
So I think this change would be required.
//generate start of frame signal always @(verbeam or lof or sol)
if((verbeam==261) && !lof && sol)//end of short frame sof=1; else if((verbeam==262) && lof && sol)//end of long frame sof=1; else sof=0;
How did the later Amigas support both NTSC & PAL?
ECS added beamcon0 bit 5 to toggle between PAL and NTSC preprogrammed modes. See BEAMCON0 bit 5 (PAL).