Coder Social home page Coder Social logo

liards's Introduction

** Liards - You are what you is

The developer of this library doesn't know what these letters stand for
exactly, but he does prefer when it's pronounced "Liiarrdzzzz!!", As if spoken
by a highly intoxicated, older slightly overweight and generally off-balanced
individual in an overly filled bar. As in "Ye're all a bunzjov liards, in and
round dust street!!! I lizpededed on byte-compilin when you'ezz wer cho small
zoo lifta cup o coffee. Punks!! Stealin me job, settin back computtin wuznot
years. I'l crush you beans... bones... beans.. lika.." *thud* "... zzzzzzz
...."


** Introduction

Liards simply wants assembly forms for the arm7 and/or arm9 processor of a
Nintendo DS and transforms them into an .nds file, to be executed on a real
live DS or a DS emulator. It has also some memory locations defined. Nothing
special. Nothing to see. Move along.


** Licence - LLGPL, see the included LICENSE file


** Authors

- Ties Stuij


** Installation

To get the latest development version, do a darcs get:

darcs get http://common-lisp.net/project/liards/darcs/liards

Liards depends on Armish, Arnesi, Split-sequence and FiveAM (because it's
needed by Armish).

darcs get http://common-lisp.net/project/liards/darcs/umpa-lumpa
darcs get http://common-lisp.net/project/armish/darcs/armish
darcs get http://common-lisp.net/project/bese/repos/arnesi_dev
darcs get http://common-lisp.net/project/bese/repos/fiveam
http://ww.telent.net/cclan/split-sequence.tar.gz

Get them to play nice with asdf and fire up Liards.


** Testing

execute: (nds-test-compile (initialize-and-make-red) (arm7-loop)
"red-test.nds")

Where initialize-and-make-red and arm7-loop are functions that output opcodes
that have been assembled with assemble. See the test.lisp file. If all went
well an .nds file called red-test.nds will lie waiting for you in the test-roms
directory. Load it in an emulator or upload it to your Nintendo DS if you've
got the know-how. If stuff fails, you'll find some debugging globals and
functions in test.lisp to aid you. Of course this shouldn't be the case for
this initial setup. If stuff DID fail, send a mail.

The test.lisp file also contains some extra debugging aids to query
headers. Have a look if you feel you have a need.

The resulting .nds file in the command above has been tested on various
emulators, wireless-multiboot and a supercard micro-sd slot-2 card. All but
DSEmu did what was expected, and DSEmu failed because it didn't support the arm
blx instruction properly.


** Exported functions

Well... again... this function is exported, because you have to export at least
one function. Is what i think. It's all you need really together with the
assemble function from Armish, but this function is just gonna be the base of a
larger function/macro structure to write useful stuff. Either i'm gonna write
it or you, inside the Liards package or in another, but this function is hardly
to be called a proper interface to outside packages. I'm not even satisfied by
the argument handling. Still, it's all you need...

- nds-compile - compiles an .nds file when fed compiled arm9 and arm7 code and
optionally a name and a directory.  syntax: (nds-compile arm9-code arm7-code
&optional (file "my.nds") (dir *rom-dir*))

Where arm9-code and arm7-code are lists of opcodes/compiled instructions for
the appropriate processor. File and *rom-dir* are file and rom-dir. *rom-dir*
is set to the `roms' dir under the liards root.

example usage: (nds-compile (initialize-and-make-red) (arm7-loop) "red.nds")


** History

Almost non-existant


** Todo

- a few header entries that should better have values which are better set
through calculation are as of now fixed, most notably rom-size.

liards's People

Contributors

stuij avatar

Stargazers

 avatar

Watchers

 avatar James Cloos avatar  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.