English Amiga Board


Go Back   English Amiga Board > Coders > Coders. Asm / Hardware

 
 
Thread Tools
Old 04 May 2021, 15:45   #61
Thomas Richter
Registered User
 
Join Date: Jan 2019
Location: Germany
Posts: 3,214
Quote:
Originally Posted by roondar View Post
It's a false statement, because McGeezer already knows how to align bitmaps and you do know this given he's released AGA software before. Worse, it rather arrogantly assumes "chances are" he'll have done it wrong without bothering to check if he actually did do it wrong.
So where is the "lying" part? This is all "undocumented land". Well, you could argue that "nowadays, nothing is going to change". However, this is pretty much the attitude that prevented already in the past improvements in the platform. "Undocumented" is another word for "hands off, not your territory".


It is good development practise not to depend on undocumented features, and rather use interfaces to obtain the desired effect.


"Programming" means "programming against interfaces". "Interface" does not necessarily mean "software", but also "documented hardware specs".
Thomas Richter is offline  
Old 04 May 2021, 15:53   #62
Thomas Richter
Registered User
 
Join Date: Jan 2019
Location: Germany
Posts: 3,214
Quote:
Originally Posted by Galahad/FLT View Post
With the myriad of crap released on Amiga that patches system calls and can alter someone's display without the programmer of software knowing, its a bit much to expect them to work around "bug fixes" that have nothing to do with their game.

Using the system to allocate memory and file handling is fine, but if you want to ensure someone's crappy patch system cant interfere with your game, avoid the system where possible.

100% system friendly is a luxury those with fast systems can enjoy, but McGeezer wanting to cater for as many machines as possible and limit bug report to actual game bugs and not system bugs, right call

Hold on. You mix up here a couple of things. If a system is patched-up to non-working, then this is the effect of lazy programming, the sole start of all-evil. By patching the system incompetently, the patch alters (silently) the Os interface, and thus breaks it. This is the result of lazy programming, and not following interfaces correctly, exactly the same problem that is created here in first place.


If programs want to cooperate, they need to follow the documented interfaces, this is exactly what I request all the time. That there is much incompetent programming, especially in the patch area, you don't need to tell me. But that shouldn't be the motivation to continue with even more incompetent programming.
Thomas Richter is offline  
Old 04 May 2021, 16:29   #63
roondar
Registered User
 
Join Date: Jul 2015
Location: The Netherlands
Posts: 3,406
Quote:
Originally Posted by Thomas Richter View Post
So where is the "lying" part?
That'd be the part where you knowingly told a falsehood. I pointed out which part was false and how I know you actually are aware it's false twice now. So, for the last time: you claimed "chances are the alignment isn't right", while you damn well know he knows the correct way of aligning bitplanes for AGA.

Your answer here about the "undocumented" nature of the information and the lamenting about coders using that stuff anyway further makes it clear that your statement about alignment has nothing to do with actual chances people have gotten it wrong, but rather with your desire to force any and all Amiga coding to be done only according to your ideas of what is "right" and "wrong".

Of course, it doesn't exactly help your case that the information about AGA bitplane alignment (which you call "undocumented") is not only not undocumented, but on the contrary is extremely widely known, accurately documented in a ton of places and very simple to execute. You're literally pretending that aligning something in memory to either 4 or 8 bytes when using a different fetch mode than 1x is some sort of magical fairy dust we should never even attempt to do because we'll likely get it wrong. Even though this is information which was already well established in 1992, or roughly 30 years ago now.

It's really rather silly.
roondar is offline  
Old 04 May 2021, 17:09   #64
Thomas Richter
Registered User
 
Join Date: Jan 2019
Location: Germany
Posts: 3,214
Quote:
Originally Posted by roondar View Post
That'd be the part where you knowingly told a falsehood.
Once again: No, and no again.



Quote:
Originally Posted by roondar View Post
I pointed out which part was false and how I know you actually are aware it's false twice now. So, for the last time: you claimed "chances are the alignment isn't right", while you damn well know he knows the correct way of aligning bitplanes for AGA.
All I know is what I need to do to get it right, and that's "not do it myself". I do not know the alignment by heart, and I know it depends on conditions that are beyond my control. So, how do you know that your stuff is "right" when, in fact, "what's right" was never put down? Instead, this information was codified into an Os function to do it for you.


Quote:
Originally Posted by roondar View Post

Of course, it doesn't exactly help your case that the information about AGA bitplane alignment (which you call "undocumented") is not only not undocumented, but on the contrary is extremely widely known, accurately documented in a ton of places and very simple to execute.
In which document? I'm quite certain that CBM never made this information available. Yes, I know, people simply don't care, but that's exactly the "sloppy" part. Thus, yes, it is undocumented, indeed, because it was actually told that you should *not* depend on it. The documented part is "Use the Os for it".



