Amiga.org

Amiga computer related discussion => Amiga Hardware Issues and discussion => Topic started by: alexh on July 27, 2007, 02:39:28 PM

Title: NTSC MiniMig
Post by: alexh on July 27, 2007, 02:39:28 PM
Even though I live in the UK and dont care about an NTSC MiniMig I thought that I would look into what would need to be done.

I have to say that I am not 100% upto speed on the guts of either the Amiga hardware OR MiniMig but I thought that I would have a go and perhaps Dennis would read and help correct a few things.

I think the first thing to do is to change the master clock (mclk) crystal from a 4.433619MHz PAL crystal to a 3.579545MHz NTSC one.

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

Code: [Select]

//Master clock generator for minimig
//This module generates all necessary clock from the 3.579545 NTSC clock
module clock_generator(mclk,c_28m,c_7m,cq_7m,e);
input mclk; //3.579545 MHz master oscillator input
output c_28m; //28.63636 MHz clock out
output c_7m; //7.15909  MHz clock out
output cq_7m; //7.15909  MHz qudrature clock out
output e;   //0.715909  MHz clock enable out

reg ic_14m; //14.31818 MHz intermediate frequency
reg ic_7m;
reg icq_7m;

reg [3:0]ediv; //used to generate e clock enable

// Instantiate the DCM module
// the DCM is configured to generator c_28m from mclk (multiply by 8)
clock_dcm dcm1(
    .CLKIN_IN(mclk),
    .RST_IN(1'b0),
    .CLKFX_OUT(c_28m),
    .CLKIN_IBUFG_OUT(),
    .LOCKED_OUT()
    );

//generator ic_14m
always @(posedge c_28m)
ic_14m<=~ic_14m;

//generate ic_7m
always @(posedge ic_14m)
ic_7m<=~ic_7m;

//generate icq_7m
always @(negedge ic_14m)
icq_7m<=ic_7m;

//generate e
always @(posedge c_7m)
if(e)
ediv<=9;
else
ediv<=ediv-1;
assign e=(ediv==4'b0000)?1:0;


//clock buffers
BUFG buf1 ( .I(ic_7m),
               .O(c_7m) );
BUFG buf2 ( .I(icq_7m),
               .O(cq_7m));

endmodule
[/font]

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

I'll research the values and post the *suggested* changes here later.
Title: Re: NTSC MiniMig
Post by: alexh on July 27, 2007, 02:49:59 PM
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.

Code: [Select]
//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;
[/font]
Title: Re: NTSC MiniMig
Post by: jkonstan on July 27, 2007, 03:08:30 PM
Nice work Alex.

I looked at Spartan3 DCM on another project a few months ago.
It is pretty flexible. Since I am in the USA and have NTSC Amiga software, I look foward to getting an NTSC MiniMIG working ....


 :-)
Title: Re: NTSC MiniMig
Post by: Hans_ on July 27, 2007, 04:26:00 PM
How did the later Amigas support both NTSC & PAL? It would be nice if both were supported within one unit.

Hans
Title: Re: NTSC MiniMig
Post by: Piru on July 27, 2007, 04:30:51 PM
Quote
How did the later Amigas support both NTSC & PAL?

Only the video output changes, so they don't actually support the other system 100%.

ECS added beamcon0 bit 5 to toggle between PAL and NTSC preprogrammed modes. See BEAMCON0 (http://www.winnicki.net/amiga/memmap/BEAMCON0.html) bit 5 (PAL).
Title: Re: NTSC MiniMig
Post by: freqmax on July 27, 2007, 05:18:19 PM
If the only physical change is to swap the crystal. Maybe a change should be incorperated such that both clock sources (pal=4.433619 ntsc=3.579545) are available to the fpga..?

That way changes between pal/ntsc is just software and no soldering iron fixing.

The clock circuit is quite simple:
IC8 74HC40670
C54 100nF
R55 1Mohm
R54 2.2kohm
C48 100pF
X1 Crystal 4.433619 or 3.579545 MHz
C47 22pF

Just duplicate it and wire up another pin on the fpga besides Pin 80.
It might also be useful if the MCU could provide the pcb version such that the verilog sources can reconfigured at runtime. (or some serial i2c-eeprom).
Title: Re: NTSC MiniMig
Post by: amigadave on July 27, 2007, 05:53:54 PM
Having Minimig PCB's manufactured to allow both PAL & NTSC with just a software switch would be best from the beginning and make them easier to sell worldwide.  I hope this is considered when redesigning for the first production run, which appears to have enough interest for 100+ units just from the replies here on Amiga.org.
Title: Re: NTSC MiniMig
Post by: narmi on July 27, 2007, 06:10:05 PM
An NTSC/PAL switchable version would also provide the maximum compatibility with software, some of which is specifically targeted to one standard or the other.

A RGB to S-Video/composite encoder onboard could also be added, like the one I posted on the EAB (http://eab.abime.net/showthread.php?t=30752).  It can do both NTSC and PAL. ;)
Title: Re: NTSC MiniMig
Post by: alexh on July 27, 2007, 06:15:19 PM
@narmi & amigadave

Wrong thread ;-) You need : http://www.amiga.org/forums/showthread.php?t=30516

Lets keep this thread a technical discussion about changes to MiniMig to support NTSC (refresh rates & timing).

Quote
Hans_ wrote:
How did the later Amigas support both NTSC & PAL?

I am not sure. I know that it was more than changing the video timing, when you select 60Hz (NTSC) the Amiga bus clock changes too. Very noticable as some music playback routines go faster etc. A trick in 3D games was to select NTSC to make them go faster. (Less area to render AND a faster albeit slightly CPU)

I need to do some more research about how the PAL Amiga generates it's clocks, I wonder if it had some DLL which allowed it to change clocks... if so that would be good for us to know which crystal and multiplier settings to use.
Title: Re: NTSC MiniMig
Post by: Piru on July 27, 2007, 06:22:48 PM
@alexh

Actually, I'm pretty sure that "real" PAL machines when toggled to NTSC don't actually change the frequency of the CPU or CIAs. Think about it: You can toggle between PAL and NTSC realtime. If the full system clocking would change when you do, any running timers would run too fast or slow, depending on which screenmode is visible.

Clearly this is not the case.

Real NTSC machines run at slightly higher CPU and CIA clock, indeed, but IMO this is unrelated to the display mode (they will continue to run faster even when displaying PAL screen).
Title: Re: NTSC MiniMig
Post by: freqmax on July 27, 2007, 06:23:47 PM
What about this, let's have the S-video encoder pcb solder pads on the board. And those that want it can simply solder the circuits. The extra space should be neglible.

Alternativly if a breakout board is made for flatcable stuff. One can put it on the breakout board.

Hmm.. maybe DB23M can be recreated with pins and epoxy ;)
Just plug loose connectors to pins in an existing db23 and swipe with oil/grease. Then pour epoxy over it  :-)
Title: Re: NTSC MiniMig
Post by: alexh on July 27, 2007, 06:32:21 PM
Quote

