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 20:11] – [Documentation] john | blog:x68_devtools [2020/08/12 19: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 | ||