Feb 15, 2008

  • New technical manager. See the peole page.

Nov 14, 2007

  • New S.Ha.R.K. version 1.5.4 available here, now runs on virtual machines like QEmu and VirtualBox.

Jan 17, 2007

  • New S.Ha.R.K. version 1.5.3 available here, now fully GPL compatible.

Aug 21, 2006

  • CiberMouse competition library for S.Ha.R.K. available here (RTSS 2006).

Jul 18, 2006

  • New Tracer manual draft released; documentation section restyled; experimental txt and html manual versions. See here.

Jul 17, 2006

S.Ha.R.K. Version 1.4

  • Differently from 1.22, S.Ha.R.K 1.4 needs a DJGPP with ELF binaries support (normally DJGPP creates COFF executable). To get a DJGPP ready for ELF, you can download the new DJGPP development package MINDJ333.ZIP.
    Inside it, you can find the BINUTILS 2.14 and GCC 3.3.3 re-compiled for ELF cross-compile environment.
    If you want to download it separately, click BNU214E.ZIP and GCC333E.ZIP

  • It is possible to compile S.Ha.R.K. with Cygwin.
    As DJGPP, you need a cross-compile environment for I386-ELF binaries. Check this link to undestand how to do it.

  • To install S.Ha.R.K. now you DON'T need these steps

      cp config/mk/ config/
      cp oslib/mk/ oslib/

      cp config/mk/ config/
      cp oslib/mk/ oslib/

    But after you edit the SHARK.CFG file, where all the kernel options are defined, you can suddenly call "make". This is the default version of SHARK.CFG

    # S.Ha.R.K. Setup File
    # Kernel Image Start Point
    # MEM_START = 0x220000
    # The kernel image file will be loaded starting from this
    # physical memory address. For DOS users, it is important
    # to set an high address (like 0x1720000) if you are using
    # Smartdrive or other tools which require Extended Memory
    MEM_START = 0x220000

    # Enable the system time computation through TSC register
    # Only Pentium or higher CPU class
    TSC = TRUE

    # Enable timer interrupt through P6 APIC instead of PIT
    # Only P6 or higher CPU class, TSC support must be enabled

    # Enable TSC Read Timer Optimization
    # TIMER_OPT = 1000 (For CPU < 1 GHz - Wraparound 585 years)
    # TIMER_OPT = 2000 (For 1 GHz < CPU < 2 GHz - Wraparound 146 years)
    # TIMER_OPT = 4000 (For 2 GHz < CPU < 4 GHz - Wraparound 36 years)
    # TIMER_OPT = 8000 (For CPU < 8 GHz - Wraparound 292 years)
    TIMER_OPT = 8000

    # Select the events tracer

    # Select the BIOS INTERRUPT access mode
    # BIOS = X,VM86
    # X means that you must use x.exe as shark loader
    # if shark needs to call BIOS interrupt (Ex. to enable
    # graphics)
    # VM86 means that shark call the BIOS interrupts as
    # Virtual Machine 86, and you can load a graphical
    # demo also through GRUB. VM86 MODE IS NOT COMPATIBLE
    BIOS = X

    # Select the FrameBuffer Configuration
    # VESA it uses the VBE interrupts to enable the
    # selected video mode
    # FINDPCI the FrameBuffer driver will try to find a
    # PCI/AGP graphical card. If a card is found, FB will
    # use a specific driver to enable it
    # VGA16 enable the VGA16 (4 bpp) video mode
    FB = VESA

    # Select the FrameGrabber Configuration
    # NORMAL default mode
    # FORCE_PXC it forces the frame grabber to init a PXC200 card

    This is an UNSTABLE version of S.Ha.R.K.

    There are a lot of new features and modifications.
    The main changes are inside the device drivers. S.Ha.R.K. 1.4 will completely remove the old drivers, like keyboard, graphics and other I/O devices.
    The new drivers are based on the linux 2.6 source code.

    The main goal is to reduce significatively the time to get a new peripheral working under S.Ha.R.K. Due to the incredible amount of different devices and considering their complexity, it is very important to reuse pre-existent source code.

    A new Linux 2.6 Emulation Layer is designed to easily reuse all the device drivers supported by the kernel release 2.6 of Linux. This layer control all the IRQ and linux kernel timers used by a device drivers. A particular bandwidth control mechanism guaranties that any device driver running inside the linux layer cannot break the system real-time constraints. It also keeps the devices fully functional.

    A detailed descrition of this device drivers control technique will be put on the documentation as soon as possible.

    The actual driver status is:

      KEYBOARD------- OK
      MOUSE---------- OK
      SPEAKER-------- OK
      JOYSTICK------- OK
      FRAME BUFFER--- OK (Vesa,NVidia,Matrox with acceleration, some ATI)
      CPUFREQ-------- OK
      NETWORK-------- PATCHED
      PCI6025E------- PATCHED
      (Actually the Network and PCI6025E drivers are the old source code patched to work with the linux emulation layer. A completely new support is on the way)

    NOTE: Check the demos BASE, ASTRO, INPUT, JUMPBALL, NETWORK, BTTVDEMO, PCI6025E, ADVTIMER, MESADEMO, NEWTRACE to understand how the new drivers are initialized and used. Unfortunately we need more time to rewrite all the documentation. Pay attention especially on the init and shutdown sequences.

bugzilla people mail links news retis