Giter VIP home page Giter VIP logo

xorlib's Introduction

XORLib - old school game library

XORLib is a simple multiplatform game library that is licensed under MIT-license and developed at least for two platforms:

  • PIC32 with NTSC TV and may be PAL TV and VGA
  • DOS32 with CGA and partially EGA/VGA

Version 0.x means that library is in active developement right now and far from completion, but usable. Check progress on our wiki.

Folder "tools" has some tools licensed under MIT-license.

Folder "tests" has some random test programs - some public domain, but some licensed under MIT-license.

Folder "examples" has some public domain apps for XORLib - you can use them as a base for your application!

Acknowledgements

PIC32 code based on "NTSC TV interface" examples from http://hackaday.io/project/2032-pic32-oscilloscope by Bruce Land (Cornell University) that is based on examples from "Programming 32-bit Microcontrollers in C: Exploring the PIC32" by Lucio Di Jasio.

GIF decoder was taken from NetSurf project "libnsgif" (MIT-license):

http://www.netsurf-browser.org/projects/libnsgif/

Authors: Richard Wilson, Sean Fox and James Bursa (decode_gif.c)

JPG decoder is a public domain library called "picojpeg":

https://code.google.com/p/picojpeg/

Author: Rich Geldreich

Usage

In order to build PIC32 application you need MPLAB X IDE from Microchip with XC32 compiler. You need to create empty project for PIC32MX170F256B (or smaller device if your program will fit) and add header files:

  • xorlib.h
  • nedofont.h

and source files:

  • xorlib.c
  • nedofont.c
  • yourapp.c (with function main - for example hello.c).

Then you need to add additional options for xc32-gcc (in Project Properties):

  • option -DPIC32NTSC will use internal 8 MHz oscillator with setting 30MHz as peripheral clock and 60MHz as CPU clock (black and white modes only):

  • option -DPIC32NTSCQ will use external crystal 14.31818 MHz with setting 28.63636MHz as peripheral clock and 57.27272MHz as CPU clock (this option enables NTSC colors similar to CGA "composite" mode):

Also it is a good idea to power your device through the same PICkit3 that you will use for programming (option "Power" for PICkit3 configuration of Project Properties in MPLAB X) - this is PICKit3 pinout:

  1. MCLR (pin 1)
  2. +3.3V (pin 13)
  3. GND (pin 8)
  4. PGED1 (pin 4)
  5. PGEC1 (pin 5)
  6. Not connected

See http://xorlib.com for more info!

Shaos, March-May 2015

xorlib's People

Contributors

shaos avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.