Piru wrote:
I'm pretty sure that "real" PAL machines when toggled to NTSC don't actually change the frequency of the CPU or CIAs.

No?

Quote
Think about it: You can toggle between PAL and NTSC realtime. If the full system clocking would change when you do, any running timers would run too fast or slow, depending on which screenmode is visible.

And I thought they did. Hence why the music (on some replay routines) is faster in NTSC than PAL.

However it may just be that they use the VBL interrupt to time music playback which will make the music faster?

I'd like to know for sure.
Title: Re: NTSC MiniMig
Post by: Piru on July 27, 2007, 06:39:12 PM
@alexh
Quote
And I thought they did. Hence why the music (on some replay routines) is faster in NTSC than PAL.

However it may just be that they use the VBL interrupt to time music playback which will make the music faster?

Yeah, that's it. It indeed happens because these routines are tied to vertical blank frequency (50Hz for PAL, 60Hz for NTSC). Player-routines which use CIA timers do not have this problem, they continue playback exactly the same speed, regardless of the screenmode.

Think about it, if CIA timers would change speed depending on the screenmode, the system clock would run too slow/fast, too, causing the clock to drift. That'd be unacceptable.
Title: Re: NTSC MiniMig
Post by: persia on July 27, 2007, 06:40:57 PM
Given that all televisions and monitors available nowadays are by default multisystem does this matter?  In the old days mutisystem tubes were complicated, but who needs (or wants) some boat anchor with a tube in it?
Title: Re: NTSC MiniMig
Post by: alexh on July 27, 2007, 06:46:16 PM
1) If MiniMig doesnt do NTSC timings, then it wont work on American TV's. This point is a little moot because V1.0 of the PCB has no video encoder only RGB output and with no RGB TV's in the USA it doesnt matter anyhow.

2) Most PC LCD monitors will not function below 56Hz which means unless the PAL version of MiniMig can be made to do 60Hz it wont work on PC VGA LCD monitors.
Title: Re: NTSC MiniMig
Post by: persia on July 27, 2007, 06:51:25 PM
Nonsense I have an Aussie DVD player (PAL) hooked up to an American TV (from Costco) and it works fine.
Title: Re: NTSC MiniMig
Post by: Hans_ on July 27, 2007, 07:44:39 PM
Quote

persia wrote:
Given that all televisions and monitors available nowadays are by default multisystem does this matter?  In the old days mutisystem tubes were complicated, but who needs (or wants) some boat anchor with a tube in it?


Some games were NTSC only, others were PAL only. PAL screens have slightly higher vertical resolution than NTSC. If you want to play games they way that they were originally indended, supporting both is best.

Hans
Title: Re: NTSC MiniMig
Post by: Hans_ on July 27, 2007, 07:51:07 PM
Quote

