Live data from Hacker News

Playing Atari ST Music on the Amiga with Zero CPU

arnaud-carre.github.io

31–40 of 49 posts

Re: Playing Atari ST Music on the Amiga with Zero CPU

#33
post #9

Earlier quoted context omitted.

> I really wish they'd crammed a SID chip into the Amiga alongside Paula This is something the Apple IIgs had. It had an extremely capable synthesiser with good graphics and performance capped so not to compete with Macs. It was a weird machine, a sharp contrast with the minimalistic Apple IIs that preceded, over complicated and trying to be too many things at once. For the same reason I prefer the design of the ST o…

> Amiga made lots of assumptions about the use that ended up tuning it well to platform games and NTSC video editing, but nothing else. I think certainly it was used mostly as a games machine by most owners, but then again so was the Atari ST (at least amongst my cohort at school). As for tuning it well to games and video editing but nothing else... I don't agree. For a long time an Amiga 500 with 1MB RAM expansion a…

The Amiga’s heavy focus on TV-friendly timings went deep into the specialised chips to a point it was difficult to upgrade without losing compatibility. Because of that lack of modularity Commodore had to spend more resources to develop improved machines than its competitors. It was not an obvious mistake then, and it’s not clear now what they could have done to better compete with PCs and Macs.

They could have made much simpler “productivity Amigas” with plain VGA-like graphics to leverage its non gaming software market, at the expense of only having minimal graphics and sound support. There was, IIRC, one, made by a third party that lacked the Amiga chipset, but running the Amiga OS. If they could push something as cheap to make as a Mac LC, they’d have a much more attractive offering for businesses.

Re: Playing Atari ST Music on the Amiga with Zero CPU

#34
post #25
post #21

Earlier quoted context omitted.

It’s not really an 8-bit computer, stuck in a weird place between the //e and the Macs. It kind of is a II, but only in a half hearted way, kind of a new Apple ///, but designed for graphics and sound, and nicer at pretending to be a //e. It’s not even the fastest II - that would be the //c+ - nor the last to be discontinued, which was the Platinum//e. It’s a nice machine, but I find it uninspired, a bit like the C12…

I actually never understood this, the C128 was a strange device (as you say like the IIGS). Was it really because Albert Charpentier left and then nobody was able to do a VicIII until much later (C65)?

Making a VIC III didn’t have to be magic. All it’d need would be a doubled clock and faster memory to keep up with a 2MHz or more 6502. Doubling the clock and memory speed would allow for an 80 column mode and higher resolution without requiring a separate VDP. Also, a couple separate palettes and a palette selector per character line wouldn’t be hard to implement.

At the very least, the two video chips could support overlaying on composite and analog RGB output (because nice colours). The way it ended up was just silly.

Re: Playing Atari ST Music on the Amiga with Zero CPU

#35
post #33

Earlier quoted context omitted.

> Amiga made lots of assumptions about the use that ended up tuning it well to platform games and NTSC video editing, but nothing else. I think certainly it was used mostly as a games machine by most owners, but then again so was the Atari ST (at least amongst my cohort at school). As for tuning it well to games and video editing but nothing else... I don't agree. For a long time an Amiga 500 with 1MB RAM expansion a…

The Amiga’s heavy focus on TV-friendly timings went deep into the specialised chips to a point it was difficult to upgrade without losing compatibility. Because of that lack of modularity Commodore had to spend more resources to develop improved machines than its competitors. It was not an obvious mistake then, and it’s not clear now what they could have done to better compete with PCs and Macs. They could have made…

True, but "Amiga made lots of assumptions about the use that ended up..." seemed an odd way to phrase it, given that it was originally designed as a games machine, although the plans were expanded later in development.

As I understand it, its custom chips were a brilliantly clever solution to a problem that existed at the time. It couldn't be called a mistake, because they couldn't see into the future. As a games machine, the Amiga ended up hamstrung by those same custom chips because they weren't the right architecture for Doom and all the 3D games that followed it. That made no difference to its productivity software though, did it?

Re: Playing Atari ST Music on the Amiga with Zero CPU

#36
post #21

Earlier quoted context omitted.

I'd love to have a IIgs in my collection these days, its truly the pinnacle computer of its type and era.

It’s not really an 8-bit computer, stuck in a weird place between the //e and the Macs. It kind of is a II, but only in a half hearted way, kind of a new Apple ///, but designed for graphics and sound, and nicer at pretending to be a //e. It’s not even the fastest II - that would be the //c+ - nor the last to be discontinued, which was the Platinum//e. It’s a nice machine, but I find it uninspired, a bit like the C12…

Oh darn, actually, I mixed up the IIgs with the //c+, which is the one I really want .. ;)

Re: Playing Atari ST Music on the Amiga with Zero CPU

#37
post #26
post #17

Earlier quoted context omitted.

Sort of both. > AmigaOS was a pre-emptive multitasking OS Yes, but without memory protection. > whilst PCs had to wait for Windows NT/95. While Windows 2 on an 8086 could pre-emptively multitask DOS apps, so long as they all fit into 640 kB at once. Windows/386 could do it in extended memory. The innovative thing in W95 was doing it to Win32 apps as well. OS/2 in 1987 or so could multitask OS/2 code on a 286.

>> AmigaOS was a pre-emptive multitasking OS > Yes, but without memory protection. That’s why it was so fast. :) Also surprisingly stable all things considered.