Quote:
Originally Posted by roondar View Post
It's really rather silly.


No, it's rather central to the theme of what software development means. It means "I can depend on things that have been granted by the interface makers of the interfaces I use" and "I shall not depend on things that are not part of the interface description".


Your attitude is "oh well, let's just use what we found out experimentally, it was fine until now, it will be fine for the future". Well, you most likely get away with such an attitude on a dead system, but I'm still horrified by this approach. It's not how sane software development works.


You know what's quite silly? Not using the Os function in a situation where there are really only benefits of using it, a guaranteed-working stable interface without depending on undocumented assumptions.


I surely understand that the gels/AnimBob system is pretty crap, don't tell me. I probably understand why people want their own vsprites. As long as you stick to ECS, you are in documented teritory. But I don't get why instead of a plain simple OpenScreen() you want to go through all the LoadView() mess - not only is there no advantage in doing so, it's also error prone.
Thomas Richter is offline  
Old 04 May 2021, 17:22   #65
DaveInFL
Registered User
 
Join Date: Apr 2021
Location: Florida
Posts: 48
Guys, enough is enough already. There are obviously different opinions and different ways of doing this stuff. I am by no means an expert on any of this at all, I know nothing about assembler, etc. However, I think we have gone back and forth and back and forth and back and forth more than enough. We really don't want to see rehashes of the same stuff over multiple posts. If it is that important why not start a new thread on OpenScreen() verses LoadView()

I believe the OP got an answer that he is happy with and from my point of view, anyone that is doing new stuff on the Amiga is doing a great job in my book.
DaveInFL is offline  
Old 04 May 2021, 17:42   #66
roondar
Registered User
 
Join Date: Jul 2015
Location: The Netherlands
Posts: 3,406
Quote:
Originally Posted by Thomas Richter View Post
Once again: No, and no again.
You know he knows how to get alignment right because you know that AGA displays won't actually work if misaligned.
Quote:
All I know is what I need to do to get it right, and that's "not do it myself". I do not know the alignment by heart, and I know it depends on conditions that are beyond my control. So, how do you know that your stuff is "right" when, in fact, "what's right" was never put down? Instead, this information was codified into an Os function to do it for you.
You're now claiming that you don't know how to set the alignment? You do realize that would make your original statement "chances are the alignment isn't right" completely unsupported, don't you?! You're proving my point for me here.
Quote:
In which document? I'm quite certain that CBM never made this information available. Yes, I know, people simply don't care, but that's exactly the "sloppy" part. Thus, yes, it is undocumented, indeed, because it was actually told that you should *not* depend on it. The documented part is "Use the Os for it".
There's plenty of sources for the information. And they have been verified to be correct. Both by experimentation (how dare they) and, crucially, also by some people just looking into what the OS actually does. Now, I haven't done the latter - nor, ironically, much of the former. But we are all well aware that the complete 3.1 source code has been floating around the net, so there's no real secrets any more. As such, I'm 100% certain that if the OS contained a different way of setting those registers we'd have known it by now.
Quote:
No, it's rather central to the theme of what software development means. It means "I can depend on things that have been granted by the interface makers of the interfaces I use" and "I shall not depend on things that are not part of the interface description".
Software development has many, many different meanings. Yours is but one amongst many. One that might work on systems with a proper modern OS and enough HW resources to not care. But not one that will work particularly well on low end Amiga's where the OS doesn't actually deliver what is needed for the purposes we're talking about here (i.e. action games on low end HW).
Quote:
Your attitude is "oh well, let's just use what we found out experimentally, it was fine until now, it will be fine for the future". Well, you most likely get away with such an attitude on a dead system, but I'm still horrified by this approach. It's not how sane software development works.
There is no such thing as sane software development for a dead system. The only sane development for the Amiga would be to not do any. Nor does my attitude towards Amiga development reflect in any way my attitude towards development on modern systems nor does it represent my professional view on development. Different methods for different situations.

Anyway, the official schematics for the AGA chipset are now available so there's no more need to experiment to figure it all out. We can now know for certain that alignment works exactly like the old documents you claim don't exist
Quote:
You know what's quite silly? Not using the Os function in a situation where there are really only benefits of using it, a guaranteed-working stable interface without depending on undocumented assumptions.
In this case, there are not only benefits. As has been pointed out before.

Look, you might be misunderstanding me. I'm not a fan of mixing the OS and non-OS code. In fact, I firmly believe it should be one or the other.

Edit: actually I do find myself agreeing with DaveInFL. It might be best to simply agree to disagree and leave it at that. This has indeed been overshadowing the OP's question, which has already been answered.
roondar is offline  
Old 04 May 2021, 17:57   #67
Thorham
Computer Nerd
 
