English Amiga Board


Go Back   English Amiga Board > Support > support.WinUAE

 
 
Thread Tools
Old 13 July 2015, 21:27   #21
Kitchen2010
Registered User
 
Join Date: May 2015
Location: Zurich, Switzerland
Posts: 25
Quote:
Originally Posted by Toni Wilen View Post
Bridgeboard Amiga special features are biggest problem and weird shared memory addressing. Unless you get it accidentally right, debugging will be painful.
There are some good information sources on the PC bridgeboards that I know:
• "Commodore Amiga A500/A2000 Technical Reference Manual" - Section 4 - PC Bridgeboard (p.109ff) contains a fairly complete technical overview of the A2088T/A2088XT/A2286 bridgeboard card:
- section 4.1: description of PC/XT emulator for Amiga 2000 (p. 109-120):
complete memory listing of the PC/Amiga memory interface:
p. 109: interface memory map
p. 110f: PC memory and I/O map, Amiga memory map
p. 111f: AT memory and I/O map, Amiga memory map
p. 112ff: PC/AT I/O register map
p. 115ff: Amiga i/O memory map, PC-side/Amiga-side interrupt status register
p. 119f: Block diagram of the bridgeboard card
- section 4.2: BIOS entry points (p. 121-130):
complete description of the BIOS entry points with input/output registers
- section 4.3: Janus-Library (p. 131-158):
complete description of the public functions of the Janus.Library and complete listing of the C include files

section 5 - Amiga Hard Disk/SCSI Controller is about the A2090(A) harddisk controller. Maybe are you interested in this section, too ?

(Link to "Commodore Amiga A500/A2000 Technical Reference Manual")

• There is the driver software "AT Utilities" written by Thomas Dreibholz as replacement for the original Commodore's Janus software. It was open-sourced under GPL 2 in 2000 and are downloadable from Aminet with its sourcecode. Maybe it is useful for the bridgeboard card's special features (memory map and registers) ?

I cite from the author's website (link):
"1992 – 1997: The ATUtilities Project
A replacement for the Commodore Amiga 2086/2286/2386 Bridgeboard driver software. It is the result of a reverse engineering of the original drivers in order to overcome their limitations. The system is written in C, with some hardware-near parts in Assembler. This software has been shareware and is now Open Source."

Links:
-ATUtilities 4.0os - A replacement for Commodore's Bridgebaord software
-ATUtilities 4.0 - Replacement for the CBM PC/AT Bridgeboard drivers - Now *Open Source*!

Last edited by Kitchen2010; 13 July 2015 at 21:44.
Kitchen2010 is offline  
Old 14 July 2015, 22:02   #22
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,502
Quote:
Originally Posted by Kitchen2010 View Post
There are some good information sources on the PC bridgeboards that I know:
• "Commodore Amiga A500/A2000 Technical Reference Manual"
Yeah, I know. It is the only existing documentation. Problem is that it only documents hardware, it does not document how and what drivers do. Usually with complex hardware there is no need to emulate everything but it is very difficult to guess (for example which bits of some control register can be ignored) without some example code.

Quote:
section 5 - Amiga Hard Disk/SCSI Controller is about the A2090(A) harddisk controller. Maybe are you interested in this section, too ?
That chapter was main information source for already implemented emulation. (It does not help much with ST-506 side because it is controlled with Z80 code!)

Quote:
• There is the driver software "AT Utilities" written by Thomas Dreibholz as replacement for the original Commodore's Janus software. It was open-sourced under GPL 2 in 2000 and are downloadable from Aminet with its sourcecode. Maybe it is useful for the bridgeboard card's special features (memory map and registers) ?
Interesting and probably helpful but too early to say anything else.. (Except that comments are in german)
Toni Wilen is online now  
Old 15 July 2015, 15:11   #23
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,502
Quote:
That chapter was main information source for already implemented emulation. (It does not help much with ST-506 side because it is controlled with Z80 code!)
Actually Z80 code is not needed after all, Z80 is basically just a modified ST-506 controller, modified = uses custom protocol to send modified (extra data appended) command blocks to Z80 and read status from Z80.

It looks like it can be implemented quite easily after all.

EDIT: Very odd protocol... Driver tells the Amiga RAM address of command block to Z80 code by poking the address byte by byte to board's register. Driver writes command block to Amiga memory, then writes to another register that tells Z80 code to execute the command. The rest is done by Z80 code completely transparently, it even uses on-board DMA controller automatically to transfer data to/from Amiga memory. Amiga-side code only needs to wait for interrupt.

EDIT2: Done.

Last edited by Toni Wilen; 16 July 2015 at 15:32.
Toni Wilen is online now  
Old 11 August 2015, 10:27   #24
Kitchen2010
Registered User
 
Join Date: May 2015
Location: Zurich, Switzerland
Posts: 25
I have just found out that the Amiga driver of MESS does already emulate the Zorro interface with some expansion cards (Github link).

The emulated expansion cards are:
A2052 (2MB Fast RAM expansion for the Zorro II slot)
Link to Amiga Hardware Database
A2232 (Serial port expansion for the Zorro II slot)
Link to Amiga Hardware Database
A590 (SCSI/XT-IDE/ST-506 HD controller expansion for the Zorro II slot)
Link to Amiga Hardware Database
Action Replay (A500 version)
Link to Amiga Hardware Database
Buddha (IDE controller)
Link to Amiga Hardware Database

