Giter Club home page Giter Club logo

svpdev's Introduction

SVP Development Tools

A collection of development tools targetting SEGA's SVP chip found in the Mega Drive/Genesis version of Virtua Racing.

Project structure

  • boards: KiCAD format files of boards that allow running custom code on an actual SVP chip.
  • samples: simple examples containing both DSP/68000 code to help developers not to start from scratch.
  • tools: (kinda crude) tools to create software for the SVP, containing an SSP160x assembler and a ROM file manipulation tool.

Goals

  • Be able to run arbitrary code on the real SVP chip in order to research many unknowns in its behavior, and document these.
  • Allow an "easy" access for people interested in this piece of videogame history to run code on it too, whether it's additional research, demos or actual new games (looking forward to it!).

Documentation

All the research done with this project is intended to give more information about the SVP chip to allow the retrodev community to create homebrew (and run it in real hardware). As some parts of this chip are still unclear, further developments and information will be updated in the wiki of this repository.

License

This code is MIT-licensed. Also take into account the following conditions of use:

  • Please use these tools for good. Also for fun. But good fun, not evil fun.
  • If you build something really cool (moderately cool also works for me) please drop a comment at taiyou[at]gmail.com.
  • You're not forced, but if you use these code/tools I'd appreciate if you could acknowledge me :).

svpdev's People

Contributors

jdesiloniz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

svpdev's Issues

[SSP16ASM] Implement a two-pass assembly process

After introducing the missing instruction LD A, addr (as in LD A, 050 to access mem bank 0 - addr 50), the whole labeling system has broke (in 0.1.3). The whole labeling/constants system is too flimsy and convoluted. This would be fixed by redoing the whole assembly process with a proper two-pass approach:

  1. parse code in a first pass to calculate label locations based on each instruction size (properly calculated, not as of now).
  2. replace labels and constants with the actual values
  3. perform second pass with the instructions (along with proper values) to generate assembled file.

[SSP16ASM] More robust error system

  • Implement a proper print format for errors as the current one is not suitable for developers wanting to do anything serious.
  • Try to accumulate errors if possible.
  • Include line codes for errors.

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.