To do list: Difference between revisions

From Uzebox Wiki
Jump to navigation Jump to search
(37 intermediate revisions by 5 users not shown)
Line 1: Line 1:
These are some pending items left to implement and/or fix:
These are some pending items left to implement and/or fix. Anyone wanting to contribute is free to do it! Just let us know on the forums or by sending a private message to uze6666 on the [http://uzebox.org/forums Uzebox forum].


==Hardware==
==General==
* Ethernet interface
* Add Paul McPhee's Hello World to the uzebox repo
 
==Schematics==
* Publish custom parts library used for the schematics
* Put standard resistors on the B/W minimalist Uzebox design.


==Software==
==Software==
* Famitracker converter
* Add vector mode from CunningFellow to kernel
* Mode 3 Y sprite flipping
* Famitracker converter. Note: Famitracker now has an export plugin API, that should make things much easier.
* Pitch bend & vibrato to music engine
* Pitch bend & vibrato to music engine
* Finish Bootloader
* FAT16 API
* #define ClearVram(args...) Fill(0, 0, VRAM_TILES_H, VRAM_TILES_V, *#args)
* Add joystick support to uzem: [http://uzebox.org/forums/viewtopic.php?p=5232#p5232]
* Update the emulator to support the new method that detects if controllers are connected on the ports
* Update the emulator to support the new method that detects if controllers are connected on the ports
* Fixes for MAC [http://uzebox.org/forums/viewtopic.php?p=5873#p5873 here]
* add  a warning in Packrom when exceeding the character set.
* Add screen rotate code to Uzem (for uzebox jamma) [http://uzebox.org/forums/viewtopic.php?p=9887#p9887]
* fix megatris crash at gameover. [http://uzebox.org/forums/viewtopic.php?p=12831#p12831]
* Fix every error that complains about PROGMEM stuff not being declared const on newer GCC versions
* Fix video mode 2 scrolling bug: http://uzebox.org/forums/viewtopic.php?f=3&t=2362&p=17482#p17474
==Emulator==
* Add a title-safe overlay frame to indicate the safe area for text display and avoid cropping on some CRT TVs.
* add latest patch from filipe
* complete movie recoding feature
* add gui
* MAC patch http://uzebox.org/forums/viewtopic.php?p=8707#p8707
* change emu to default to the .hex file when the extension is unspecified
* bug: Real hardware needs 17 clocks between an OUT and an IN to get valid data. The emulator lets you get away with 16
* bug:  Worked out the difference between the real SD card and the emulator. After getting a CMD12 (stop transmission) the real SD card goes busy for a bit. You have to wait a while and then send two more 0xFF bytes to it before you can send a Read Multi command. The emulator you can send CMD12 and then the emulated SD card is instantly ready.  You can send 4 or 5 0xFF straight away and it wont work. Wait a few 100 clock cycles and then send 2x 0xFF and it is good
* new features: H_Sync timer tracking, Stack Usage Tracking. See [http://uzebox.org/forums/viewtopic.php?p=15055#p15055 forums] for details.


==Optimizations==
==Optimizations==
* Initialization values table


==Documentation==
==Documentation==
* Add WIP games (Bomber, etc)
*Add to FAQ:
[quote]is the irc channel down(#uzebox on freenode)[/quote]
It was not setup by me and don't think it was ever used.
[quote]is there any tutorial for videomode 2 with sprites?[/quote]
[http://uzebox.org/wiki/index.php?title=Jhysaun%27s_Tutorial-a-Day Checkout Jhysaun's Tutorial-a-Day] for two quick tutorials. I'm aware that pretty soon a new game will come out that should make a pretty exaustive example of mode 2! Another game using mode is Zombienator, you can checkout it's sources [http://code.google.com/p/zombienator/source/browse/#svn/trunk here]
[quote]the midi interface? what exactly is it for?[/quote]
MIDI (Musical Instrument Digital Instrument) is the standard serial interface used for communication between computers and music synthesizers. It was use to turn the Uzebox in a 8-bit retro-sounding synth and help convert music for games. I don't think anybody ever built it so that's why it was removed from the latest reference design.
[quote]what is the SD card slot for?[/quote]
Ahhh many things my friend! With it, you can load & flash games from a SD card, not requiring you to be connected to a computer to play different games. See the [http://uzebox.org/forums/viewtopic.php?f=3&t=520 Gameloader]thread for more info. You can also stream [http://uzebox.org/forums/viewtopic.php?p=2527#p2527 music] and [http://uzebox.org/forums/viewtopic.php?p=2883#p2883 movies] from it!
[quote]and can i use hex files for atmega644 for the 644p or do i need to change the makefile?[/quote]
No need to change the makefile, the 644p is the same as the 644 (it only includes an additional UART not used for the Uzebox anyway).
Document makefile, terminology, etc
[http://uzebox.org/forums/viewtopic.php?p=5907#p5907]
*Add STK500 connectivity issues:
-[http://uzebox.org/forums/viewtopic.php?p=6195#p6195]


==Fixes==
==Fixes==
In packrom, changes required to support 64bits platforms:
All you have to do is change the typedefs from:
typedef unsigned char u8;
typedef signed char s8;
typedef unsigned short u16;
typedef signed short s16;
typedef unsigned long u32;
To:
typedef uint8_t u8;
typedef int8_t s8;
typedef uint16_t u16;
typedef int16_t s16;
typedef uint32_t u32;
Those types come from stdint.h.
A couple of casts are also needed towards the end:
fprintf(stderr,"\tCRC32: 0x%lx\n", (long unsigned int) rom.header.crc32);
fprintf(stderr,"\tProgram size: %li \n",(long int) rom.header.progSize);


==Web Site==
==Web Site==
* Update "Hello World" tutorial

Revision as of 23:43, 14 July 2017

These are some pending items left to implement and/or fix. Anyone wanting to contribute is free to do it! Just let us know on the forums or by sending a private message to uze6666 on the Uzebox forum.

General

  • Add Paul McPhee's Hello World to the uzebox repo

Schematics

  • Publish custom parts library used for the schematics
  • Put standard resistors on the B/W minimalist Uzebox design.

Software

  • Add vector mode from CunningFellow to kernel
  • Famitracker converter. Note: Famitracker now has an export plugin API, that should make things much easier.
  • Pitch bend & vibrato to music engine
  • Update the emulator to support the new method that detects if controllers are connected on the ports
  • Fixes for MAC here
  • add a warning in Packrom when exceeding the character set.
  • Add screen rotate code to Uzem (for uzebox jamma) [1]
  • fix megatris crash at gameover. [2]
  • Fix every error that complains about PROGMEM stuff not being declared const on newer GCC versions
  • Fix video mode 2 scrolling bug: http://uzebox.org/forums/viewtopic.php?f=3&t=2362&p=17482#p17474

Emulator

  • Add a title-safe overlay frame to indicate the safe area for text display and avoid cropping on some CRT TVs.
  • add latest patch from filipe
  • complete movie recoding feature
  • add gui
  • MAC patch http://uzebox.org/forums/viewtopic.php?p=8707#p8707
  • change emu to default to the .hex file when the extension is unspecified
  • bug: Real hardware needs 17 clocks between an OUT and an IN to get valid data. The emulator lets you get away with 16
  • bug: Worked out the difference between the real SD card and the emulator. After getting a CMD12 (stop transmission) the real SD card goes busy for a bit. You have to wait a while and then send two more 0xFF bytes to it before you can send a Read Multi command. The emulator you can send CMD12 and then the emulated SD card is instantly ready. You can send 4 or 5 0xFF straight away and it wont work. Wait a few 100 clock cycles and then send 2x 0xFF and it is good
  • new features: H_Sync timer tracking, Stack Usage Tracking. See forums for details.

Optimizations

Documentation

  • Add WIP games (Bomber, etc)
  • Add to FAQ:

[quote]is the irc channel down(#uzebox on freenode)[/quote] It was not setup by me and don't think it was ever used.

[quote]is there any tutorial for videomode 2 with sprites?[/quote] Checkout Jhysaun's Tutorial-a-Day for two quick tutorials. I'm aware that pretty soon a new game will come out that should make a pretty exaustive example of mode 2! Another game using mode is Zombienator, you can checkout it's sources here

[quote]the midi interface? what exactly is it for?[/quote] MIDI (Musical Instrument Digital Instrument) is the standard serial interface used for communication between computers and music synthesizers. It was use to turn the Uzebox in a 8-bit retro-sounding synth and help convert music for games. I don't think anybody ever built it so that's why it was removed from the latest reference design.

[quote]what is the SD card slot for?[/quote] Ahhh many things my friend! With it, you can load & flash games from a SD card, not requiring you to be connected to a computer to play different games. See the Gameloaderthread for more info. You can also stream music and movies from it!

[quote]and can i use hex files for atmega644 for the 644p or do i need to change the makefile?[/quote] No need to change the makefile, the 644p is the same as the 644 (it only includes an additional UART not used for the Uzebox anyway).

Document makefile, terminology, etc [3]

  • Add STK500 connectivity issues:
-[4]

Fixes

In packrom, changes required to support 64bits platforms: All you have to do is change the typedefs from: typedef unsigned char u8; typedef signed char s8; typedef unsigned short u16; typedef signed short s16; typedef unsigned long u32;

To: typedef uint8_t u8; typedef int8_t s8; typedef uint16_t u16; typedef int16_t s16; typedef uint32_t u32;

Those types come from stdint.h.

A couple of casts are also needed towards the end: fprintf(stderr,"\tCRC32: 0x%lx\n", (long unsigned int) rom.header.crc32); fprintf(stderr,"\tProgram size: %li \n",(long int) rom.header.progSize);

Web Site