Overview Features Coding ApolloOS Performance Forum Downloads Products Order Contact

Welcome to the Apollo Forum

This forum is for people interested in the APOLLO CPU.
Please read the forum usage manual.
Please visit our Apollo-Discord Server for support.

All TopicsNewsPerformanceGamesDemosApolloVampireAROSWorkbenchATARIReleases
Documentation about the Vampire hardware

Direct ASM Coding Expansion Ports ?

Chris Chris

Posts 25
23 Sep 2023 08:16

Hi Apollo-Team,

after searching under register CODE and then SAGA CHIPSET, it was not possible to find (over seen?) the register for direct coding the pins of:

- 12S expansion port
- SPI expansion port 1
- SPI expansion port 1
- rtc/I2C
- JTAG connector

Please be so kind to explain how ports above can be addressed by directly setting bits (bset) or writing bytes (move.b).

Missing are the registers and its explanation and maybe what to take care of.

Is there a library existing that can be / must be used to program those for organizing the access?

Thanks in advance.

Gunnar von Boehn
(Apollo Team Member)
Posts 6194
23 Sep 2023 10:22

Maybe you can tell me what do you want to do, then I can better answer you.
JTAG is for upgrading the card image, you will normally not program it from Amiga side. This port works by itself in hardware.
i2S is an output port, where the Amgia chipset constantly puts out the Audio signal in i2s format. This works automatically in hardware there is no need to program anything for it.
The i2c port of RTC interface has already working drivers included in the i2c library.

Also for the SPI port are existing drivers.

Please help me understand what you want to do.

Chris Chris

Posts 25
23 Sep 2023 18:38

Hi Gunnar,

thanks for your quick reply. The 2 expansion ports to be programmed, is my interest. I want to transfere my old programm that is atm using the CIA parallel ports from old Amiga boards. 8 bit plus 2 bits to control the bus. So, total 10 bits would be required to be programmed by directly hardware access (special hardware been developed). Then all would run on the V4 only, so that I would not need an old unstabe big amiga anymore.

If expansion port drivers are existing then I would use those to check if the 2 ports are in use (blocked?). And if not, I would block those in the system via the drivers.

Then I would like to take those over and do direct programming on those out of an interrupt via move.b and bset.

When my program quits, those ports are handed over back to the OS. Good old direct ugly Amiga style.

ATM I have not bought anything from Apollo yet. But will start purchasing first ones this year as presents for friends.

The main reason not making the transfer yet, is atm, that I have privately too less time. And that other things I have to finsh first, as other wise my wife kills me. As I am following since 2018 I am highly interested in this project - keeping Amiga alive - and - as well - my development - I spend many years and many money on it. All made with MaxomASM - which is still working.

So, I am glad to have you all and do really appriciate keeping Amiga alive. Progamming Amiga was so cool. ATMEL, I do also in risc but is not that funny as Amiga.

Thanks Chris

posts 3