English Amiga Board


Go Back   English Amiga Board > Coders > Coders. System

 
 
Thread Tools
Old 30 September 2011, 18:15   #1
Samurai_Crow
Total Chaos forever!
 
Samurai_Crow's Avatar
 
Join Date: Aug 2007
Location: Waterville, MN, USA
Age: 49
Posts: 2,200
tilemap.library

Hello,

I was thinking about encapsulating some of the most common hardware-banging code into shared libraries so that it could be reimplemented on new hardware and guaranteed to work.

The first library I was going to do was the tilemap. I'm modelling my C source code around ScrollingTrick from the Aminet but have run into a snag: The copperlist for the vertical wraparound doesn't use RethinkDisplay(). From what I've heard, RethinkDisplay() just calls MrgCop() then places the resultant Copper-list into the control registers. I was wondering how would be the best way to implement it.

I definitely want to use RethinkDisplay() since that will allow other Copper split-screens to peacefully coexist with the tilemap screen. It will also come in handy for making multiple tile-maps on the same screen such as with dual-playfields.

What do you all think?
Samurai_Crow is offline  
Old 31 October 2011, 00:24   #2
Photon
Moderator
 
Photon's Avatar
 
Join Date: Nov 2004
Location: Eksjö / Sweden
Posts: 5,658
What new hardware uses split copper lists and dual playfields? Natami is getting ready? \o/
Photon is offline  
Old 31 October 2011, 02:54   #3
Samurai_Crow
Total Chaos forever!
 
Samurai_Crow's Avatar
 
Join Date: Aug 2007
Location: Waterville, MN, USA
Age: 49
Posts: 2,200
Quote:
Originally Posted by Photon View Post
What new hardware uses split copper lists and dual playfields? Natami is getting ready? \o/
Hehe. No it's still in testing.
Samurai_Crow is offline  
Old 01 November 2011, 00:57   #4
Photon
Moderator
 
Photon's Avatar
 
Join Date: Nov 2004
Location: Eksjö / Sweden
Posts: 5,658
Well, when there is an Amiga remade in modern components there will be "another Amiga model" to code for, supporting the Amiga CPU+chipset _and more_, so it's not a bad initiative to call out for "Commodore Amiga libraries" that can then be versioned for hardware enhancements. If often thought about that kind of nice expansive yet inclusive software evolution.

About the original tilemap.library, I think it could work if the new hardware works the same way. Otherwise it's too special-purpose and a Game Construction Package with a platform deploy would allow the customization you'd want. I would not do tilemapped games with C and libs, because I still care about the A500+512k platform, and I'd like to write my own code to make it run 50Hz on that. But maybe that will change if an angel appears

Last edited by Photon; 01 November 2011 at 01:14.
Photon is offline  
Old 02 November 2011, 21:08   #5
Samurai_Crow
Total Chaos forever!
 
Samurai_Crow's Avatar
 
Join Date: Aug 2007
Location: Waterville, MN, USA
Age: 49
Posts: 2,200
What I was thinking was that I could target AGA and its sub-pixel precision scrolling as the basis for the original tilemap.library and then come out with an ECS version that would just ignore the additional scrolling precision for compatibility. That would save people from having to send out to testers every time they came out with a new game. Also, an upward compatible tilemap.library could be written as a wrapper for the necessary OpenGL/Mesa libraries to ease porting to those Amiga-like platforms that don't have real Amiga chipsets any more.

As for C? I think C sucks as a language because it has such awkward pointer handling. At one time I was going to come out with an object-oriented BASIC for the Amiga and others. Now I think I'll just boost the heck out of PortablE and help Chris Handley out.

I'm not opposed to an engine with export capabilities. Mike Parent uses Multimedia Fusion 2 all the time. What I'm opposed to is requiring people to have Windows to run the editor because I don't have a Windows box to use it with.

--Update--
I've found an old Kickstart 1.2 vintage book called the Amiga Programmer's Handbook that describes MrgCop() and RethinkDisplay() with enough detail that maybe I'll be able to pull this job off!

--Update2--
The changes I would need to make would break the screen dragging code in Intuition.library so I'd be better off just building an editor that bangs the hardware anyway. Phooey. Even making an AROS driver for it would require changes to too many parts of AROS to make it possible. :-P

Last edited by Samurai_Crow; 11 November 2011 at 02:44. Reason: Update2
Samurai_Crow is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
pci.library 9.7 roy bates request.Other 34 07 March 2012 07:58
New 64bit library Ian project.SPS (was CAPS) 3 24 February 2012 18:11
MUImaster library Amigalover122 project.WHDLoad 3 17 November 2011 19:16
Tilemap + Scrolling routines source code Ultron Coders. General 0 02 April 2007 01:00
Making a shared library from a gcc .a library JoJo Coders. General 1 10 March 2003 19:06

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 12:11.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.15392 seconds with 13 queries