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:10] – [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 32: | Line 50: | ||
This is another old book that describes how to use GCC (and period assembler and linker, such as HAS, as listed way down this page) to develop game software on the X68000. | This is another old book that describes how to use GCC (and period assembler and linker, such as HAS, as listed way down this page) to develop game software on the X68000. | ||
- | {{: | + | {{: |
- | 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 |