Libraries, utilities, bootloaders...
by ripper121 » Fri Apr 11, 2014 8:54 am
Found a nice site with sprites.
I think this sprites can easily convert to gamebuino.
http://www.retrogamezone.co.ukCharacters can be used free :
http://www.retrogamezone.co.uk/disclaimer.htmIf you find some sites with good sprites for Gamebuino, then post it in this thread, i will made a list from.
Update:
Sprites
(mod: For inspiration only, do not use Copyrigh material)
-
ripper121
-
- Posts: 224
- Joined: Fri Apr 04, 2014 2:02 pm
- Location: Germany
by adekto » Fri Apr 11, 2014 9:10 am
um there are legal iseus with that mostly nintendo sega sony and others these RIPED sprites are basically stolen and these rules the guy post are bs
this is not something i recommend using for commercial use so id dont like to use it for gamebuino personally
-
adekto
-
- Posts: 448
- Joined: Tue Feb 25, 2014 9:47 pm
- Location: belgium
by ripper121 » Fri Apr 11, 2014 9:15 am
we dont sell the games, so its not commercial
-
ripper121
-
- Posts: 224
- Joined: Fri Apr 04, 2014 2:02 pm
- Location: Germany
by adekto » Fri Apr 11, 2014 9:20 am
im sorry but we arent going to bundle games with ripped sprites
really try to bring original content (even in art)
if u want sprites that are legal check out
opengameart.org dont forget to credit people
-
adekto
-
- Posts: 448
- Joined: Tue Feb 25, 2014 9:47 pm
- Location: belgium
by adekto » Fri Apr 11, 2014 10:09 am
anyway here is how to convert sprites
photoshop: image->mode->index color set to custom and add 3 colors (white/black/grey)
fireworks: set to greyscale edit levels until u get 3 grey levels
pixen: grab color on the pallet and change it to one of the 3 colors u want to replace that color
universal tool: use the bucket fill on a color to change it
also u may want to edit e few parts to flesh out some lighting issues
(
source cc by Stephen Challener)
- Attachments
-
- Redshrike.png (4.99 KiB) Viewed 7958 times
-
adekto
-
- Posts: 448
- Joined: Tue Feb 25, 2014 9:47 pm
- Location: belgium
by ripper121 » Fri Apr 11, 2014 10:56 am
Or save it with paint in monochrom.
How far is the knowledge about the possibility of 3 colors with the 3310 LCD ?
-
ripper121
-
- Posts: 224
- Joined: Fri Apr 04, 2014 2:02 pm
- Location: Germany
by adekto » Fri Apr 11, 2014 11:30 am
grey is possible but not in large area's the example images will probably not work very wel
-
adekto
-
- Posts: 448
- Joined: Tue Feb 25, 2014 9:47 pm
- Location: belgium
by ripper121 » Fri Apr 11, 2014 12:11 pm
Can someone test how big the max grey area is possible?
Becouse when some useres develope now images and they cant dispaly, the work was useless.
-
ripper121
-
- Posts: 224
- Joined: Fri Apr 04, 2014 2:02 pm
- Location: Germany
by Myndale » Fri Apr 11, 2014 2:02 pm
I just tested this and I'm able to do full-screen displays at around 300FPS. What I am noticing is that even at these extremely high frame rates I'm getting a small amount of flicker at certain rates and virtually none at others. 3ms is significantly above the persistence of the liquid crystal, so what appears to be happening is that the display updates are aliasing with the 5110 refresh circuitry. Clamping the refresh rate to a more sane value should fix it but I'll have to check the LCD's datasheet to determine what the ideal rate should be.
Sadly, my tests seem to indicate that flicker-free 4-color grey-scale isn't going to be possible...the 5110 update circuitry just isn't fast enough to support it
So in summary: full-screen 3-color grey-scale will be possible, and with sufficiently optimized code you'll have plenty of cycles to space.
Here's my test code for anyone that wants to confirm my findings:
- Code: Select all
#define PIN_SCE A1
#define PIN_RESET A0
#define PIN_DC A2
#define PIN_SDIN 11
#define PIN_SCLK 13
#define PORT_SCLK PORTB
#define SCLK_BIT 5
#define PORT_SDIN PORTB
#define SDIN_BIT 3
#define LCD_C LOW
#define LCD_D HIGH
#define LCD_X 84
#define LCD_Y 48
void LcdInitialise(void)
{
pinMode(PIN_SCE, OUTPUT);
pinMode(PIN_RESET, OUTPUT);
pinMode(PIN_DC, OUTPUT);
pinMode(PIN_SDIN, OUTPUT);
pinMode(PIN_SCLK, OUTPUT);
digitalWrite(PIN_RESET, LOW);
digitalWrite(PIN_RESET, HIGH);
LcdWrite(LCD_C, 0x21 ); // LCD Extended Commands.
LcdWrite(LCD_C, 0xB9 ); // Set LCD Vop (Contrast).
LcdWrite(LCD_C, 0x04 ); // Set Temp coefficent. //0x04
LcdWrite(LCD_C, 0x14 ); // LCD bias mode 1:48. //0x13
LcdWrite(LCD_C, 0x0C ); // LCD in normal mode.
LcdWrite(LCD_C, 0x20 );
LcdWrite(LCD_C, 0x0C );
}
void LcdClear(void)
{
for (int index = 0; index < LCD_X * LCD_Y / 8; index++)
{
LcdWrite(LCD_D, 0x00);
}
}
void LcdWrite(byte dc, byte data)
{
digitalWrite(PIN_DC, dc);
digitalWrite(PIN_SCE, LOW);
shiftOut(PIN_SDIN, PIN_SCLK, MSBFIRST, data);
digitalWrite(PIN_SCE, HIGH);
}
void gotoXY(int x, int y)
{
LcdWrite( 0, 0x80 | x); // Column.
LcdWrite( 0, 0x40 | y); // Row.
}
void setup(void)
{
LcdInitialise();
LcdClear();
Serial.begin(9600);
pinMode(PIN_SDIN, OUTPUT);
pinMode(PIN_SCLK, OUTPUT);
}
#define bitOut(val, bit) \
if (val & (1 << bit)) \
PORT_SDIN |= _BV(SDIN_BIT); \
else \
PORT_SDIN &= ~_BV(SDIN_BIT); \
PORT_SCLK |= _BV(SCLK_BIT); \
PORT_SCLK &= ~_BV(SCLK_BIT);
void byteOut(uint8_t val)
{
bitOut(val, 0);
bitOut(val, 1);
bitOut(val, 2);
bitOut(val, 3);
bitOut(val, 4);
bitOut(val, 5);
bitOut(val, 6);
bitOut(val, 7);
}
void loop(void)
{
for (int i=0; i<135; i++)
{
gotoXY(0,0);
for (int i=0; i<42; i++)
{
digitalWrite(PIN_DC, LCD_D);
digitalWrite(PIN_SCE, LOW);
byteOut(0x55);
byteOut(0xaa);
byteOut(0x55);
byteOut(0xaa);
byteOut(0x55);
byteOut(0xaa);
byteOut(0x55);
byteOut(0xaa);
byteOut(0x55);
byteOut(0xaa);
byteOut(0x55);
byteOut(0xaa);
digitalWrite(PIN_SCE, HIGH);
}
// 1
gotoXY(0,0);
for (int i=0; i<42; i++)
{
digitalWrite(PIN_DC, LCD_D);
digitalWrite(PIN_SCE, LOW);
byteOut(0xaa);
byteOut(0x55);
byteOut(0xaa);
byteOut(0x55);
byteOut(0xaa);
byteOut(0x55);
byteOut(0xaa);
byteOut(0x55);
byteOut(0xaa);
byteOut(0x55);
byteOut(0xaa);
byteOut(0x55);
digitalWrite(PIN_SCE, HIGH);
}
}
Serial.println("This string causes the TX pin to flash so I can see how long that took.");
}
-
Myndale
-
- Posts: 507
- Joined: Sat Mar 01, 2014 1:25 am
by Myndale » Fri Apr 11, 2014 3:19 pm
I just plugged phi's Moon Patrol concept into my code, here's the result:
- 20140412_010719.jpg (64.64 KiB) Viewed 7932 times
There's a bit of hashing visible in this image due to the relatively high capture rate of my mobile phone, it's not that apparent to the naked eye.
Erico it would be interesting to see your version for comparison, any chance you could convert it to an 84x48 image for me so I can test it?
-
Myndale
-
- Posts: 507
- Joined: Sat Mar 01, 2014 1:25 am
Return to Software Development
Who is online
Users browsing this forum: No registered users and 64 guests