To do list: Difference between revisions
m (→Optimizations) |
m (→Hardware) |
||
(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]. | ||
== | ==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== | ==Software== | ||
* Famitracker converter | * 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 | * Pitch bend & vibrato to music engine | ||
* 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== | ||
==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== | ||
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);