Welcome, Guest. Please login or register.

Author Topic: Amos Interlace Screens not working under Kickstart 3.1  (Read 3410 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline Pat the Cat

Re: Amos Interlace Screens not working under Kickstart 3.1
« on: July 06, 2017, 04:46:09 PM »
Quote from: arongooch;827980
I looked back into this tonight and sure enough KS 1.3,2.04,3.0 all work correctly but using KS3.1 it's indeed a no go. It would appear that the graphics.library is different and Amos Pro 2.0 and Amos 1.3 don't seem to open working interlace screens with Kickstart 3.1

Im wondering what my next move should be. Is there a way to modify an Amos library to work correctly with the graphics.library in KS3.1? I wouldn't have a clue how to do this and I wonder if there would be many people around these days that could get this to work?

I would hazard a guess you will need to write a routine in a different development environment to hit the hardware politely? I don't know if Amos Pro actually lets you call external routines easily.

Daedalus recent release Aminet "ADFBlitzer" is written to call routines politely, but it's written in Blitz, not Amos. So while it's an open source demonstration, it's not exactly an ideal example for you to study.

That's maybe a way around the issue. Section 9.2.1 of the manual does state you can include machine code routines, but I have no idea how functional this is for your purpose.
« Last Edit: July 06, 2017, 04:52:48 PM by Pat the Cat »
"To recurse is human. To iterate, divine."

A1200, Vanilla, Surf Squirrel, SD Card, KS 3.0/3.z, PCMCIA dev
A500, Vanilla, A570, Rev 5, KS 1.2/1.3 Testbench system
Rasp Pi, UAE4ARM, 3D laser scanner, experimental, hoping for AmigaOS4Arm, based on Watterott Fabscan Pi
 

Offline Pat the Cat

Re: Amos Interlace Screens not working under Kickstart 3.1
« Reply #1 on: July 08, 2017, 02:58:37 PM »
Quote from: arongooch;828015
Would be very cool to write something in machine code in Amos to set the interlace screen properly with the graphics.library if that is indeed the issue. Have no idea how to do that though hahaha.
 

 I'm going out on a limb, but you might not even need to to write a machine code routine or follow Mike's suggestion (but that might help a lot if a newer graphics library or the older one works).
 
  The part that is broken is the software in Kickstart 3.1 that opens a graphics library. If you do that and then "hit the hardware" with a POKE, DOKE or maybe LOKE, hopefully the screen data your game produces is interpreted right and you are sorted.
 
 If Amos let's you do such things, then that would get the code going to real Amigas, should be OK on the emulator. Without writing external code. I suspect Amos might not permit that, as it's the sort of "kiddy wheel feature" which stops rummaging under the bonnet. I don't know either way.
 
 IIRC, the reason you can't do a copper list to write every single hardware registers is that the early hardware registers are protected from being written by a copper list. So an out of control copper has some kind of limit on it anyway. Again, IIRC, frames are displayed alternately, so you need to change the pointers to the data every screen update to do interlace on native Amiga chipsets.
 
 The tough part is you learning how to setup Amiga screens by using hardware registers. Opening a library correctly and using that is the preferred, most compatible method. Further details on both methods in Hardware reference manual and rom kernal manuals.
 
 It's nice to have different options by learning more, and it sucks that Amos just doesn't work in this respect. Amos Pro was released before 3.1 so I don't think it was tested with that.
"To recurse is human. To iterate, divine."

A1200, Vanilla, Surf Squirrel, SD Card, KS 3.0/3.z, PCMCIA dev
A500, Vanilla, A570, Rev 5, KS 1.2/1.3 Testbench system
Rasp Pi, UAE4ARM, 3D laser scanner, experimental, hoping for AmigaOS4Arm, based on Watterott Fabscan Pi