English Amiga Board


Go Back   English Amiga Board > Coders > Coders. Asm / Hardware

 
 
Thread Tools
Old 10 December 2012, 22:39   #1
mark_k
Registered User
 
Join Date: Aug 2004
Location:
Posts: 3,247
Differences between the original A2000 and later B2000

Hopefully someone will find this info useful and/or interesting.

The original Amiga A2000 was designed in Germany and is based on the Amiga 1000 chipset. The later A2000 (commonly referred to as B2000, but never marketed with that name) was designed in the USA. Most Amiga 2000s are B2000s. [When I refer to A2000 below I'm talking about the earlier German-designed machine.]

Physically, the easiest way to tell the difference is that the A2000 doesn't have a mono video RCA/phono socket on the back. Also the A2000 video slot has only one section; the B2000 has two. There are some pictures of A2000 and B2000 main boards at http://www.amiga-hardware.com/showha....cgi?HARDID=17. The A2000 board pictures there are "A2000 Revision 4.0 Motherboard".

The A2000 has only 512KB chip RAM on the motherboard. An additional 512KB of fast RAM is on a card which plugs into the CPU slot. The card is expandable to 1MB. The card is shown at http://www.amiga-hardware.com/showha...cgi?HARDID=967.

Programmer-visible differences include:
  • The A2000 uses the Amiga 1000 chipset, including the original DIP Agnus chip, not the square PLCC Fat Agnus used in the A500 and B2000. There are some programmer-visible differences between the two.
  • The 512KB/1MB RAM at $C00000 is true fast RAM. Access to it is not slowed by the custom chips. So a 16-colour Workbench would be significantly faster on an A2000 than a B2000.
  • The A2000 audio filter cannot be disabled in software. It is always on, like the A1000 filter.
  • Apparently the B2000 has an extra wait state added for DMA to chip or $C00000 RAM from the expansion bus. Boards like the A2091 SCSI controller would use DMA. There is a jumper on the B2000 board to remove that wait state, but I guess doing that broke some hardware??? See these newsgroup postings by Dave Haynie: http://groups.google.com/group/comp....?output=gplain and http://groups.google.com/group/comp....?output=gplain.
  • The A2000 clock chip registers appear tiled in the region $D80000-$DBFFFF. On the A500 and B2000 the clock chip is at $DC0000.
Programs accessing the RTC directly need to be aware of the two possible locations. The Workbench SetClock command knows about that. It first checks for RTC at $DC0000, and if not there also checks $D80000. If it finds an RTC at $D80000 SetClock 1.3 prints
Quote:
Warning: Clock is at old address
SetClock 1.2 prints
Quote:
Warning: clockchip found at $d80000
arrange update of mainboard as soon as possible
I don't think WinUAE has an option to set the RTC to appear in $D80000-$DBFFFF so if writing your own RTC-accessing code you can't verify it works correctly without testing on a real A2000.

Details of the fast RAM card jumpers at http://www.amiga-hardware.com/showha...cgi?HARDID=967 mention that the RAM can be jumpered as "Kickstart RAM". I don't know exactly which address the RAM appears at when jumpered like that. Maybe $F00000??? Or maybe $F80000, in which case it might be possible to load a Kickstart image to the fast RAM, change the jumper and reset into Kickstart running from RAM.

There's a comment in one of the A2000 PAL equation listings, "clock accesses will be synchronized to video cycles, but this should create no major problems" (A500/A2000 Technical Reference Manual p230). Does anyone more hardware-savvy than me know what effect/impact that might have? Maybe the RTC registers would be slightly slower to access than on a B2000?

Last edited by mark_k; 20 December 2012 at 19:40. Reason: Mention that A2000 has always-on audio filter; B2000 extra wait state for DMA to chip RAM
mark_k is offline  
Old 11 December 2012, 14:39   #2
hooverphonique
ex. demoscener "Bigmama"

 
Join Date: Jun 2012
Location: Fyn / Denmark
Posts: 1,376
Quote:
Originally Posted by mark_k View Post
The A2000 has only 512KB chip RAM on the motherboard. An additional 512KB of fast RAM is on a card which plugs into the CPU slot. The card is expandable to 1MB. The card is shown at http://www.amiga-hardware.com/showha...cgi?HARDID=967.
so this card has its own dram refresh controller?
hooverphonique is offline  
Old 11 December 2012, 14:51   #3
mark_k
Registered User
 
Join Date: Aug 2004
Location:
Posts: 3,247
That's a good question. According to the TMS4257 datasheet (the chip in the board picture at amiga-hardware.com) it's a dynamic RAM. There are three PALs on the board but they probably don't constitute a DRAM refresh controller.

The A500/A2000 Technical Reference Manual (PDF version available online) has an A2000 board schematic. The CPU slot connector is shown on page 263 of the PDF. Someone who knows about DRAM refresh could probably figure it out from that and the other pages of the schematic.
mark_k is offline  
Old 19 December 2012, 21:57   #4
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 47
Posts: 25,564
Quote:
Originally Posted by mark_k View Post
I don't think WinUAE has an option to set the RTC to appear in $D80000-$DBFFFF so if writing your own RTC-accessing code you can't verify it works correctly without testing on a real A2000.
It does not. It does not until someone describes exactly how the registers appear in memory map, including possible address aliasing.
Toni Wilen is online now  
Old 19 December 2012, 23:16   #5
mark_k
Registered User
 
Join Date: Aug 2004
Location:
Posts: 3,247
If you google for "A500/A2000 Technical Reference Manual" (with the quotes) the first result is a PDF of that document. [I didn't put the URL here in case the site owner doesn't want people linking directly to it.]

Pages 228-229 of the PDF are one of the A2000 PAL equations, with comment "THE CLOCK IS NOW TILED THROUGHOUT THE SPACE $D80000-DBFFFF. IF MORE PRECISE SELECTION TO $D80000-$D8FFFF IS REALLY NEEDED, THEN THIS MUST BE DONE EXTERNALLY USING THE /CS INPUT ON THE CLOCK CHIP."

The part of the A2000 schematic which includes the MSM6242B is on page 266. I don't think it does anything funky with the /CS0 or C1 pins.
mark_k is offline  
Old 28 December 2012, 23:29   #6
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 47
Posts: 25,564
Done

New adv chipset A2000 clock option also maps "new" clock range as custom chipset (same as A1000)

(winuae.zip also updated)
Toni Wilen is online now  
Old 29 December 2012, 17:06   #7
SpeedGeek
Moderator
SpeedGeek's Avatar
 
Join Date: Dec 2010
Location: Wisconsin USA
Age: 59
Posts: 684
That some interesting and detailed info about the German A2000 I didn't know about but what is the point of emulating hardware which even C= considered obsolete? The Setclock warning to upgrade the motherboard speaks for itself.
SpeedGeek is offline  
Old 29 December 2012, 19:18   #8
mark_k
Registered User
 
Join Date: Aug 2004
Location:
Posts: 3,247
One reason would be, it helps people wanting to make their code compatible with that type of real Amiga. Things like AROS, Linux, NetBSD etc. could be tested on WinUAE if the developer doesn't have a real A2000.

Commodore softened the message shown by SetClock with Workbench 1.3. And the Workbench 1.2 startup-sequence does SetClock >NIL: so the message doesn't appear. It's unlikely CBM actually wanted to be besieged by A2000 owners looking for their motherboards to be updated.

Interestingly, battclock.resource in Kickstart 2.0 and later (even the earliest v36 one that I could find) doesn't seem to support the clock at $D80000. Maybe it was hard to reliably detect a $D80000 clock without affecting whatever hardware lived at that address in later Amiga models???

A2000 owners who use Kickstart 2.0 or later would need to use the SetClock command from Workbench 1.2/1.3 in order to save and load the time. (The Y2K-compatible SetClock 34.3 which used to be available from ftp.amiga.com does still support $D80000 clocks. I just posted that in this thread if anyone wants it.)
mark_k is offline  
Old 29 December 2012, 21:14   #9
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 47
Posts: 25,564
Quote:
Originally Posted by SpeedGeek View Post
That some interesting and detailed info about the German A2000 I didn't know about but what is the point of emulating hardware which even C= considered obsolete? The Setclock warning to upgrade the motherboard speaks for itself.
Because you can.
Toni Wilen is online now  
Old 30 December 2012, 15:30   #10
mr.vince
Cheesy crust

mr.vince's Avatar
 
Join Date: Nov 2008
Location: Hawk's Creek
Age: 46
Posts: 1,382
mr.vince is offline  
Old 30 December 2012, 15:42   #11
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 47
Posts: 25,564
Seriously, rare models can have compatibility differences, for example A1000 (and A2000 because it is based on A1000 chipset) have 2 "features" that can (and will) cause strange side-effects with some programs:

1) "new" clock region is chipset address mirror: Mouse cursor on game "Hacker" (original, not patched) only moves on A1000 or A2000!
2) DIP Agnus has a bug that starts vertical interrupt 1 line later than documented. Few very old demos only work properly on A1000 or A2000.