Thorham's Avatar
 
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 47
Posts: 3,751
Quote:
Originally Posted by roondar View Post
There is no such thing as sane software development for a dead system.
That implies that having a hobby isn't sane. Running around naked outside screaming 'I'm the Easter bunny' isn't sane

Quote:
Originally Posted by roondar View Post
In this case, there are not only benefits. As has been pointed out before.
What's the downside of using ScreenOpen()/ScreenOpenTagList() in this memory restricted context? I don't see any (unless you do it wrong and end up wasting memory).

@Thomas Richter: Please stop this OS madness. On an A500 with half a megabyte of memory you're not going to make a high performance game using the OS and you end up having to kill it. Simple facts, and a completely sane way of doing things because we don't have ten million different chip sets, but only three and they're largely compatible.
Thorham is offline  
Old 04 May 2021, 18:06   #68
malko
Ex nihilo nihil
 
malko's Avatar
 
Join Date: Oct 2017
Location: CH
Posts: 4,856
Quote:
Originally Posted by Thorham View Post
[...] On an A500 with half a megabyte of memory you're not going to make a high performance game using the OS and you end up having to kill it. [...]
[joke]But mcgeezer codes for a 2MB A1200, not 512Ko A500 [/joke]


Quote:
Originally Posted by Thorham View Post
[...] @Thomas Richter: Please stop [...]
+1.
malko is offline  
Old 04 May 2021, 18:07   #69
DanScott
Lemon. / Core Design
 
DanScott's Avatar
 
Join Date: Mar 2016
Location: Tier 5
Posts: 1,209
Quote:
Originally Posted by Thomas Richter View Post
In which document? I'm quite certain that CBM never made this information available.
I got the full AGA docs off Commodore in 1993 (I was one of the first)
DanScott is offline  
Old 04 May 2021, 18:19   #70
roondar
Registered User
 
Join Date: Jul 2015
Location: The Netherlands
Posts: 3,406
Quote:
Originally Posted by Thorham View Post
That implies that having a hobby isn't sane. Running around naked outside screaming 'I'm the Easter bunny' isn't sane
I'd argue that most hobbies are not about sanity
Anyway, what I meant was hopefully clear? By overstating that part of my reply, I was trying to point out that the reactions about this topic have been a bit over the top considering the lack of real-world importance
Quote:
What's the downside of using ScreenOpen()/ScreenOpenTagList() in this memory restricted context? I don't see any (unless you do it wrong and end up wasting memory).
In this case and as I understand it, it would essentially mean that McGeezer would have to rewrite chunks of his game just to accommodate a loading screen. He really has only a tiny amount of memory left, if the OS starts to allocate even temporary space that might be enough to make it no longer fit on his target of unexpanded A1200. That seems like a pretty big downside to me.

Last edited by roondar; 04 May 2021 at 18:22. Reason: Spelling/grammar
roondar is offline  
Old 04 May 2021, 18:33   #71
Thorham
Computer Nerd
 
Thorham's Avatar
 
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 47
Posts: 3,751
Quote:
Originally Posted by malko View Post
But mcgeezer codes for a 2MB A1200
Didn't realize

Quote:
Originally Posted by roondar View Post
In this case and as I understand it, it would essentially mean that McGeezer would have to rewrite chunks of his game just to accommodate a loading screen. He really has only a tiny amount of memory left, if the OS starts to allocate even temporary space that might be enough to make it no longer fit on his target of unexpanded A1200. That seems like a pretty big downside to me.
Yes, that would be bad. However, he wouldn't have to. He already has the bitplanes unpacked in chipmem, so you simply tell ScreenOpenTagList() to just use that memory. From what I know, the OS wouldn't actually allocate any extra memory. Seems nicer than the LoadView() method if it causes no problems. If the LoadView() method is reliable, then it doesn't really matter, of course.
Thorham is offline  
Old 04 May 2021, 18:55   #72
kamelito
Zone Friend
 
kamelito's Avatar
 
Join Date: May 2006
Location: France
Posts: 1,801
Quote:
Originally Posted by DanScott View Post
I got the full AGA docs off Commodore in 1993 (I was one of the first)
The only AGA doc I remember was the one with Asmone. Is your doc available somewhere to download?
kamelito is offline  
Old 04 May 2021, 19:04   #73
Antiriad_UK
OCS forever!
 
Antiriad_UK's Avatar
 
Join Date: Mar 2019
Location: Birmingham, UK
Posts: 418
Quote:
Originally Posted by kamelito View Post
The only AGA doc I remember was the one with Asmone. Is your doc available somewhere to download?
Did you mean this one, Dan?

http://grandis.nu/eabsearch/search.p...=&httplinks=on

