Annotation of MiNT/src/purec/puremint.txt, revision 1.1.1.3

1.1.1.3 ! root        1: How to compile MiNT 1.08 with PureC
1.1       root        2: 
                      3: -----------------------------------
                      4: 
                      5: 
                      6: 
1.1.1.3 ! root        7: Julian F. Reschke, 25. Juni 1993
1.1       root        8: 
1.1.1.3 ! root        9: email: [email protected]
1.1       root       10: 
                     11: 
                     12: 
                     13: 
                     14: 
                     15: (1) Special files
                     16: 
                     17: 
                     18: 
                     19: First of all, you need a special osbind.h. This is because Pure's own 
                     20: 
                     21: version differs in some small details from the GCC header files. You 
                     22: 
                     23: can't use Pure's tos.h, either, because in its latest versions it already 
                     24: 
1.1.1.2   root       25: defines some of MiNT's data structures. You can either copy osbind.h into 
1.1       root       26: 
1.1.1.2   root       27: the MiNT source directory or copy it into your PureC include folder. If 
1.1       root       28: 
1.1.1.2   root       29: you are using the MiNT library, all should work fine without this file.
1.1       root       30: 
                     31: 
                     32: 
                     33: This is all what's needed. You can either use the command line versions 
                     34: 
1.1.1.2   root       35: of PureC, or you can use the PureC shell (copy mintpure.prj to the source 
1.1       root       36: 
1.1.1.2   root       37: directory). I am compiling MiNT with GNU make (latest version at 
1.1       root       38: 
1.1.1.2   root       39: atari.archive.umich.edu should work fine) and a self-made 'cc' command, 
1.1       root       40: 
1.1.1.2   root       41: that I've specially written for the PureC command line versions (see 
1.1       root       42: 
1.1.1.2   root       43: makefile.pcc). This tool is still being tested, and I've not yet decided 
1.1       root       44: 
1.1.1.2   root       45: how to distribute it. If you are interested, write to me.
1.1       root       46: 
                     47: 
                     48: 
                     49: If you're going to use the PureC shell, you'll have to 'manually' 
                     50: 
                     51: translate the .spp files to the PASM syntax using asmtrans.ttp. The 
                     52: 
                     53: syntax is
                     54: 
                     55: 
                     56: 
                     57: asmtrans -purec -o outfile.s outfile.spp
                     58: 
                     59: 
                     60: 
                     61: genmagic.ttp is needed to create the file magic.i, which in turn is 
                     62: 
                     63: included by the .spp files.
                     64: 
                     65: 
                     66: 
                     67: 
                     68: 
                     69: (2) Things to do
                     70: 
                     71: 
                     72: 
                     73: So far, I've made no attempt to translate asmtrans with PureC. Try it 
                     74: 
                     75: yourself (you'll need alloca; might work with the MiNT library version 
                     76: 
                     77: for PureC) or compile them with gcc.
                     78: 
                     79: 
                     80: 
                     81: 
                     82: 
                     83: (3) Caveats
                     84: 
                     85: 
                     86: 
                     87: This is a preliminary 'port'. It seems to work fine on my machine, but 
                     88: 
                     89: this guarantees nothing:
                     90: 
                     91: 
                     92: 
                     93: There's still a conflict in the way PureC saves registers with what MiNT 
                     94: 
1.1.1.2   root       95: file system drivers or device drivers expect. You will have to use PureC 
1.1       root       96: 
1.1.1.2   root       97: 1.1 to get the correct behaviour.
1.1       root       98: 
                     99: 
                    100: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.