Documented blitter bug probably causes no problems at all because it was documented in HRM.

Hardware bugs needs to be emulated or above programs would have never run on emulation! -> Emulation should always (at least in "compatible" mode) emulate all side-effects as accurately as possible.
Toni Wilen is online now  
Old 30 December 2012, 20:50   #12
SpeedGeek
Moderator
SpeedGeek's Avatar
 
Join Date: Dec 2010
Location: Wisconsin USA
Age: 59
Posts: 684
I am now convinced that I know much less about emulation than I know about the German A2000 mobos!

But what software (other than certain versions of Setclock) would fail to run on A2000 vs. B2000 mobos? AFAIK the main reason to upgrade is for design bug fixes and hardware improvements rather than software compatibility.

P.S. Remember any software which requires 1MB of Chip memory is due to the ECS chip set upgrade rather than the B2000 spec.

Last edited by SpeedGeek; 30 December 2012 at 21:02.
SpeedGeek is offline  
Old 08 January 2013, 22:54   #13
mark_k
Registered User
 
Join Date: Aug 2004
Location:
Posts: 3,247
Turran ran a couple of tests on his A2000, the one shown in this posting. Tests were running SetClock on a Workbench 1.3.3 disk and running SysInfo.

SetClock LOAD
SysInfo speed
SysInfo memory 1
SysInfo memory 2
SysInfo floppy drive speed