I havent seen many desktop like workflows on it with several "big" apps open (and running cpu) at the same time, most ive seen was one software at a time or games. Cooperating with yourself is relatively easier, no ?

Re: Playing Atari ST Music on the Amiga with Zero CPU

#38
post #9

Earlier quoted context omitted.

> I really wish they'd crammed a SID chip into the Amiga alongside Paula This is something the Apple IIgs had. It had an extremely capable synthesiser with good graphics and performance capped so not to compete with Macs. It was a weird machine, a sharp contrast with the minimalistic Apple IIs that preceded, over complicated and trying to be too many things at once. For the same reason I prefer the design of the ST o…

> Amiga made lots of assumptions about the use that ended up tuning it well to platform games and NTSC video editing, but nothing else. I think certainly it was used mostly as a games machine by most owners, but then again so was the Atari ST (at least amongst my cohort at school). As for tuning it well to games and video editing but nothing else... I don't agree. For a long time an Amiga 500 with 1MB RAM expansion a…

> For a long time an Amiga 500 with 1MB RAM expansion and a 24 pin dot matrix printer was my main and only computer ...

Same, with the dot-matrix printer too. I'd update and print my D&D character page on it. Kickstart 1.2 and 1.3 ROM switch mod. I also had a not-so-common 5"1/4 drive (but not the ultra-rare official Commodore one): just a a 5"1/4 drive used instead of the 3"1/2 stock one. The reasons being: 5"1/4 floppies were so much cheaper than 3"1/2 ones that after something silly like 40 floppies, the drive had paid for itself. And we had many games (sorry, backups). So many backups.

> All of this you could also do on an Atari ST, although I'd argue that the Amiga had the better operating system.

The better OS and the much better co-processors. The ST however had the MIDI port so the cool dudes back then would hook up their MOOG synths to Atari STs, not Amigas.

Also the ST had the game "Sundog: The Frozen Legacy", from FTL (the company that'd then go on and make Dungeon Master). Legends. For whatever reason the Amiga didn't have Sundog: The Frozen Legacy.

I'd do everything on my Amiga except play Sundog (I'd go the neighbors' house for that) and play Ultima IV and Ultima V (the C64 version was much better than the Amiga version, so I had an old C128D to play the Ultimas).

Re: Playing Atari ST Music on the Amiga with Zero CPU

#39
Awesome!

As an aside, the only code I know that uses Paula's attached mode (where one channel can modulate the volume or pitch of another) is the sound effect used in X-Copy.

It sounds like this: https://youtu.be/2OG2tPx5gnU?t=22

and the code that generates that sound is this:

    PLAY_SAMPLE ; a6=_custom, d0=zero for high-pitch sound, nonzero for low-pitch sound
            move.w  #$F00,d1        ; high pitch: period=$d00-$f00 if d0 == 0
            tst.b   d0
            beq.s   .high
            move.w  #$7700,d1       ; low pitch: period=$7500-$7700 if d0 != 0
    .high   lea     MODULO,a0
            move.w  #$200-1,d0
    .down   move.w  d1,(a0)+
            subq.w  #1,d1
            dbra    d0,.down
            move.w  #$200-1,d0
    .up     addq.w  #1,d1
            move.w  d1,(a0)+
            dbra    d0,.up
            ; set up channel 2; whatever words this plays will
            ; be written to the period register of channel 3
            move.w  adkconr(a6),-(sp)       ; save ADKCON state for later
            move.w  #ADKF_SETCLR!ADKF_USE2P3,adkcon(a6)
            move.l  #MODULO,aud2+ac_ptr(a6)
            move.w  #$400,aud2+ac_len(a6)
            move.w  #0,aud2+ac_vol(a6)      ; no volume (no actual sound wanted!)
            move.w  #$90,aud2+ac_per(a6)    ; change period every $90 ticks
            lea     SAMPLE,a0               ; set up channel 3 to play a simple square wave
            move.l  #$7f7f8080,(a0)         ; square wave: 127 127 -128 -128 ...
            move.l  a0,aud3+ac_ptr(a6)
            move.w  #2,aud3+ac_len(a6)
            move.w  #DMAF_SETCLR!DMAF_AUD2|DMAF_AUD3,dmacon(a6) ; turn on sound DMA
            moveq   #$40,d2                 ; start with volume = 64
    .vol    move.w  d2,aud3+ac_vol(a6)      ; write channel 3 volume
            move.w  #$600-1,d1              ; wait a bit
    1$      move.b  vhposr(a6),d0
    2$      cmp.b   vhposr(a6),d0
            beq.s   2$
            dbra    d1,1$
            subq    #8,d2                   ; repeat to fade
            bpl.s   .vol
            moveq   #0,d0                   ; stop sound
            move.w  d0,aud2+ac_len(a6)
            move.w  d0,aud3+ac_vol(a6)
            move.w  d0,aud3+ac_len(a6)
            move.w  #DMAF_AUD2!DMAF_AUD3,dmacon(a6)
            move.w  (sp)+,d0                ; restore ADKCON
            btst    #ADKB_USE2P3,d0
            bne.s   .keepon
            move.w  #ADKF_USE2P3,adkcon(a6)
    .keepon rts
            section 2,bss,chip
    SAMPLE  ds.w    2
    MODULO  ds.w    $400
Post reply on HN