narmi wrote:
A RGB to S-Video/composite encoder onboard could also be added, like the one I posted on the EAB (http://eab.abime.net/showthread.php?t=30752).  It can do both NTSC and PAL. ;)


That's a good idea. S-Video gives much better quality than composite. Having both expands options.

@Piru

So extending MiniMig to the ECS chipset is what's required. Any hardware changes that you can think of? It sounds like this could be added with just Verilog code.

Hans
Title: Re: NTSC MiniMig
Post by: Dennis on July 27, 2007, 08:51:59 PM
Quote
have to say that I am not 100% upto speed on the guts of either the Amiga hardware OR MiniMig but I thought that I would have a go and perhaps Dennis would read and help correct a few things.

You're quite right.  :-)
the mclk has to be changed to the NTSC color frequency (and the DCM reprogrammed) and you'll have to make the frames shorter by changing the verbeam compares. But, if I look in the hardware reference manual (page 18, copper), it states that on NTSC machines, the horizontal lines are not all 227 color clocks long. (on Minimig that means 454 bus clocks) Every other line is a long line (228 clocks) from the system's point of view. The display/tv however sees only 227.5 clock lines. So, you will have to do some stuff with the horbeam compares and horizontal sync generator too. That should be all though.

Dennis
Title: Re: NTSC MiniMig
Post by: Dennis on July 27, 2007, 08:57:09 PM
Quote
If the only physical change is to swap the crystal. Maybe a change should be incorperated such that both clock sources (pal=4.433619 ntsc=3.579545) are available to the fpga..?

It should be possible to generate both clocks from a single 20Mhz or 50Mhz source. (20Mhz would be better) Someone on the old minimig thread suggested a possible setting of the DCM to do just that; generate all PAL clocks from a single 50Mhz clock using the DCM. If I recall, he was only a couple of ppm off, which should be good enough. You could de the same for NTSC, hence all could be done in software/verilog.

Dennis
Title: Re: NTSC MiniMig
Post by: freqmax on July 27, 2007, 09:25:36 PM
I have created a Minimig wiki:
http://www.opencircuits.com/Minimig_NTSC - NTSC Issues
http://www.opencircuits.com/Minimig_Project

My hope is that it will help people to accumulate knowledge in this matter such that one doesn't have to read long.. threads to find information.
Especially now that there are several.

No login required, works almost like wikipedia.
Title: Re: NTSC MiniMig
Post by: Piru on October 30, 2007, 03:26:12 PM
@freqmax

So does this mean I can remove the obviously wrong quote from alexh? (about system running at different speed when you toggle between PAL/NTSC display modes.. Amiga bus clock does NOT change, nor the CPU clock)

Some music players run at different speed because they're timed to the vertical blanking frequency, and not CIA timers (vertical blank rate is 50Hz for PAL and 60Hz for NTSC, CIA timer speed remains the same regardless of the display mode. PAL and NTSC systems do have different system base clocks and thus different CIA clocks. The system base clock - and thus the CIA base clock - do not change depending on the screenmode). The only speed gain in 3D games from NTSC is the smaller area to render.

*edit*

Now that I think about it, what MiniMig probably wants is the full deal: Changing the base clock aswell (that is really change between PAL and NTSC, not just the display mode). However, this cannot be done runtime (restart is needed).
Title: Re: NTSC MiniMig
Post by: JosephC on October 30, 2007, 04:21:46 PM
All that is needed is a Fat Agnus (ECS AGNUS).

All ECS A500s and A600s can switch between PAL and NTSC at will.  Any program can flip a single bit to flip from one to the other.

So just implement ECS Agnus in the FPGA and all your problems are gone.
Title: Re: NTSC MiniMig
Post by: little on October 30, 2007, 04:33:34 PM
@piru

Changing the base clock by restarting can also be useful for overclocking the minimig, if I remember correctly 28mhz is achivable with a real 68000 and 14mhz with a software core.
Title: Re: NTSC MiniMig
Post by: Crom00 on October 30, 2007, 04:59:13 PM

Don't have a Mini-MIG to test on US LCD/CRT monitors yet. Will advise further once I get ours finished and can execute some tests.

Anyone out there with the expertise to revise the current Mini-MIG spec to a NTSC/PAL switchable version?




Title: Re: NTSC MiniMig
Post by: JosephC on October 30, 2007, 05:16:43 PM
My first OCS A500 from 1987 was permanently stuck in NTSC mode.  Then one day in late 1988 or 1989 A500s started quietly shipping with "Fat Agnus" chips.  Soon afterwards, the Fat Agnus chips went on sale separately and you could put out your old Crap Agnus and replace it with the new Fat Agnus.  Then your Amiga suddenly became able to boot into either PAL or NTSC or even to switch in real time while running.

I used to switch out Agnusi back in the day for lots of friends.

So we just need to switch out the lame OCS Agnus in the Minimig with a shiny new ECS Agnus.

  And while you are at it, go ahead and make it a SuperFat Agnus(tm) that can address 8 MB of chipram so the tremendously expensive cost of the minimig might be justified.

Problem solved.
Title: Re: NTSC MiniMig
Post by: little on October 30, 2007, 05:22:32 PM
Quote

JosephC wrote:
And while you are at it, go ahead and make it a SuperFat Agnus(tm)

Super Fat Agnus (http://en.wikipedia.org/wiki/MOS_Technology_Agnus) is the name given to the 2MB non aga Agnus. I think Ultra Fat Agnus is in order for an 8mb version :-D

Title: Re: NTSC MiniMig
Post by: little on October 30, 2007, 05:29:18 PM
Quote

persia wrote:
Nonsense I have an Aussie DVD player (PAL) hooked up to an American TV (from Costco) and it works fine.

NTSC tv sets built five years ago or newer can display PAL signals, but that does not mean that all NTSC tv sets can display PAL, quite the opposite.
Title: Re: NTSC MiniMig
Post by: leirbag28 on October 30, 2007, 06:21:49 PM
@piru


I am 1000% sure that games DEFINITELY run faster in NTSC mode............Positive! not just 3D games............platformers too.

Or perhaps its not that its running faster but normal.............and just slows down in PAL mode. Nevertheless the games run faster in speed in NTSC mode............sometimes too fast that the screen gets corrupted...............for intance Project X if run on NTSC on an A600 runs faster but gets all corrupted............take it to an A4000 and it can handle the speed upgrade and runs fine in NTSC mode but faster and smoother. ITs as if a heavy burden is lifted when the extra lines in PAL are eliminated when you put it in NTSC mode.

Same with LionHeart.   However games that were intended for PAL run better in PAL than NTSC even though the NTSC one is faster but gets corrupted.  Batman the Movie aslo runs faster in NTSC as well as GODS.

My guess however that this is only on an NTSC machine. If you ran PAL version of GODS on a PAL machine and an NTSC version of GODS on an NTSC machine, both would run the same and the music would be the same as intended by the authors.

I usually try to run my games in NTSC because I am in USA and because it runs faster.
Title: Re: NTSC MiniMig
Post by: alexh on October 30, 2007, 07:06:30 PM
Quote

Piru wrote:
So does this mean I can remove the obviously wrong quote from alexh? (about system running at different speed when you toggle between PAL/NTSC display modes.. Amiga bus clock does NOT change, nor the CPU clock)

From what I can tell, and what Dennis has said yes. A PAL Amiga running in NTSC mode doesnt change the bus clock speed.

Quote
Some music players run at different speed because they're timed to the vertical blanking frequency, and not CIA timers (vertical blank rate is 50Hz for PAL and 60Hz for NTSC, CIA timer speed remains the same regardless of the display mode.

That's what I concluded. There are fewer lines and a faster frequency and hence a shorter VBL period.

Quote
PAL and NTSC systems do have different system base clocks and thus different CIA clocks. The system base clock - and thus the CIA base clock - do not change depending on the screenmode). The only speed gain in 3D games from NTSC is the smaller area to render.

Yes. I think a true NTSC Amiga will have a faster bus/CPU clock than it's PAL rival, but it is so small, would it have  made a difference? The Atari ST people always used to shout about their 8MHz vs our 7.09MHz (PAL)

Quote
Now that I think about it, what MiniMig probably wants is the full deal: Changing the base clock aswell (that is really change between PAL and NTSC, not just the display mode). However, this cannot be done runtime (restart is needed).

Maybe, but I would imagine an ECS PAL Amiga at 60Hz to be more compatible than an NTSC Amiga at 60Hz? But there may be nothing in it.
Title: Re: NTSC MiniMig
Post by: Piru on October 30, 2007, 07:12:40 PM
@alexh

Quote
I think an NTSC Amiga will have a faster bus/CPU clock than it's PAL rival, but it is so small.

Yes. However, PAL system displaying NTSC screen doesn't have this benefit.
Title: Re: NTSC MiniMig
Post by: freqmax on October 31, 2007, 12:26:23 AM
@Piru:
Actually you can use two DCM's to have both PAL & NTSC timing (SECAM?:-).).
There are four DCMs asfair in XC3S400 true also for XC3S500E btw. So with both signals available at runtime you could implement an OSD switch if you like.
I have also figured out how to change fpga core on the fly with the existing hardware design.
Title: Re: NTSC MiniMig
Post by: Piru on October 31, 2007, 12:32:15 AM
@freqmax

The problem is that the CIA base frequency is determined at a very early stage during the system boot. This means that if you change the timing runtime the CIAs will run either too fast or slow.
Title: Re: NTSC MiniMig
Post by: Doobrey on October 31, 2007, 01:07:53 AM
IIRC, it's only timer.device that needs to know what frequency the CIAs are run at
So you could have a little app writes to a register in the FPGA to select the master clock, and then poke in the PAL or NTSC values for TD_ECLOCKHERTZ,TD_ECLOCKCONST1,TD_ECLOCKCONST2 to switch modes without rebooting.
Title: Re: NTSC MiniMig
Post by: Piru on October 31, 2007, 01:18:17 AM
@Doobrey

That still would not work. Any app can get the eclockfrequency and store it locally. There is no way to patch these. And how about some currently running CIA timer? Would you just make this timer run too fast/slow?
Title: Re: NTSC MiniMig
Post by: nBit7 on October 31, 2007, 01:44:10 AM
Quote
I am 1000% sure that games DEFINITELY run faster in NTSC mode............Positive! not just 3D games............platformers too.


Thats because they derive there timing from the VBL.  timing graphics movement to the screen refresh means you get nice fluid movement.  And why you typically don't from a PC.
Title: Re: NTSC MiniMig
Post by: Piru on October 31, 2007, 02:05:43 AM
@leirbag28

Nowhere was I disputing the fact that games that have both NTSC and PAL versions run faster in NTSC. There is after all less to render, aswell as less bitplane data to fetch with DMA. Faster screen refresh (60Hz vs 50Hz) is also often perceived as "running faster", if the game speed is locked to the VBL.

What I said was: toggling betweek PAL and NTSC screenmodes does not change the system base clock or the CIA clock. CPU runs exactly the same speed, too.
Title: Re: NTSC MiniMig
Post by: leirbag28 on November 01, 2007, 05:49:02 PM


Hmm.............interesting...........but all technical.  If I were to have an argument or dicussion with someone about the possibility of speeding up a game thats tweaked to the max on a 68000 machine in PAL and NTSC, most of you might say its not possible to speed up the CPU..........so the game wont run faster.

and I say ITs possible to make the game run faster..........whatever the technical reason (VBL in this case I guess)   the bottom line is that I as a customer dont care for the reasoning behind the technicalities.......I care if its possible or not............and it is! despite that thge CPU isnt running faster.

I hope yall can see from a conversation like this that somtimes one has to remove themselves from the technical side of things to be able to have a more open mind on things like this, such as doing the "impossible" and making it possible...............sometimes one has to go around and outside of the "Box of techincality"  I believe anything is possible.

I once argued that its possible to have FIreWire on an A1200 with a 68030 (wich I still do believe is possible)  but I might be told that:

The CPU cant handle or catch up the the speed transfer of firewire and the Bus cant handle it no matter what.

I of course would beg to differ.............there are ways.

One way is to create an external capture card with the FIrewire interface input that cathches the data, and slows it down for intake through the parallel or serial port of the Amiga.  (just an idea or example of how it can be done)



All things are possible.  BY the way, has anyone yet tried the Game I recommended wich looks the same in both PAL and NTSC on both PAL and NTSC machines?   One Must NOT use a 1084 or anykind of Amiga monitor or monitor that adjusts itself into PAL or NTSC.  Most TV's should work if they will at least display the image without the V-HOLD going crazy.

THis guy has done a game RIGHT!  he shows how one can make a game that runs perfect for both PAL and NTSC without having chopped borders or slowdown or speed up.  Amazing game:  OUTFALL

Get it!  more people should program like this...........I wish WHDload could do this to games.  THis way of doing things would save developers alot of time and money.

Title: Re: NTSC MiniMig
Post by: AmigaHeretic on November 01, 2007, 07:05:24 PM
I don't know if this adds to the discussion much, but I know if you run Sysinfo in NTSC and then PAL you get 2 different CPU speeds.

I can't remember which was faster at the moment, but I think it was PAL and I use to put my Amiga in PAL to make it look like the CPU was running faster to show my friends when I did speed tests.  Worked without restarting.  Put it back in NTSC and it run a few MHZ slower. (030 50mhz) With a plain 68000 it was just a few tenths of a mhz difference.

Title: Re: NTSC MiniMig
Post by: AmigaHeretic on November 01, 2007, 07:15:31 PM
Quote
I once argued that its possible to have FIreWire on an A1200 with a 68030 (wich I still do believe is possible) but I might be told that:    The CPU cant handle or catch up the the speed transfer of firewire and the Bus cant handle it no matter what.    I of course would beg to differ.............there are ways.


Oh there have ALWAYS been neigh sayers.

I remeber, even before Commodore went bankrupt, so this was a while ago...

Parallel Port ZIP drives??  Remember those?  FOREVER people said that there is NO WAY to use those on an Amiga.  The Parallel port is TOO different from the PC one.  It doesn't have enough interupts, blah blah blah.

Anytime people would ask if they could use one on their Amiga some one would post and say it was NO NO NO you're all stupid, it can't be done, you just don't understand how the parallel port works and how the ZIP drive works.

Well, guess what?   I used one for YEARS.  You can still download the simple little driver off of of Aminet.  Yep some guy figured it out instead of just {bleep}ing.

I even used one basically as a harddrive on my CD32 system for a long time.  Just had a floppy that had some very very basic commands (like maybe just c:assign) with that driver and just assigned everything to the ZIP drive.  assign C: Zip:C   assign S: ZIP:s etc...
Worked great for a long time.
Title: Re: NTSC MiniMig
Post by: alexh on November 02, 2007, 09:38:12 PM
Another MiniMig thread clogged up with non-technical crap. :-(

Does anyone who needs NTSC / 60Hz have a working MiniMig?

Is anyone actually interested in working towards 60Hz capability? Actually getting into the verilog, Xilinx tools, boards and actually making it work?

It started out so promising and turned into useless drivel :-(
Title: Re: NTSC MiniMig
Post by: Crom00 on November 02, 2007, 10:47:06 PM
Quote

?

Is anyone actually interested in working towards 60Hz capability? Actually getting into the verilog, Xilinx tools, boards and actually making it work?
quote]

Yes would like to see this done, the world does not live on PAL 50hz alone. I'm getting my Mini-Mig next week from australia and will test it on American market LCD and CRT monitors.

Title: Re: NTSC MiniMig
Post by: alexh on November 02, 2007, 10:54:14 PM
Cool, post back when you've got it and I'll work with you to try and get the right crystals, the DCM and the mods to the Agnus
Title: Re: NTSC MiniMig
Post by: amigadave on November 02, 2007, 11:53:15 PM
Quote

alexh wrote:
Another MiniMig thread clogged up with non-technical crap. :-(

Does anyone who needs NTSC / 60Hz have a working MiniMig? (not yet, see below)

Is anyone actually interested in working towards 60Hz capability? (YES) Actually getting into the verilog, Xilinx tools, boards and actually making it work? (Willing to learn)

It started out so promising and turned into useless drivel :-(


I hope to have a working Minimig before the beginning of next year.  I don't mind working on and testing changes to the verilog code, but I have no previous experience.  I also will have the parts for a second Minimig, should it become necessary to change the components (crystal(s), etc.) to make a 60Hz NTSC Minimig work.
Title: Re: NTSC MiniMig
Post by: Crom00 on November 09, 2007, 02:29:51 AM
For anyone that doesn't have a commodore or 3rd party montior with a 31/15.17 klhz and 50 hz capability you will have a hard time getting Minimig to work.

Most all modern LCD/VGA displays (even multisystem units) display VGA signals starting at 60hz.

I went to local shops in a Northeastern USA major city that caters to european immigrant popluation. They specialize in multisystem tv's/ LCD's I tried the MiniMIG on 4 multi-system LCD's the supposedly supported 50hz and they did not work. The shopkeepers were actually pretty amazed at the MiniMIG and it's homebrew origins.

So I imagine users worldwide will have these problems unless they have an aging Commodore display to use with it.

The whole spirit of MiniMIG is Amiga redone for the 21st century. IF we need to use ancient 50hz monitors for Minimig well that's not going to cut it.

SO this is not really an NTSC issue, it's more of a modern monitor issue. 60z insures compatility with modern LCD's and crt's.

Don't we want to have this on our HDTV's next to the xbox, Wii and Ps3? That's my plan.

So who can execute the changes? Who is willing to do so?
and what's it gonna cost?



Title: Re: NTSC MiniMig
Post by: Crom00 on November 09, 2007, 03:07:52 AM
So far I tested this on:

2 Pyle 20" lcd multisystem
1 Toshiba 15" multisystem
1 sony 32" multisytesm
1 sampo 17" multisystem
Dell 1901 fp

Hanns g 22" (this one was hopefull becuase it does all major games consoles in 480i unsing the dvi port)

I tried an old Commocore 2002, but I was using a HD15 to db9 cable with a gender changer. Believe this was a cable issue.

Reason being that  I tried to use a 23 pin to 9 pin male with a 9pin to VGA hd15 connector to display super 72 and VGA modes on my a1200 connected to a dell and hassg monitor with and no luck.

Trying to source a 50hz VGA monitor in the usa. Unless I get a 1950, 1960, 0r 1942, I can't test this further.
This unit it the same unite WhiteB just assembled and posted on YouTube.

He luckily had a compabile VGA monitor he have bought previously to use with a 50hz scan doubler on his A4000.

This is exactly the sort of thing I wanted to test before I commit thousands of $$$ to manufacture these.

A 60hz version makes so much more sense now.
Title: Re: NTSC MiniMig
Post by: whiteb on November 09, 2007, 03:09:08 AM
I hope you have not fried any components on the Minimig by seeing if 6V would work ?
Title: Re: NTSC MiniMig
Post by: Crom00 on November 09, 2007, 03:11:02 AM
Nope. I have a +5 volt, 2amp unit I purchased specifically for this.

If the unit was fried would it even power up? Would there be a burning smell?

Title: Re: NTSC MiniMig
Post by: whiteb on November 09, 2007, 03:14:17 AM
Quote

Crom00 wrote:

This unit it the same unite WhiteB just assembled and posted on YouTube.

He luckily had a compabile VGA monitor he have bought previously to use with a 50hz scan doubler on his A4000.

This is exactly the sort of thing I wanted to test before I commit thousands of $$$ to manufacture these.

A 60hz version makes so much more sense now.


yerp.  Trusty DiamondView 1770H.  Best AU$9 I ever spent, and i see there is one in Queensland for a pick up price of AU$4. (Less than a day remaining).  Ever thought of moving to Australia ??  :lol:

Title: Re: NTSC MiniMig
Post by: whiteb on November 09, 2007, 03:17:49 AM
Quote

Crom00 wrote:
Nope. I have a +5 volt, 2amp unit I purchased specifically for this.

If the unit was fried would it even power up? Would there be a burning smell?

 But I do recall you asking me if a variable Power supply that only had 4.5, 6, 9 and 12V would work ?

[color=ff0000]I got one of those siwtchable ac-dc power supplies.  with 4.5,6,9 volts dc switchable power.

There is no 5 volt setting , will the Mini-Mig work if
I set it to 6?
[/color]

It may make a burning smell, it may not.  Depends on the component.

Another thing, is that a device *MIGHT* support 50hz, but does it support 50hz at 31Khz. which is where yo need the compatability chart from the actual manual, instead of a sales person just saying.. "Yeah Yeah this unit supports 50hz" just to get a sale.
Title: Re: NTSC MiniMig
Post by: Crom00 on November 09, 2007, 03:21:59 AM
Yep that was beore I had the Mini-MIg in my hands. Once you adivsed the power had to be 5 volts I got a 5v version from Radio Shack.

That 4,4.5,6.8 thingy is still in the box.

Have left the 5 votl power on for a few minutes all lights were on no problems.

Title: Re: NTSC MiniMig
Post by: whiteb on November 09, 2007, 03:30:30 AM
Okay, another thing that comes to mind, is the MMC properly inserted ?

Did you push it in, until the socket made a sort of "Click, Click" noise.  That is the MMC locking into place.

Because several things will cause no screen to be displayed (apart from a dicky video cable) is.. No MMC, or missing files on the MMC.  Case sensitivity is not an issue with file names, as long as the relevant files are named right, minimig1.bin and kick.rom, also make sure that the file names are EXACT, we all know how windows loves to rename filenames with ~1.  In windows it may look okay, but double check in DOS (or dos prompt) for any 8.3 name irregularities.

like minimig~1.bin or something stupid. (Amiga had done it correctly from Day 1).
Title: Re: NTSC MiniMig
Post by: adolescent on November 09, 2007, 03:30:56 AM
Although monitors might say they don't support 50Hz, they might.  My old Shuttle XP17 tft shows 31kHz/50Hz (scandoubled) output but shows a warning message.  All I have to do is cycle the power and the warning message goes away until I switch modes again.
Title: Re: NTSC MiniMig
Post by: JimS on November 09, 2007, 03:32:39 AM
Quote

Crom00 wrote:
Have left the 5 votl power on for a few minutes all lights were on no problems.


Can you borrow an oscilloscope? Then you could determine if any video was being generated. Also, I believe that burn-in test disk I sent you had a sound test. Is there a way to autoboot that disk without seeing the PIC menu? At least you cold tell if it's booting.
Title: Re: NTSC MiniMig
Post by: whiteb on November 09, 2007, 03:37:46 AM
How does he tell the minimig what ADF to load ?

He needs video to get the minimig menu up to select the ADF to mount it before it Boots.

I was thinking of asking if he has access to a 'Cro' (oscilloscope) to check the outputs.  But that is not a piece of equipment usually found in the average family garage/shed.
Title: Re: NTSC MiniMig
Post by: whiteb on November 09, 2007, 03:45:01 AM
Quote

adolescent wrote:
Although monitors might say they don't support 50Hz, they might.  My old Shuttle XP17 tft shows 31kHz/50Hz (scandoubled) output but shows a warning message.  All I have to do is cycle the power and the warning message goes away until I switch modes again.


Ahhhhhh TFT, if you check EAB and threads here, they are littered with people running Scan doublers on TFT.

It also doesnt help that the cable he has, he suspects to be faulty as it did not display a picture from his A1200.
Title: Re: NTSC MiniMig
Post by: Crom00 on November 09, 2007, 03:46:54 AM
I have a multimiter, that's about as complex as I've got.


Title: Re: NTSC MiniMig
Post by: Crom00 on November 09, 2007, 04:15:41 AM
Also for production, they're going to need 50hz VGA mointors for debug and testing. A pain in the but I'm sure they'll charge accordingly for. LOL!


Title: Re: NTSC MiniMig
Post by: JimS on November 09, 2007, 05:49:50 AM
Quote

whiteb wrote:
How does he tell the minimig what ADF to load ?

I guess I had the notion that it was like a real amiga and would autoboot from df0. Oops. ;-) Might be a nice feature for later...  any adf named df0: or dh0: gets booted.
Quote

I was thinking of asking if he has access to a 'Cro' (oscilloscope) to check the outputs.  But that is not a piece of equipment usually found in the average family garage/shed.

Maybe not an average shed, but someone attempting this....
Another test might be to touch the tip of one of those pc amplified speakers to HSYNC or VSYNC. I doubt if I could hear 15khz, but 50, yeah...

 
Title: Re: NTSC MiniMig
Post by: whiteb on November 09, 2007, 05:55:08 AM
Quote

JimS wrote:
Quote

whiteb wrote:
How does he tell the minimig what ADF to load ?

I guess I had the notion that it was like a real amiga and would autoboot from df0. Oops. ;-) Might be a nice feature for later...  any adf named df0: or dh0: gets booted.
 


Yeah, would be good.  Dennis You reading this ?
Title: Re: NTSC MiniMig
Post by: freqmax on November 09, 2007, 07:46:07 PM
If someone have some spare money.. why not donate a real 60Hz NTSC CRT + 120VAC 60Hz SINUS inverter to Dennis in Netherlands. I think he got the knowhow to fix initial code to make it run. And then other people can iron out any bugs.
That is if Dennis don't mind.

CRT monitors choke on "modified sinus"..
Title: Re: NTSC MiniMig
Post by: alexh on November 09, 2007, 08:13:47 PM
Dennis wont need any of that junk.

Hardware reference manual, 20 minutes of verilog changes and FPGA recompilation, an NTSC crystal (or 20MHz + DCM change) is all he needs.

Anyone with a minimig, half a brain, and the will to do it, could have a go.

This thread was supposed to be a technical discussion of how to make the verilog changes, but it's now full of crap posts :-)

If you have a MiniMig, try to go back to the front of the thread, read about changing to the NTSC clock frequency.

Then read about changing crystal, DCM and line counters as described by myself and Dennis.

Recompile using the Xilinx toolkit and you should have a working NTSC system.
Title: Re: NTSC MiniMig
Post by: Crom00 on November 09, 2007, 10:54:10 PM
Is it possible to fab or mod a minimig with socketed crystal connector and ship the unit with 2 crystals, one for pal and once for NTSC?

The user would then have to laod the correct FPGA data at startup?

Would like to ship a board that can do both ntsc. pal versions.
Title: Re: NTSC MiniMig
Post by: alexh on November 09, 2007, 11:40:40 PM
Quote

Crom00 wrote:
Is it possible to fab or mod a minimig with socketed crystal connector and ship the unit with 2 crystals, one for pal and once for NTSC?

I suppose you could, but if you used a 20MHz crystal, as suggested several times in this thread, all you do is change the FPGA image on the MMC.

Quote
Would like to ship a board that can do both ntsc. pal versions.

You're going to make and ship boards??

PAL version with ECS support (for 60Hz) would be good enough for most people, but that will require verilog changes and there seems to be no one with a MiniMig board interested in doing any serious work (Except Dennis and Tobias).
Title: Re: NTSC MiniMig
Post by: Crom00 on November 09, 2007, 11:53:57 PM
Quote


You're going to make and ship boards??

PAL version with ECS support (for 60Hz) would be good enough for most people, but that will require verilog changes and there seems to be no one with a MiniMig board interested in doing any serious work (Except Dennis and Tobias).


Check the thread on this subject, its out there.

Yes I can get stuff manufactured but the verilog thing is over my head unless I teach myself how ot program. Now if you need a pacakge designed,or production done I can help there.



Title: Re: NTSC MiniMig
Post by: whiteb on November 10, 2007, 12:01:24 AM
Quote

alexh wrote:
Dennis wont need any of that junk.

Hardware reference manual, 20 minutes of verilog changes and FPGA recompilation, an NTSC crystal (or 20MHz + DCM change) is all he needs.



From memory, Dennis already has the Hardware reference manual, he studied it when making the Core for Minimig.

From what he has told me, he is already working on a PIC update (Something to do with the floppy controller), so do not rule out adding 60hz support yet from Dennis.
Title: Re: NTSC MiniMig
Post by: whiteb on November 10, 2007, 12:04:44 AM
Quote

Crom00 wrote:
Is it possible to fab or mod a minimig with socketed crystal connector and ship the unit with 2 crystals, one for pal and once for NTSC?

The user would then have to laod the correct FPGA data at startup?

Would like to ship a board that can do both ntsc. pal versions.


Well, if it uses the internal clock of the FPGA (I think that was one of the options), then it is quite possible to have multiple versions of the core to handle NTSC/PAL/50hz/60hz all in one download place, depending on the user's requirements.

You could also supply boards catered to each person's requirements.
Title: Re: NTSC MiniMig
Post by: denli on November 10, 2007, 10:26:07 AM
Quote

alexh wrote:

there seems to be no one with a MiniMig board interested in doing any serious work (Except Dennis and Tobias).

Illuwatar built his own design in mini-ITX format.
http://web.comhem.se/illuwatar/project_pages/minimig/minimig.htm
It supports Composite out.

(http://web.comhem.se/illuwatar/project_pages/minimig/images/minimig03.jpg)
Title: Re: NTSC MiniMig
Post by: alexh on November 10, 2007, 10:29:26 AM
He didnt change any MiniMig code, did he?

I think he just changed the PCB.
Title: Re: NTSC MiniMig
Post by: denli on November 10, 2007, 10:37:16 AM
He doesn't know Verilog yet.
Title: Re: NTSC MiniMig
Post by: alexh on November 10, 2007, 11:00:19 AM
If he sends me a board, I'll teach him verilog ;-)
Title: Re: NTSC MiniMig
Post by: CD32Freak on November 10, 2007, 11:08:23 AM
Quote
Is it possible to fab or mod a minimig with socketed crystal connector..
@Crom00 and others
Here is a building tip on how to make your own crystal socket: http://www.qrpkits.com/buildertip03.html
:-D
Title: Re: NTSC MiniMig
Post by: denli on November 10, 2007, 11:36:33 AM
Quote

CD32Freak wrote:
Quote
Is it possible to fab or mod a minimig with socketed crystal connector..
@Crom00 and others
Here is a building tip on how to make your own crystal socket: http://www.qrpkits.com/buildertip03.html
:-D

That would be hard for a production run.
Title: Re: NTSC MiniMig
Post by: alexh on February 12, 2008, 03:08:34 PM
In case anyone is still reading this thread (or any threads regarding a 60Hz capable MiniMig).

In addition to changing the crystal, reprogramming the DCM and changing the BEAM constants, you also have to change the AGNUS ID. This is in the VPOSR register.
Code: [Select]

//beamcounter read registers VPOSR and VHPOSR
always @(regaddressin or lof or verbeam or horbeam)
if(regaddressin[8:1]==VPOSR[8:1])
dataout[15:0]={lof,2'b0,1'b1,11'b0,verbeam[8]};
else if(regaddressin[8:1]==VHPOSR[8:1])
dataout[15:0]={verbeam[7:0],horbeam[8:1]};
else
dataout[15:0]=0;
[/font][/size]
I got the values for VPOSR from here:

http://www.winnicki.net/amiga/memmap/VPOSR.html
Title: Re: NTSC MiniMig
Post by: Firedawg on February 12, 2008, 04:15:53 PM
Thanks Alex,  I'm in the process of soldering everything, holding out on the crystals.  I have all the past dialog on the NTSC Minimig subject, which you started, again thanks.  I need to purchase the crystals for the change to NTSC.  When I get to the programming part, that will slow me down some and I will rely on what has been discussed.  Can I use you as a resource when I get to the programming stuff?  I would appreciate it.

Mike
"Firedawg"
Title: Re: NTSC MiniMig
Post by: Akira on February 12, 2008, 04:27:31 PM
Quote

Quote
Hans_ wrote:
How did the later Amigas support both NTSC & PAL?

I am not sure. I know that it was more than changing the video timing, when you select 60Hz (NTSC) the Amiga bus clock changes too.


As far as I understood, the clock rate would chage, and NOT the video NORM. This was very noticeable: in my PAL Amigas.
when I switched to "ntsc", my NTSC TV would still not catch onto the colors of it or anything. The screen was at 60Hz but the color system remained that of PAL.

On my NTSC A1200, when I switch to "PAL", the machine switches to 50Hz but retains the color system of NTSC, thus giving the strange "PAL-M" combo (50hz with NTSC color system)

So none of the machines wouyld natively support the REAL output of the other. PAL machines switched to NTSC were not giving out really NTSC (more like 60Hz PAL), and NTSC machines were not giving out PAL (only PAL-M or NTSC @ 50 Hz)


I think you are overlooking over what really makes an NTSC or PAAL signal what it is. Not only the clock rate is what defines them, also their color system.

An Amiga that did FULL NTSC -and- FULL PAL would be a godsend!
Title: Re: NTSC MiniMig
Post by: Akira on February 12, 2008, 04:41:46 PM
Quote

Crom00 wrote:
For anyone that doesn't have a commodore or 3rd party montior with a 31/15.17 klhz and 50 hz capability you will have a hard time getting Minimig to work.

Most all modern LCD/VGA displays (even multisystem units) display VGA signals starting at 60hz.


The problem is the scan rate and not the sync rate.
LCD TVs that are displaying PAL should do so at a sync of 50Hz (you can't change that  standard) but the problem is that most of these only accept SCAN RATES starting at 30Khz. Not even DoublePAL or DoubleNTSC modes, that go at 28Khz, work on monitors of today. You connected it through RGB?
Title: Re: NTSC MiniMig
Post by: alexh on February 12, 2008, 04:45:19 PM
Not sure I fully understand the subtleties but I dont think MiniMig (or any Amiga) suffers from "colour system" problems when not using RGB. I thought it only affected COMPOSITE or RF? Like I said I don't fully understand.

Quote
The problem is the scan rate and not the sync rate.

Nope the problem is the sync rate.

Quote
LCD TVs that are displaying PAL should do so at a sync of 50Hz

Yeah, but most LCD MONITORS have a minimum sync of 56Hz.

Quote
most of these only accept SCAN RATES starting at 30Khz. Not even DoublePAL or DoubleNTSC modes, that go at 28Khz, work on monitors of today. You connected it through RGB?

MiniMig has an "AMBER" scandoubler and produces 31KHz output.
Title: Re: NTSC MiniMig
Post by: jj on February 12, 2008, 05:08:23 PM
Sorry I can understand what you are trying to achieve cause of the problems with monitors supporting 50hz.  But really do not think NSTC is the way to go.  Its a crap tv standrard.  I dont even know how possible this, but wouldnt PAL-60 be a much better option ?
Title: Re: NTSC MiniMig
Post by: Krusher on February 12, 2008, 05:11:44 PM
PAL-60 could be an option but is not a solution for programs that rely on scanline timings (PAL has 625 lines, NTSC 525)
Title: Re: NTSC MiniMig
Post by: alexh on February 12, 2008, 05:38:01 PM
Quote

JJ wrote:
But really do not think NSTC is the way to go.  Its a crap tv standard.  I don't even know how possible this, but wouldn't PAL-60 be a much better option ?

PAL-60 would require ECS AGNUS support which is a big job. Support for 60Hz is only one of lots of the changes between OCS and ECS ANGUS'. We're talking 100's of lines of code and many weeks of test. Going forward, that is the way to go, but not now.

Switching MiniMig from "PAL" to "NTSC" is perhaps 4-5 lines changed in Agnus.v (maybe more in the AMBER) and a different crystal.

MiniMig only outputs RGB, and it's scandoubled so it's not really NTSC (or PAL), is it?
Title: Re: NTSC MiniMig
Post by: jj on February 12, 2008, 05:41:58 PM
Fiar enough, was just wondering is all  :-D
Title: Re: NTSC MiniMig
Post by: amigadave on February 12, 2008, 08:02:42 PM
Quote

alexh wrote:

Switching MiniMig from "PAL" to "NTSC" is perhaps 4-5 lines changed in Agnus.v (maybe more in the AMBER) and a different crystal.

MiniMig only outputs RGB, and it's scandoubled so it's not really NTSC (or PAL), is it?


Has anyone successfully converted the Minimig to NTSC?  I have seen some suggestions of what changes might need to be made, but have not seen any report that anyone has done so and made it work.

There must be at least a few Minimig enthusiasts here in the USA, or in other countries where NTSC is the standard instead of PAL. (please, let's not get into any argument about which standard is better, that has been discussed at great length in the past and does not need repeating)