Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
blog:x68_devtools [2020/06/29 21:11] – [Documentation] john | blog:x68_devtools [2020/08/12 20:28] (current) – [The Lydux toolchain (GCC 4.6.2)] john | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ======= X68000 Development Tools ======= | + | ======= |
===== Documentation ===== | ===== Documentation ===== | ||
Line 18: | Line 18: | ||
{{: | {{: | ||
+ | ---- | ||
+ | |||
+ | === X68000 Programmers Reference === | ||
+ | |||
+ | Comprehensive set of programmers reference manuals covering most of the system calls, the use of (very early) GCC and GDB tools and more. | ||
+ | |||
+ | {{: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | * Blue book (#0) covers the install and use of early versions of GCC, HAS assembler and GDB | ||
+ | * Red book (#1) covers the use of the early versions of GCC and the GDB debugger | ||
+ | * Green book (#2) covers function calls available in old versions of GCC and doscalls (including better worded descriptions compared to ' | ||
+ | |||
+ | It's fair to say that #0 has more assembly examples than #2, which is probably the one you want if you are interested in figuring out how to use the various X68000 system calls in // | ||
+ | |||
+ | //Do be aware that when the various libc function calls are listed, this is referring to the old version of GCC, and not the new version which comes with newlib and a smaller set of functions. | ||
+ | // | ||
---- | ---- | ||
Line 34: | Line 52: | ||
{{: | {{: | ||
- | Source code: [[https:// | + | {{: |
+ | |||
+ | To be fair, the best source of material for this one is found in the example source code. Note: Disk 1 is just the old GCC compiler, the examples are found on Disk 2. You can either download the disk images and mount them in a real or emulated X68000, or download the extracted sample files so that you can view them with any normal text editor. Be aware that some of the code uses S-JIS encoded for actual function names!!! | ||
Line 54: | Line 74: | ||
| code.rtf | Note sure what this is - a character encoding table?? | {{ : | | code.rtf | Note sure what this is - a character encoding table?? | {{ : | ||
| condition.rtf | Explanation of the condition bits in status registers resulting from arithmetic operations. | {{ : | | condition.rtf | Explanation of the condition bits in status registers resulting from arithmetic operations. | {{ : | ||
- | | doscall.rtf | List of the available DOS/ | + | | doscall.rtf | List of the available DOS/ |
| fdformat.rtf | Table of the various supported 3.5" and 5.25" floppy disk formats and their layout (sectors/ | | fdformat.rtf | Table of the various supported 3.5" and 5.25" floppy disk formats and their layout (sectors/ | ||
| fefunc.rtf | List of the available arithmetic operators, including multiplication and division, and their parameters. | {{ : | | fefunc.rtf | List of the available arithmetic operators, including multiplication and division, and their parameters. | {{ : | ||
Line 97: | Line 117: | ||
Pre-built binaries for Linux: | Pre-built binaries for Linux: | ||
- | * {{ : | + | * {{ : |
If you want to build the tools from source, here's a handy script that patches them with a required fix before install; you must apply the patch, as there is a bug in this version of GCC which will cause a segfault during compilation otherwise: | If you want to build the tools from source, here's a handy script that patches them with a required fix before install; you must apply the patch, as there is a bug in this version of GCC which will cause a segfault during compilation otherwise: | ||
* {{ : | * {{ : | ||
+ | |||
+ | Note as well, that the current distribution includes some C header prototypes that cause bus errors due to struct alignment problems. This is discussed here: https:// | ||
+ | The pre-compiled bundle above already has the fixes applied to //dos.h//. | ||
+ | |||
+ | ==== Makefiles & Compiling ==== | ||
Using the toolchain: | Using the toolchain: | ||
- | * Download the archive | + | * Download the pre-built binaries above and extract in /, it unpacks to / |
* X68000 library functions are defined in: | * X68000 library functions are defined in: | ||
* / | * / | ||
* / | * / | ||
* Use the sample makefile below | * Use the sample makefile below | ||
- | + | ||
< | < | ||
# Names of the compiler and friends | # Names of the compiler and friends |