AmigaOS 3.2 NDK released
The new AmigaOS 3.2 Native Developer Kit can be found here:
https://www.hyperion-entertainment.c...=form&file=122 as a free download. It is an updated version compared to the one shipped on the AmigaOS 3.2 CD-ROM and contains Includes&Autodocs, full changelogs since 3.1 and more. Developers plan to publish more information to provide assistance for installation and usage in combination with various compilers and assemblers. All contributions for any programming language are welcome! |
Thank you for providing this, much appreciated!
|
why did the NDK changed :
$dff020 DSKPTH Disk track buffer pointer (high 5 bits) $dff022 DSKPTL Disk track buffer pointer (low 15 bits) to dskpt I guess some source code won't assemble anymore right? same for other 5bits/15bits registers (hi/low) |
Quote:
|
Quote:
The NDK 3.2 R4 contents feature exactly three files which even reference the dskpt register, these being: Code:
Include_H/hardware/custom.h:41: APTR dskpt; Truth be told, most of the NDK 3.2 material has been published before and we are merely standing on the shoulders of giants :) The more detailed custom register properties are not what the header files are concerned with. |
@Olsen
http://coppershade.org/articles/Code...Register_List/ and http://amiga-dev.wikidot.com/information:hardware @Phantasm True |
As far as I can recall, the custom.i file only ever referred to the full register where there was H and L parts (i.e. dskpth followed by dskptl was referred to as the 32-bit dskpt). Any breakdown into the individual H & L parts was done by files external to the NDK.
Appendix I in the Hardware Reference Manual contained a more broken down version of the register address mapping but that is not directly part of the NDK. Here, in particular, you will find DSKPTH and DSKPTL. https://archive.org/details/amiga-ha...e/373/mode/2up |
Quote:
You really had me worried there for a minute. What's in the NDK 3.2 is really just the collection of tools and documentation for tinkering with the Amiga at the operating system level or slightly below that. Deeper layers of the machine certainly exist, but their scope is outside the NDK save for the header files which describe the custom chip & CIA registers. |
IMHO the amiga.lib misses some relocations:
... e.g. _CreatePort (in CreatePort.c-00001382.o) calls _NewList (NewList.asm-00001381.o) with a `bsr` Code:
5c: 486b 0014 pea 20(a3) |
Am I not seeing it or is reaction.lib missing from the 3.2 SDK?
Using sas/c 6.5.8, I was able to compile the example apps using the lib from 3.5 sdk. They work but I'm seeing bugs and wondering if it's because of the older .lib |
Quote:
I reckon the problem here is that amiga.lib making a PC-relative call to NewList() is unsuitable for the program in question because of it size, or linker implementation constraints. The original "vintage" amiga.lib was always built using the Green Hills 'C' compiler, which always used 32 bit adressing when referencing external code or data. Here's how the 1992 vintage CreatePort.c looks like: Code:
Amiga Object File Loader V1.00 I do wonder why amiga.lib is still being used, though. libnix, clib2, etc. should have their own versions of these functions. Nobody should need to link against amiga.lib. The majority of the code found in amiga.lib are stubs for calling Amiga library and device functions via stack-based parameter passing. If you really do not need these, you ought to link against small.lib, which is shorter because it omits the stubs. |
Quote:
|
Thanks Olaf
|
in the header Include_H/workbench/workbench.h:88
Code:
STRPTR * do_ToolTypes; Code:
CONST_STRPTR * do_ToolTypes; Code:
UBYTE *FindToolType( CONST_STRPTR *toolTypeArray, CONST_STRPTR typeName ); |
Quote:
I'd say this change makes good sense in context and would be good to go into the NDK 3.2R4 change set. Thank you :) |
Quote:
|
If I’m not mistaken all macros like CALLEXEC CALLDOS etc has been removed from the LVO/*lib_i why?
|
All times are GMT +2. The time now is 01:12. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.