The SetClock test didn't show the "clock at old address" message, which means at least some A2000s have their RTC appearing at the normal $DC0000 address. At this point I don't know what proportion on A2000s have their clock at $D80000. I'll set up another test which runs a modified SetClock program which only checks for clock at $D80000 and see whether it finds the clock there too.

Regarding memory speed, the SysInfo result shows the machine 10% faster than a plain chip-RAM-only A600, with chip RAM 6% faster. But 17% slower than a B2000 with Zorro II fast RAM. I guess you need to take those figures with a grain of salt, since the SysInfo developer's systems would probably have a different config (e.g. running a later Kickstart version).

I'll try to arrange another test which opens a 16 colour high-res screen and reads and writes to the $C00000 memory a lot which should be good for comparing speed differences of chip vs $C00000 vs $200000 RAM.
mark_k is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
A500/A2000 Technical Reference Manual revised version differences mark_k Coders. General 0 20 December 2012 23:37
B2000 Schematics Question Brass support.Hardware 0 06 July 2012 17:19
A2000 (not B2000) resurrection Chain support.Hardware 24 08 May 2009 10:33
B2000 subjected to pain chiark Hardware pics 21 25 September 2008 22:05
Differences between original and SE OS 3.9??? MethodGit Amiga scene 4 14 February 2005 08:33

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 14:22.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2022, vBulletin Solutions Inc.
Page generated in 0.08549 seconds with 12 queries