Is the sourcecode of these expansion cards of some interest for you, Toni ?
Kitchen2010 is offline  
Old 11 August 2015, 12:56   #25
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,502
Quote:
Originally Posted by Kitchen2010 View Post
Is the sourcecode of these expansion cards of some interest for you, Toni ?
No. Practically everything Amiga related in MESS is useless. (Only exception is some non-Amiga chip that may have been used in some rare Amiga board, like TMS34010)

Most of examples you listed are not even fully implemented. (DMAC more or less does nothing, WD33C93 emulation is very basic, none of Amiga drivers would work with it and so on)
Toni Wilen is online now  
Old 14 August 2015, 14:53   #26
Kitchen2010
Registered User
 
Join Date: May 2015
Location: Zurich, Switzerland
Posts: 25
Some emulators for Atari ST and Macintosh emulation just have the ROMs on their boards.
Once you have the ROMs dumped and you have found out the memory mapping, you should get them running easily.
Namely these emulation cards:

Atari ST emulators:
• Maxon Chamäleon:
Atari ST emulator that runs Amiga OS and TOS exclusively (= not parallel) and does NOT emulate the Atari hardware registers and the Atari MIDI interface.
This should be first implemented, as it is the simpliest Atari ST emulator.
Link to Amiga Hardware Database

• MacroSystem Medusa:
There are 2 hardware versions. v1 supports only emulation of Atari ST/STE and supplies a Atari STE ROM port. v2 supports 32-bit ROMs and adds Atari TT emulation and higher display frequencies with ECS chipset. Both have no emulation of the Atari MIDI interface.
Link to Amiga Hardware Database

• ML-Computer Amtari:
Atari ST/STE/TT emulator which requires MMU (68020 + 68851 or 68030) and Kickstart 2.04+. It maps serial and parallel ports to the Amiga side.
Link to Amiga Hardware Database


Apple Macintosh emulators:
• ReadySoft A-Max & A-Max II:
WinUAE already emulates them (at least partly?).
Link to Amiga Hardware Database

• ReadySoft A-Max II Plus & IV:
The expansion card has 2 supporting Macintosh IC chips for 2 serial ports: a printer port and a modem/MIDI port.
The 2 chips make it harder to emulate.
Link to Amiga Hardware Database

• Emplant:
The expansion board has several supporting Macintosh IC chips for the serial ports. There are several add-ons available for this board: an autobooting SCSI controller (NCR 53C80), Sybil - a hardware frequency synchronizer to handle 800 kB Mac floppy disks, e586 module for PC emulation.
All these chips make it hard to emulate. But once you got the A-Max IV hardware running, this should be easier to emulate (they share same supporting Macintosh IC chips).
Link to Amiga Hardware Database

Last edited by Kitchen2010; 14 August 2015 at 14:53. Reason: Moved from thread 'WinUAE 3.2.0 beta series'
Kitchen2010 is offline  
Old 14 August 2015, 14:58   #27
Kitchen2010
Registered User
 
Join Date: May 2015
Location: Zurich, Switzerland
Posts: 25
I have assembled a list of all graphics expansion cards that are listed at the Amiga Hardware Database and The Big Book of Amiga Hardware, sorted for the used GPU processor. So it can be found out easily what emulation core is needed for every graphic board. Maybe Tony can implement easily the graphic boards if there are already the needed emulation cores for their GPUs.

Last edited by Kitchen2010; 14 August 2015 at 22:21. Reason: added some more information from 'The Big Book of Amiga Hardware'.
Kitchen2010 is offline  
Old 14 August 2015, 15:49   #28
Kitchen2010
Registered User
 
Join Date: May 2015
Location: Zurich, Switzerland
Posts: 25
I have already found some emulation cores for the missing graphic cards:

Last edited by Kitchen2010; 14 August 2015 at 15:58. Reason: fixed some typos.
Kitchen2010 is offline  
Old 28 August 2015, 03:10   #29
Pyromania
Moderator
 
Pyromania's Avatar
 
Join Date: Jan 2002
Location: Chicago, IL
Posts: 3,375
@Kitchen2010

I think the Video Toaster is missing from your list.
Pyromania is offline  
Old 28 August 2015, 09:49   #30
Kitchen2010
Registered User
 
Join Date: May 2015
Location: Zurich, Switzerland
Posts: 25
I do not know if the Video Toaster really counts as a (framebuffer) graphic card. It has too many video grabber functions and Tony has already said that he has not interest in reverse engineering custom video hardware. That is why I tried to collect graphic expansions with off-the-shelf chipsets which might have some documentation somewhere helping to implement an emulation.

But if someone is willing to do all the work of reverse engineering, it would be sure be welcome !
Kitchen2010 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
ram expansion for the A1200 done by commodore clauddio support.Hardware 1 19 May 2012 05:17
Whats a A1200 4mb Expansion Cards worth ? Kakaboy Hardware mods 18 21 March 2010 01:54
Several Expansion cards A500/1000 etc. Amiga mia MarketPlace 17 05 June 2009 05:10
Commodore Amiga playing-cards k2uphill Retrogaming General Discussion 2 25 August 2006 09:46
512kb a500 expansion cards icewizard2k5 MarketPlace 8 28 February 2005 13:12

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 08:41.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.23265 seconds with 16 queries