I had a friend at uni in 93 and he got me a photocopy of some docs from a games company he was at. The contents are identical to the link above but it was just typeset properly. I still have the photocopy hehe
Antiriad_UK is offline  
Old 04 May 2021, 19:17   #74
DanScott
Lemon. / Core Design
 
DanScott's Avatar
 
Join Date: Mar 2016
Location: Tier 5
Posts: 1,209
Quote:
Originally Posted by Antiriad_UK View Post
Did you mean this one, Dan?

http://grandis.nu/eabsearch/search.p...=&httplinks=on

I had a friend at uni in 93 and he got me a photocopy of some docs from a games company he was at. The contents are identical to the link above but it was just typeset properly. I still have the photocopy hehe

Yeah, mine were typeset properly. Can't remember exactly when I got them, but it would have been around mid 1993 I think.

I remember at the time EVERYONE was hassling me for a copy
DanScott is offline  
Old 04 May 2021, 19:27   #75
BippyM
Global Moderator
 
BippyM's Avatar
 
Join Date: Nov 2001
Location: Derby, UK
Age: 48
Posts: 9,355
@thomas....

It is 2021, the Amiga has been dead nearly 30 years. You are entitled to your opinion, this doesn't mean others are wrong. You preach abiut how devs should follow commodore guidelines.... Erm.. Commodore is dead...

Finally why don't you prove that you can do a high end, decent game on a stock machine.. There are more users wirh low end amigas than there are wirh 040/060 machines..

Finally.. .Let a developer develop for what they want, how they want without being harassed and told. They are sloppy etc...

Remember... Amiga is dead... Get over it
BippyM is offline  
Old 04 May 2021, 21:44   #76
DMWCashy
Registered User
 
Join Date: Dec 2019
Location: Newcastle
Posts: 67
Thomas might be trying to point out that using the Amiga OS is good for beginners and people like himself who do not know the hardware and alignments off by heart. Maybe he is losing things in translation and also doesnt understand that people on here like mcgeezer, roondar etc do know the hardware very well, and do not need the OS to hold their hand.
DMWCashy is offline  
Old 04 May 2021, 22:25   #77
kamelito
Zone Friend
 
kamelito's Avatar
 
Join Date: May 2006
Location: France
Posts: 1,801
Or he’s aware of a new Amiga HW not compatible at the chipset level
kamelito is offline  
Old 04 May 2021, 23:44   #78
DMWCashy
Registered User
 
Join Date: Dec 2019
Location: Newcastle
Posts: 67
Quote:
Originally Posted by kamelito View Post
Or he’s aware of a new Amiga HW not compatible at the chipset level
Does he own an Amiga with AAA chipset ?
DMWCashy is offline  
Old 05 May 2021, 11:51   #79
Thomas Richter
Registered User
 
Join Date: Jan 2019
Location: Germany
Posts: 3,214
Quote:
Originally Posted by DanScott View Post
I got the full AGA docs off Commodore in 1993 (I was one of the first)

Any chance to share them? I'm asking, because even Os developers don't have such specification - and in fact, I'm not even aware that such a document exists.
Thomas Richter is offline  
Old 05 May 2021, 11:55   #80
Thomas Richter
Registered User
 
Join Date: Jan 2019
Location: Germany
Posts: 3,214
Quote:
Originally Posted by DMWCashy View Post
Thomas might be trying to point out that using the Amiga OS is good for beginners and people like himself who do not know the hardware and alignments off by heart. Maybe he is losing things in translation and also doesnt understand that people on here like mcgeezer, roondar etc do know the hardware very well, and do not need the OS to hold their hand.

The point is a different one, really. The point is "understanding the interface" and the difference between that and an implementation. The interface towards AGA is the software interface by the Os. To my knowledge, there was never an official document how AGA actually works, this was all codified into software. That's different to ECS, where specs are available (in the RKRM hardware, to name it).



It's a rather general problem I have on how software development works on the Amiga - by second-guessing interfaces, or failing to understand what consistitues an interface. I understand that people learned in the mean time how AGA works, but that's based on reverse engineering and does not constitute a definite interface granted by its developers.
Thomas Richter 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
REQ: NoiseTracker or ProTracker System friendly source redblade Coders. Asm / Hardware 4 27 February 2021 08:56
Cool e-ink display for 30 euro. Amiga friendly? TenLeftFingers support.Hardware 3 11 November 2016 12:21
System friendly Protracker Replay? AGS Coders. System 2 16 August 2014 20:53
Any Screen grabers HighGFX friendly? NovaCoder support.Apps 4 17 December 2009 13:50
Assembler System Friendly code redblade Coders. General 3 29 July 2008 12:15

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 08:30.

Top

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