Ultimate Amiga

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1]   Go Down

Author Topic: ADB Extension 24  (Read 6213 times)

0 Members and 1 Guest are viewing this topic.

Lonewolf10

  • AMOS Extensions Developer
  • AMOS Dev
  • A2000
  • *****
  • Karma: 3
  • Offline Offline
  • Gender: Male
  • Posts: 618
    • http://www.aliensrcooluk.com
ADB Extension 24
« on: August 20, 2010, 10:21:09 AM »


Hi,

I have thought of a few commands which I may add to my own extension shortly (especially if I can't get the copper effects to work as I want to in my Extension Examiner program):

   - Reserve As Screen BANK,WIDTH,HEIGHT,COLOURS,[Hires|Lowres|Laced]  (primarily for copper screens)
   - Screen Bank X   (Sets currently active Screen Bank)
   - SB Print At(X,Y),TEXT$   (Same as Print command, but uses current Screen Bank)
   - Reserve As Zone Bank SCREEN,MAX_ZONES   (creates a Zone Bank)
   - X=Mouse Zone(X)   (returns -1 if mouse within Zone X, as defined in the Zone Bank)


Any comments or suggestion for more commands welcome.


Regards,
Lonewolf10

Logged

SamuraiCrow

  • compile-time wierdo
  • Forum Mod
  • A1200
  • *****
  • Karma: 5
  • Offline Offline
  • Gender: Male
  • Posts: 946
  • Compile-time wierdo
Re: ADB Extension 24
« Reply #1 on: August 22, 2010, 08:17:47 PM »

Hi Lonewolf10,

I was wondering if you would be interested in making an AGA-only extension that would make a 64-pixel wide sprite overlap the side border of an underscanned screen (using the BorderSprite bit) so that there could be two screens side-by-side on the display.  The sprite would be the sidebar, and the rest would be the main part of the screen.  The goal of such an arrangement would be to make them scroll independently of one-another (although the sprite could only scroll vertically) using the screen offset command or an equivalent.

I'm willing to help out as long as I have time.  Maybe I could make some of this code a shared library that would be called by the extension so it could be used by other programming languages.  I've found out that AmigaE makes buggy shared libraries and that the module format of AmigaE isn't 100% debugged either.  I'll probably be writing it in C as a result of that.

Let me know what you think!
Logged

KevG

  • A600
  • *
  • Karma: 1
  • Offline Offline
  • Posts: 87
Re: ADB Extension 24
« Reply #2 on: August 22, 2010, 09:51:56 PM »

I would love to see a custom made dual playfield display made up off 4 colours and 16 colours instead of eight and eight. I've tried all sorts of stuff like swapping planes around but I gave up in the end.

Keep up the good work. There's not many of us AMOS devs around so its nice to know that there are people around like you who are putting the time and effort in to make AMOS better.

Cheers, Kev G.
Logged

SamuraiCrow

  • compile-time wierdo
  • Forum Mod
  • A1200
  • *****
  • Karma: 5
  • Offline Offline
  • Gender: Male
  • Posts: 946
  • Compile-time wierdo
Re: ADB Extension 24
« Reply #3 on: August 23, 2010, 03:16:51 AM »

Doing more than 8 colors in a playfield requires the AGA chipset.
Logged

KevG

  • A600
  • *
  • Karma: 1
  • Offline Offline
  • Posts: 87
Re: ADB Extension 24
« Reply #4 on: August 23, 2010, 01:21:16 PM »

Quote
Doing more than 8 colors in a playfield requires the AGA chipset

Thats what I thought until Brian The Lion came along (ECS version). This game uses 4 colours in the
background and 16 in the front playfield. I think they managed to do it by swapping planes around so that the transparent plane was set one plane further back in the order. I've tried it myself but haven't had much success  :-[
Logged

SamuraiCrow

  • compile-time wierdo
  • Forum Mod
  • A1200
  • *****
  • Karma: 5
  • Offline Offline
  • Gender: Male
  • Posts: 946
  • Compile-time wierdo
Re: ADB Extension 24
« Reply #5 on: August 24, 2010, 03:52:25 PM »

@KevG

That is a hack.  I don't know if it will even work on future Amigas like the MiniMig.  If the registers were mapped the same way as the AGA chipset handles playfields, then maybe it will work on the NatAmi.
Logged

Lonewolf10

  • AMOS Extensions Developer
  • AMOS Dev
  • A2000
  • *****
  • Karma: 3
  • Offline Offline
  • Gender: Male
  • Posts: 618
    • http://www.aliensrcooluk.com
Re: ADB Extension 24
« Reply #6 on: August 25, 2010, 04:31:34 PM »


I was wondering if you would be interested in making an AGA-only extension that would make a 64-pixel wide sprite overlap the side border of an underscanned screen (using the BorderSprite bit) so that there could be two screens side-by-side on the display.  The sprite would be the sidebar, and the rest would be the main part of the screen.  The goal of such an arrangement would be to make them scroll independently of one-another (although the sprite could only scroll vertically) using the screen offset command or an equivalent.

I'm willing to help out as long as I have time.  Maybe I could make some of this code a shared library that would be called by the extension so it could be used by other programming languages.  I've found out that AmigaE makes buggy shared libraries and that the module format of AmigaE isn't 100% debugged either.  I'll probably be writing it in C as a result of that.


You couldn't of thought of something simpler?!  I have no experience with the AGA chipset and I'm not sure if my RKRM's cover it. I haven't tried writing anything that calls a library function yet either, so this would take quite a bit of research before attempting to do it.


Quote from: KevG

I would love to see a custom made dual playfield display made up off 4 colours and 16 colours instead of eight and eight. I've tried all sorts of stuff like swapping planes around but I gave up in the end.


I do know that it is possible to change the number of bitplanes on each playfield in dual playfield mode (e.g. 2 colours for one and 32 for the other), however I have not tried doing this myself yet and, as SamuraiCrow has already said, it may require sort of hack.


Regards,
Lonewolf10

Logged

SamuraiCrow

  • compile-time wierdo
  • Forum Mod
  • A1200
  • *****
  • Karma: 5
  • Offline Offline
  • Gender: Male
  • Posts: 946
  • Compile-time wierdo
Re: ADB Extension 24
« Reply #7 on: August 25, 2010, 07:44:13 PM »

I may just use the FD to extension converter if I can figure out how to make the library work.  I may be getting in over my head as well.  The RKRMs only cover ECS but there is an AGA Guide file in AmigaGuide format that will help.

-edit-
I've got a better research project for you that will work on OCS/ECS.  I've been looking to make a replacement for the MrgCop() subroutine in Graphics.library.  It is slow because it only deals with one Copper instruction at a time.  Could you write one that batches instructions together?  You may need to look a little deeper into the View and ViewPort structures in the RKRMs since they will probably require some modifications as well.
« Last Edit: August 26, 2010, 08:23:11 PM by SamuraiCrow »
Logged

Lonewolf10

  • AMOS Extensions Developer
  • AMOS Dev
  • A2000
  • *****
  • Karma: 3
  • Offline Offline
  • Gender: Male
  • Posts: 618
    • http://www.aliensrcooluk.com
Re: ADB Extension 24
« Reply #8 on: August 29, 2010, 12:05:31 AM »

I may just use the FD to extension converter if I can figure out how to make the library work.  I may be getting in over my head as well.  The RKRMs only cover ECS but there is an AGA Guide file in AmigaGuide format that will help.

-edit-
I've got a better research project for you that will work on OCS/ECS.  I've been looking to make a replacement for the MrgCop() subroutine in Graphics.library.  It is slow because it only deals with one Copper instruction at a time.  Could you write one that batches instructions together?  You may need to look a little deeper into the View and ViewPort structures in the RKRMs since they will probably require some modifications as well.

Good luck with the FD thing. I think I tried that long ago and came unstuck, but I'm sure you'll have better luck with it.

Improving MrgCop() does sound intriguing. Batching instructions might be a little tricky, but I'll have take a look at the View and Viewport structures and see whether I think it can be done.


Regards,
Lonewolf10

Logged

Lonewolf10

  • AMOS Extensions Developer
  • AMOS Dev
  • A2000
  • *****
  • Karma: 3
  • Offline Offline
  • Gender: Male
  • Posts: 618
    • http://www.aliensrcooluk.com
Re: ADB Extension 24
« Reply #9 on: August 30, 2010, 12:23:58 AM »


I would love to see a custom made dual playfield display made up off 4 colours and 16 colours instead of eight and eight. I've tried all sorts of stuff like swapping planes around but I gave up in the end.


Today I checked in the official Amiga HRM's (Hardware Reference Manuals) - I have 2 sets, one from 1985 and one from 1989. Both state the same thing, each playfield can only use between 0 and 3 bitplanes, so you can only have a maximum of 8 colours per playfield (unless you do some tricks using the copper/copperlist).
Colour 0 is used as transparent for playfield 1 and Colour 8 is used as transparent for playfield 2.


Regards,
Lonewolf10

Logged

Lonewolf10

  • AMOS Extensions Developer
  • AMOS Dev
  • A2000
  • *****
  • Karma: 3
  • Offline Offline
  • Gender: Male
  • Posts: 618
    • http://www.aliensrcooluk.com
Re: ADB Extension 24
« Reply #10 on: August 31, 2010, 08:00:06 PM »


I may just use the FD to extension converter if I can figure out how to make the library work.  I may be getting in over my head as well. 


This may be of some help. Whilst searching for help on how to display sprites I came across this collection of web-based Amiga RKRM's, which includes FD files here:

http://amigadev.elowar.com/read/ADCD_2.1/Includes_and_Autodocs_2._guide/node0000.html

I hope that helps.


Regards,
Lonewolf10

Logged

SamuraiCrow

  • compile-time wierdo
  • Forum Mod
  • A1200
  • *****
  • Karma: 5
  • Offline Offline
  • Gender: Male
  • Posts: 946
  • Compile-time wierdo
Re: ADB Extension 24
« Reply #11 on: September 01, 2010, 02:18:52 PM »

@Lonewolf10

I have the FD files for the OS already.  I would be making a new FD file for my library.  BTW, the files you found on elowar's server are just copies of the ones on the Amiga Developer CD 2.1 which I already have.
Logged
Pages: [1]   Go Up
 

TinyPortal 2.2.2 © 2005-2022