![]() |
![]() |
#1281 | |||||||||||
son of 68k
Join Date: Nov 2007
Location: Lyon / France
Age: 50
Posts: 5,204
|
Quote:
Quote:
Quote:
Supposing it really does, are you also sure it never misses notes on accelerated machines ? Quote:
If you think you know better, just write one that works. Quote:
Quote:
But when you use a protracker player, you have to bang the hardware. If instead you try to play notes with audio.device, it will fail. So the proper way to do this, is to reserve channels with audio.device, and then play notes with direct hw access. Now maybe you want to do it "correctly" and surprise all of us by your great knowledge ? I have a ptk replay routine at the ready, in which audio access is well isolated. I could give it to you and you plug audio.device in. Quote:
So yes perhaps i should report it to have it fixed, but where's the point ? My picture viewer had to work around it to be able to show those stupid dummy 1x1 GIFs that are (were ?) sometimes found on web sites, and i don't want to tell users they now need a much higher OS version to run it. It starts with V39 and that's already much. Same situation as the OS not liking narrow viewports in lowres and generating bogus copperlist. This got fixed in V40 but i still had to work around it as it is not my target. Quote:
Quote:
Quote:
For example, as intuition.library does not provide transparent blitting, i use graphics.library instead. Missing feature that had to be fetched at another place. Another example, even though the OS provides buffering for file i/o, it ends up faster doing buffering by hand inside of the program. OS too slow, do things yourself instead. I do. Quote:
What higher levels offer isn't worth (again, in the context of Amiga programming). They remove features, give slow and big code. Thanks but no thanks. I want to be in full control of what the program does. Only asm provides this. I don't want your "sugar". It's bad for my teeth. ![]() |
|||||||||||
![]() |
![]() |
#1282 |
Computer Nerd
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 47
Posts: 3,603
|
Significant indentation and floor integer divisions are anything but charming.
Indeed: https://spectrum.ieee.org/the-top-pr...languages-2023 |
![]() |
![]() |
#1283 | |
Registered User
Join Date: Aug 2022
Location: UK
Posts: 2,963
|
Quote:
JS doesn't have problems with integer division for the same reason I don't have problems eating with a beak. I don't have one and likewise, it just doesn't have integers. All Number instances are only required to be IEEE floating point. Sure, there's typescript, which tries to put a veneer of type safety on it, but it's about as effective as lipstick on a pig. How many other language runtimes can you name where sorting an array of numbers operates in "alphabetical" order of their string representation by default? And you can't even blame that on it not having integers. |
|
![]() |
![]() |
#1284 | |||||||||
Registered User
Join Date: Jan 2019
Location: Germany
Posts: 2,844
|
Quote:
Yes. And that because I made bug in the audio.device in v45. Yikes. It played again with the bug fixed, and no, it does not miss notes on my 50Mhz 68060. Quote:
Quote:
Quote:
From intuition/screens.h: Code:
/* OpenScreen error codes, which are returned in the (optional) LONG * pointed to by ti_Data for the SA_ErrorCode tag item */ #define OSERR_NOMONITOR (1) /* named monitor spec not available */ #define OSERR_NOCHIPS (2) /* you need newer custom chips */ #define OSERR_NOMEM (3) /* couldn't get normal memory */ #define OSERR_NOCHIPMEM (4) /* couldn't get chipmem */ #define OSERR_PUBNOTUNIQUE (5) /* public screen name already used */ #define OSERR_UNKNOWNMODE (6) /* don't recognize mode asked for */ #define OSERR_TOODEEP (7) /* Screen deeper than HW supports */ #define OSERR_ATTACHFAIL (8) /* Failed to attach screens */ #define OSERR_NOTAVAILABLE (9) /* Mode not available for other reason */ Quote:
Quote:
Quote:
Quote:
Quote:
At one hand, you say that a software stack creates defects, and at the same time, you refuse to use the tools that prevents such problems. Interesting. It boils down to "only primitive programs can be written with assembler", but that's also what I said in the beginning. Any sufficiently large program *will* be a software stack. |
|||||||||
![]() |
![]() |
#1285 | ||||||||
son of 68k
Join Date: Nov 2007
Location: Lyon / France
Age: 50
Posts: 5,204
|
Let's be honest. If i report a bug it might eventually be fixed, but not if i submit a feature request. Especially not many feature requests.
Quote:
That audio.device interferes with normal playing does not imply it is actually used for said playing. Oh, and next time you try this, also try with older OS versions. Just in case it could have been fixed in the meantime. What's that ? Quote:
So nothing at alls says it is forbidden to open a 1x1 screen. Thanks for confirming it. And again, this does not return an error. That wouldn't be useful for me. My programs still have to work on pristine v39 (or lower when i can). But if this is important for you, why not reporting it yourself ? Quote:
Quote:
Not that the higher level always have a way to ask, f.e. you don't need to ask gadtools to build gadgets without it (or layout a menu). Quote:
Quote:
Hopefully there are easy ways to know if you have input focus or not. Quote:
Nice. But too late. Quote:
As if being large was a quality for a program. |
||||||||
![]() |
![]() |
#1286 | |||||||
Registered User
Join Date: Sep 2022
Location: Switzerland
Posts: 84
|
Quote:
you know the 3.2 NDK and that it contains release notes? you are new to the Amiga? Or why don't you know Deluxe Music ? Quote:
Quote:
I do not know what you are doing, I did a quick test using WinUAE and I could open a 1x1 screen... You know Enforcer & Co ? Quote:
Quote:
that's not what Thor said Quote:
Quote:
And again this is not what Thor said. You want to do things which are not provided by OS functions? => perhaps you are using the wrong computer system. Even if it is possible, it is not the way Commodore intended the Amiga to be programmed. So please leave the platform. If you don't and keep on programming the Amiga the way you like to, then please do not blame the OS when your programs don't work with a newer OS version. too late for what? most likely you are right. Ouh, wait, you fail to open a screen and fail to figure out why the opening of the screen fails... Thomas, don't you want to spare your time to do something productive ? |
|||||||
![]() |
![]() |
#1287 | |
Computer Nerd
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 47
Posts: 3,603
|
![]() Maybe Commodore should've made sure hitting the hardware isn't necessary. Quote:
![]() It's not, because not every Amiga user will upgrade the OS to the current version. You don't have a choice, because the OS simply doesn't do every possible little thing you might need. You do realize that that includes a rather large amount of existing software written several decades ago, right? |
|
![]() |
![]() |
#1288 | ||||||||||
son of 68k
Join Date: Nov 2007
Location: Lyon / France
Age: 50
Posts: 5,204
|
Quote:
I don't care much about 3.2. Yes. Since 1991. ![]() I tell about Delitracker and this brings back Deluxe Music ? Moot, to say the least. Quote:
A significant part of the success of the Amiga, even today, is that ability. No doc says it is forbidden, not even the one he's shown. Quote:
Which software, which OS version ? Existing software of course avoids doing so, and it might have been fixed after V40. Quote:
Quote:
But this is what I said. If Thor didn't reply to it, this was OT or a strawman attempt. Then find the parts that say otherwise. There is a good reason why public screens and private screens both exist. Quote:
Quote:
Quote:
Too late for users to switch to newer OS versions. Accept it or not, most of them will just keep what they have. Quote:
Try the average picture viewer targeting those and show such an image, then grab the screen - it won't be 1x1, try to guess why. And, more important, do not speak about things you know zilch about - and do not be contemptuous like you are currently, or this may well call some moderator in. Quote:
![]() |
||||||||||
![]() |
![]() |
#1289 | |||
Registered User
Join Date: Jan 2019
Location: Germany
Posts: 2,844
|
The bug I did or the original defect? The problem is that the audio.device (due to some Paula idocracies) had to use in some rare conditions a busy-wait-loop to wait for the next horizontal blank to re-initialize the audio state machine. Unfortunately, a busy-waiting loop waits for a variable amount of time given the type of the CPU. One way how to fix that is to access a custom chip address as this synchronizes the CPU to the custom chip clock which is indepenend of th CPU clock. Unfortunately, I read IRQSTAT, and that did not go well with the paula logic. I'm not sure how the fix looks nowadays, but in any event, some hardware register needs to be read there to gain synchronization and get the timing CPU-clock independent.
These are *old* bugs. Current versions of SetPatch has all bug fixes in there from v37 onwards. Quote:
Quote:
Quote:
So, Os updates are worthless? Oh how sweet. Large? No. Fewer bugs. Yes. |
|||
![]() |
![]() |
#1290 |
Registered User
Join Date: Jan 2019
Location: Germany
Posts: 2,844
|
|
![]() |
![]() |
#1291 | |||
son of 68k
Join Date: Nov 2007
Location: Lyon / France
Age: 50
Posts: 5,204
|
Quote:
Quote:
Whatever things intuition supports, if you prefer. Quote:
Yes the platform is more or less locked in its current state. It may seem sad, but at least it's not a moving target. And said "fewer bugs" is better achieved by making things simple rather than making them complex. Emitting guidelines isn't enough if there isn't a set of APIs able to do everything the hardware can. |
|||
![]() |
![]() |
#1292 | |||
Registered User
Join Date: Jan 2019
Location: Germany
Posts: 2,844
|
If you do not want to use the Os, and neither fixes for Os bugs...
I prefer to keep bugs fixed at their source. Quote:
Quote:
Quote:
No, I prefer to spit on people that try to sell asm to me as only useful language. If you read carefully, I *do* use assembler, but only when it's worth doing, and that's not often the case. |
|||
![]() |
![]() |
#1293 | |||
Registered User
Join Date: Jan 2019
Location: Germany
Posts: 2,844
|
Quote:
There is a similar "delay-loop defect" in the trackdisk.device, which will also not work correctly once the CPU gets fast enough... Quote:
Quote:
Oh, and that would be what? Reading the joysticks is *not* an example, and playing audio is *neither* an example. |
|||
![]() |
![]() |
#1294 | ||||||||
son of 68k
Join Date: Nov 2007
Location: Lyon / France
Age: 50
Posts: 5,204
|
Quote:
Me too, but in this case it's not very useful. Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Oh, just 80-90% of games and demos that worked on unexpanded A500. Excuse of the few. |
||||||||
![]() |
![]() |
#1295 | |
Registered User
Join Date: Aug 2022
Location: UK
Posts: 2,963
|
Quote:
|
|
![]() |
![]() |
#1296 |
son of 68k
Join Date: Nov 2007
Location: Lyon / France
Age: 50
Posts: 5,204
|
Right but this is independent of the language.
|
![]() |
![]() |
#1297 |
Registered User
Join Date: Aug 2022
Location: UK
Posts: 2,963
|
|
![]() |
![]() |
#1298 |
Computer Nerd
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 47
Posts: 3,603
|
|
![]() |
![]() |
#1299 | |
Registered User
Join Date: Sep 2022
Location: Switzerland
Posts: 84
|
Quote:
if you keep to the programming guidelines it is very unlikely that your program will fail with a newer OS version or with new hardware. |
|
![]() |
![]() |
#1300 | |
Registered User
Join Date: Sep 2022
Location: Switzerland
Posts: 84
|
Quote:
As well you are ignoring, carefree wiping away, Thomas well meant advices regarding proper programming of the Amiga. This comment is emblematic of your ignorance and resistance to advice. NDK 3.2 does not mean that it is only for AOS 3.2. It just states that it is the most recent version of the NDK which also covers AOS 3.2 features. Afterall the NDK 3.2 is also valid and the most recent version for all AOS versions! e.g. from exec/types.h Code:
/* For compatibility with Kickstart/Workbench 1.x (1985) only! * Do not use these in newer code! */ typedef short SHORT; /* signed 16-bit quantity (use WORD) */ typedef unsigned short USHORT; /* unsigned 16-bit quantity (use UWORD) */ typedef short COUNT; typedef unsigned short UCOUNT; typedef ULONG CPTR; or from exec.doc Code:
NAME OldOpenLibrary -- obsolete OpenLibrary SYNOPSIS library = OldOpenLibrary(libName) D0 A1 struct Library *OldOpenLibrary(APTR); FUNCTION The 1.0 release of the Amiga system had an incorrect version of OpenLibrary that did not check the version number during the library open. This obsolete function is provided so that object code compiled using a 1.0 system will still run. and there is also valuable information for middle aged to very new OS versions e.g. from dos.doc Code:
NAME ExAll -- Examine an entire directory (V36) BUGS In V36, there were problems with ExAll (particularily with eac_MatchString, and ed_Next with the ramdisk and the emulation of it in Dos for handlers that do not support the packet. It is advised you only use this under V37 and later. The V39 DirCache variant of the FFS had a bug in ExAll that required to first Examine() the lock before passing it to ExAll. This was fixed in V40, with a patch in SetPatch. The V40 version passed an invalid argument to the dos.library error report handler in case of trouble, potentially causing crashes or other mischiefs. This was fixed in V47, with a patch in SetPatch V45. Your OpenScreen(1x1) crashes ? Perhaps this helps: Code:
#define AN_OpenScreen 0x84010007 /* open screen, no memory */ #define AN_OpenScrnRast 0x84010008 /* open screen, raster alloc, no memory */ #define AN_SysScrnType 0x84000009 /* open sys screen, unknown type */ |
|
![]() |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Chat GPT Amiga Assembly | rcman | Coders. Asm / Hardware | 3 | 26 March 2023 20:24 |
An Amiga coder was banned without a reason - is it ok? | litwr | project.EAB | 1 | 18 June 2021 20:38 |
Beginning Amiga Assembly Tutorial(s) | Curbie | Coders. Asm / Hardware | 15 | 29 May 2020 00:21 |
Beginning Amiga Assembly Programming | Hewitson | Coders. Tutorials | 32 | 09 October 2012 18:25 |
Amiga Assembly sources - Please help! | W4r3DeV1L | Amiga scene | 21 | 16 July 2008 08:13 |
|
|