Git Product home page Git Product logo

hudk's People

Contributors

astrofra avatar blockos avatar freem 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hudk's Issues

Rewrite joypad functions

To be honest the current joypad routines are a mess and the single joypad routines doesn't handle "triggers" correctly (especially the 6 buttons version).

GFX

Add routines for :

  • Sprites
  • Text output
  • Scrolling
  • Palettes

Makefile

Create a sample makefile with all the necessary options to choose between pceas and cla65

Sprites.

Sprites routines + helpers + consts.

Add license header to source files

C version:

/* 
 * HuDK
 * [small description]
 * Licensed under the MIT License
 * (c) 2016 {authors name}
 */

ASM version:

;;
;; HuDK
;; [small description]
;; Licensed under the MIT License
;; (c) 2016 {authors name}
;;

Load data to BAT

Todo:

  • map_load : Load 8x8 tilemap.
  • map_set : Setup map base pointers and positions
  • map_load16 : Load tilemap made out of 16x16 tiles.
  • documentation : Document tilemap format

Comments!

  • sprite.s
  • example/asm/5_joypad
  • example/asm/6_sprites

Text output.

Add.

  • routines to load a 8x8 font
  • use a plain color (eg not color index #0) for font background ➡️ #23
  • text printing routines
  • display number in base 10 and 16 ➡️ #35
  • document:arrow_right: #31
  • example(s)

Clear VRAM routines

Add routines to clear VRAM.
There may be 2 versions.

  1. VRAM offset, word count
  2. VRAM offset, words per line, line stride, line count

System ports

Add asm include files and documentation for :

  • Ports value (timer, irq).
  • Bit fields+masks.

It may not include any routines (maybe just some macros).

CD ROM bios

Add an include file that maps CD ROM bios functions and the variable defined in the Hu7Cd document.

CA65 compilation issues.

vgm samples and routines don't compile with ca65.
There are issues with irq_on, irq_enable_vec and irq_set_vec macros.

Clear BAT area

Add a routine to clear a BAT area. Something like :
print_fill(x, y, w, h, character) or a more general routine vdc_bat_fill(x, y, w, h, tile_offset, palette_index)

Text area

Implement text areas in order to clamp, position text.

Tools

Tools needed for HuDK 1.0.0 :

  • VGM ➡️ #8
  • WAV file
  • Image
  • Tilemap ➡️ #29

CD ROM ports

Add asm include files and documentation for :

  • Ports value.
  • Bit fields+masks.

It may not include any routines (maybe just some macros).

HuCard startup code

Add a minimal HuCard startup code. This means simple irq vectors.

  • pceas
  • ca65

Input controllers

  • Joypad (2 and 6 buttons) with multitap
  • Explicit single joypad read (2 and 6 buttons) ➡️ #14
  • Analog joypad (:arrow_right: 1.1.0)
  • Mouse ➡️ #15 (:arrow_right: 1.1.0)
  • Pachinko controller
  • Multitap/unplugged controller detection ➡️ #43

Controls

Add support for :

  • 2 buttons joypad
  • 6 buttons joypad
  • multi-tap
  • mouse
  • other (pachinko, analog) ?

Examples

Write tutorials and provide examples, maybe a mini-game.

Path and filename management

Tools will need to extract directory name, base name, from filename as long as absolute path.
Unfortunately posix code may not compile under mscv.

So... either code cross plateform file path management fonctions or find a small thrid party that'll do it.

VCE ports

Add asm include files and documentation for :

  • Ports value.
  • Bit fields+masks.

It may not include any routines (maybe just some macros).

Documentation for the font routines

There are strong constraints on the font routines.

  1. The font must stored as tiles in VRAM.
  2. The font is 8x8 fixed sized.
  3. The font must match a specific ASCII range.
  4. The provided font is made of 2 colors.

Add some pseudo code for variable size or huge alphabet text output.

VDC ports

Add asm include files and documentation for :

  • Ports value.
  • Bit fields+masks.

It may not include any routines (maybe just some macros).

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.