Compiling

If you are in the ec64 base directory just type make. After succesful compilation you should find a binary in the bin/ directory. If you want to change some compiletime settings then you should edit the Config file.

ec64 consists of different parts: sys, io, ui, rom, core. Some of them are pure x86 assembler (sys, rom, core), one is pure C (ui) and one is a mix of assembler and C (io).

For assembler files you need nasm-0.98. If you have problems while compiling, perhaps you have an older version (0.97 may cause problems). Or the parameters in your NASM Environment Variable may conflict with compile time settings. Try "unset NASM" before compiling.

Each C file is compiled in 3 steps

  • compiling the .c file with gcc to an .s file with AT & T syntax
  • filtering this .s file through sed, resulting in a .S file
  • assembling this .S file with gas to an .o file
Yes this looks a little bit strange, because this could be done in one step with a single gcc call. But i've decided to do this to filter out some instructions out of the .s file, maybe this is obsolete if i would use some more advanced gcc options ;-)

Installation

After successful compilation, copy the binary to a place you like (/usr/bin or $HOME/bin might be a good place). If your kernel has support for a "real" fb device you can start this binary as normal user. If you have no fb device or you use vga16fb ec64 will try to access the VGA registers directly, but for this task ec64 needs root rights, either you start it as root, or you use the setuid mechanism, execute the following commands as root:


chown root:root ec64
chmod 4111 ec64

Notes

  • vesafb may cause problems, because the driver can't change color depth at run time.
  • check the file permissions of your audio and fb device, if you run ec64 as normal user, this user must have read/write permissions on this devices.
  • For additional fb device drivers you should have a look at the GGI Project. In the GGI package you will find KGIcon drivers, which also have a fb device interface.

 

- ec64-0.17 | Karsten Scheibler | 20010304 -