Welcome, Guest. Please login or register.

Author Topic: Method to the madness  (Read 6339 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline ElPolloDiablTopic starter

  • Hero Member
  • *****
  • Join Date: May 2009
  • Posts: 1702
    • Show all replies
Method to the madness
« on: June 19, 2009, 05:38:58 AM »
Here is a description of the Amiga custom chips:

Quote

Most components within the machine were known by nicknames. The coprocessor commonly called the "Copper" is in fact the "Video Timing Coprocessor" and is split between two chips: the instruction fetch and execute units are in the "Agnus" chip, and the pixel timing circuits are in the "Denise" chip (A for address, D for data).

"Agnus" and "Denise" were responsible for effects timed to the real-time position of the video scan, such as midscreen palette changes, sprite multiplying, and resolution changes. Different versions (in order) were: "Agnus" (could only address 512K of video RAM), "Fat Agnus" (in a PLCC package, could access 1MB of video RAM), "Super Agnus" (slightly upgraded "Fat Agnus"). "Agnus" and "Fat Agnus" came in PAL and NTSC versions, "Super Agnus" came in one version, jumper selectable for PAL or NTSC. "Agnus" was replaced by "Alice" in the A4000 and A1200, which allowed for more DMA channels and higher bus bandwidth.

"Denise" outputs binary video data (3*4 bits) ??to the "Vidiot". The "Vidiot" is a hybrid that combines and amplifies the 12-bit video data from "Denise" into RGB to the monitor.??

Other chips were "Amber" (a "flicker fixer", used in the A3000 and Commodore display enhancer for the A2000), "Gary" (I/O, addressing, G for glue logic), "Buster" (the bus controller, which replaced "Gary" in the A2000), "Buster II" (for handling the Zorro II/III cards in the A3000, which meant that "Gary" was back again), "Ramsey" (The RAM controller), "DMAC" (The DMA controller chip for the WD33C93 SCSI adaptor used in the A3000 and on the A2091/A2092 SCSI adaptor card for the A2000; and to control the CD-ROM in the CDTV), and "Paula" (Peripheral, Audio, UART, interrupt Lines, and bus Arbiter).

There were several Amiga chipsets: the "Old Chipset" (OCS), the "Enhanced Chipset" (ECS), and AGA. OCS included "Paula", "Gary", "Denise", and "Agnus".

ECS had the same "Paula", "Gary", "Agnus" (could address 2MB of Chip RAM), "Super Denise" (upgraded to support "Agnus" so that a few new screen modes were available). With the introduction of the Amiga A600 "Gary" was replaced with "Gayle" (though the chipset was still called ECS). "Gayle" provided a number of improvments but the main one was support for the A600's PCMCIA port.

The AGA chipset had >"Alice"< with twice the speed and a 24-bit palette, maximum displayable: 8 bits (256 colours), although the famous "HAM" (Hold And Modify) trick allows pictures of >262,144< colours to be displayed. AGA's "Paula" and "Gayle" were unchanged but AGA ??"Denise" supported AGA "Agnus"'s new screen modes.?? Unfortunately, even AGA "Paula" did not support High Density floppy disk drives. (The Amiga 4000, though, did support high density drives.) In order to use a high density disk drive Amiga HD floppy drives spin at half the rotational speed thus halving the data rate to "Paula".


Quote
Paula - Originally, there would have been a DSP chip (to compliment Paula - see the AA3000 prototype), but costs were cut and Paula was kept from the ECS chipset.
Alice - The AGA successor to Agnus in OCS/ECS systems.
Lisa - The AGA successor to Denise in OCS/ECS Cnipsets
Gayle - And upgrade of Gary, handled IDE drives as well.


The thing that immediately stands out to me is that Paula seems to be bunged together to do several unrelated things. This comes back later by not allowing the A1200 to do HD floppy native.
I'm trying to both visualize the flow and figure out how they added 8 bit graphics. hmm.
« Last Edit: June 19, 2009, 12:07:57 PM by ElPolloDiabl »
Go Go Gadget Signature!
 

Offline ElPolloDiablTopic starter

  • Hero Member
  • *****
  • Join Date: May 2009
  • Posts: 1702
    • Show all replies
Re: Method to the madness
« Reply #1 on: June 19, 2009, 05:47:07 AM »
The second thing that stands out (though failed to input above) is the OS sitting in chip RAM, later moved to the ROM.

Lets just reverse engineer the whole thing from top to bottom and submit the results to the UAE emulator team.

Lets start with the two most important engineers Jay and Dave (forgive me Dave, I'm going to go over this with a fine tooth comb). Jay was BS, Dave was a BS electrical engineering. Let's suppose Jay's favourite class was physics; pendulums, clockwork, you get the idea. Visualize the bus like you do the solar system. Planets making an intricate dance around the Sun, interacting with each other via gravity.
« Last Edit: June 19, 2009, 06:22:41 AM by ElPolloDiabl »
Go Go Gadget Signature!
 

Offline ElPolloDiablTopic starter

  • Hero Member
  • *****
  • Join Date: May 2009
  • Posts: 1702
    • Show all replies
Re: Method to the madness
« Reply #2 on: June 19, 2009, 12:43:30 PM »
Quote from: Roondar;512282
Now I read this which basically says that the custom chips did get faster.

So, which one is it?

(I do know about the 64 bit fetch modes, but my understanding was this was only for the graphics chip (Lisa) and not for the Blitter).

The bus width was increased to 32 bit (from 16-bit). Still at (approx) 7Mhz
Go Go Gadget Signature!
 

Offline ElPolloDiablTopic starter

  • Hero Member
  • *****
  • Join Date: May 2009
  • Posts: 1702
    • Show all replies
Re: Method to the madness
« Reply #3 on: June 19, 2009, 12:48:50 PM »
Quote from: Roondar;512282
Now I read this which basically says that the custom chips did get faster.

So, which one is it?

(I do know about the 64 bit fetch modes, but my understanding was this was only for the graphics chip (Lisa) and not for the Blitter).

This is another thing related to the first 32-bit console: 3DO claimed it (over Amiga CD-32) because the CPU was a cut down 24-bit 68020. hmm
Go Go Gadget Signature!
 

Offline ElPolloDiablTopic starter

  • Hero Member
  • *****
  • Join Date: May 2009
  • Posts: 1702
    • Show all replies
Re: Method to the madness
« Reply #4 on: June 19, 2009, 01:27:45 PM »
Quote from: Karlos;512289
Well, for displaying static images, none really. HAM in general, however, is not ideally suited for realtime graphics applications.

Hey,
Stop hijacking my thread. If you have corrections or suggestions. Message me.
Go Go Gadget Signature!
 

Offline ElPolloDiablTopic starter

  • Hero Member
  • *****
  • Join Date: May 2009
  • Posts: 1702
    • Show all replies
Re: Method to the madness
« Reply #5 on: June 19, 2009, 06:38:35 PM »
Quote from: the_leander;512326
How was answering a perfectly legitimate question regarding performance within the HAM modes hijacking? Especially when Zac67 answered the question as to why blitter performance didn't improve...


My dear Watson,


I should have emphasised this thread was about reverse engineering the custom chip bus. Not discussing individual functions.
Plus: Point taken it was a fair question/answer.
« Last Edit: June 19, 2009, 06:44:46 PM by ElPolloDiabl »
Go Go Gadget Signature!
 

Offline ElPolloDiablTopic starter

  • Hero Member
  • *****
  • Join Date: May 2009
  • Posts: 1702
    • Show all replies
Re: Method to the madness
« Reply #6 on: June 19, 2009, 07:28:40 PM »
I don't want to try and upstage AROS, UAE or even the Minimig. So I will aim at... A theoretical hand held Amiga device. If you can come up with any ideas for someone who 'may' carry such an idea to completion, feel free to share.
Wish List:
Shrink chip mem bus into a single serial bus.
Integrated HD Video output.
Dedicated OS Bus.
« Last Edit: June 19, 2009, 10:54:23 PM by ElPolloDiabl »
Go Go Gadget Signature!
 

Offline ElPolloDiablTopic starter

  • Hero Member
  • *****
  • Join Date: May 2009
  • Posts: 1702
    • Show all replies
Re: Method to the madness
« Reply #7 on: June 19, 2009, 08:49:18 PM »
Quote from: the_leander;512352
One thing I am curious though and possibly this would be more into UAE territory is would it be possible or even desirable to run a similar type of software inside CUDA?


Hard to say... It would certainly be handy, especially for 3D GUI. Did you have a specific function in mind?
Go Go Gadget Signature!
 

Offline ElPolloDiablTopic starter

  • Hero Member
  • *****
  • Join Date: May 2009
  • Posts: 1702
    • Show all replies
Re: Method to the madness
« Reply #8 on: June 19, 2009, 09:21:17 PM »
Quote from: the_leander;512360
One of the biggest issues with Amiga emulation as I understood it was the graphics. Would it not be possible to have the CUDA processor deal more directly with it rather then needing the cpu to handle that particular facet?


A good idea, but I haven't perused the UAE source code, or looked at the CUDA specific commands. It seems like the logical progression though.
Go Go Gadget Signature!
 

Offline ElPolloDiablTopic starter

  • Hero Member
  • *****
  • Join Date: May 2009
  • Posts: 1702
    • Show all replies
Re: Method to the madness
« Reply #9 on: June 19, 2009, 10:18:50 PM »
@SamuraiCrow

Thanks for that, it looks interesting.
Yeah, I'm thinking that smartphone/multimedia device parts are likely to be cheap in the next couple of years. While I've got time on my hands I can look at ways to replace the ageing Amiga hardware. I won't get very far without a Oscilloscope, but I'll look at picking up a cheap one in the near future.


Check this: (unlikely, but a good idea)
_AAA spec_>
64-bit pixel bus with 114 MHz pixel clock in dual systems which makes 1280x1024 @72Hz screens possible.
128-bit long memory bus bursts

_Hombre spec_> (nearly rubbish)
Indexed 8-bit (256 colors) chunky mode with 24-bit CLUT
non-indexed 16-bit chunky graphic modes
32-bit chunky with 8-bit alpha channel)
1280 x 1024 resolution in 16.8 million colors

the what if:

That's Dave's design. I poured over it for 5 minutes, but couldn't fault it.
« Last Edit: June 19, 2009, 11:41:03 PM by ElPolloDiabl »
Go Go Gadget Signature!
 

Offline ElPolloDiablTopic starter

  • Hero Member
  • *****
  • Join Date: May 2009
  • Posts: 1702
    • Show all replies
Re: Method to the madness
« Reply #10 on: June 20, 2009, 12:04:37 AM »
Theoretical digital sound... Can you make a speaker up of many elements? And make a guesstimate how much that would cost...
Go Go Gadget Signature!
 

Offline ElPolloDiablTopic starter

  • Hero Member
  • *****
  • Join Date: May 2009
  • Posts: 1702
    • Show all replies
Re: Method to the madness
« Reply #11 on: June 20, 2009, 02:52:53 AM »
Quote from: meega;512416
Like this?

That are basically earbud headphone on a large scale. I was thinking you could have a hundred plus (per channel) speakers outputting the various frequencies while minimizing the use of ADC/DAC.
Imagine connecting each instrument in a orchestra to a mic. Then having wall to wall speakers. It would be truly immersive sound.
« Last Edit: June 20, 2009, 02:56:24 AM by ElPolloDiabl »
Go Go Gadget Signature!
 

Offline ElPolloDiablTopic starter

  • Hero Member
  • *****
  • Join Date: May 2009
  • Posts: 1702
    • Show all replies
Re: Method to the madness
« Reply #12 on: June 21, 2009, 10:00:16 PM »
Okay here's an idea:
Build a pseudo operating system for the WinUAE shell. Something gives you the ability access Amiga functions from Windows. Also allow WinUAE to run in multiple sandboxes.
Go Go Gadget Signature!
 

Offline ElPolloDiablTopic starter

  • Hero Member
  • *****
  • Join Date: May 2009
  • Posts: 1702
    • Show all replies
Re: Method to the madness
« Reply #13 on: June 21, 2009, 11:27:43 PM »
Quote from: Karlos;512804
How's that different from running multiple instances of UAE?

Put a hypervisor in so they can talk to each other. (sry I should have put that in)
Go Go Gadget Signature!
 

Offline ElPolloDiablTopic starter

  • Hero Member
  • *****
  • Join Date: May 2009
  • Posts: 1702
    • Show all replies
Re: Method to the madness
« Reply #14 on: June 22, 2009, 12:11:02 AM »
Quote from: bloodline;512815
Wow! Weird thread, I can't follow... can someone abstract for me?

Trying to reverse engineering the co-processor bus.
Go Go Gadget Signature!