Compare commits

...

2 commits

Author SHA1 Message Date
Gwenhael Le Moine
2760ce825f
update README with todo-list 2024-09-26 16:26:51 +02:00
Gwenhael Le Moine
9a5d77766e
[sdl2] draw pixels directly 2024-09-26 16:23:59 +02:00
2 changed files with 10 additions and 11 deletions

View file

@ -33,12 +33,13 @@ Use the wrappers scripts.
The local data are stored under $XDG_CONFIG_HOME/saturn<model>/ The local data are stored under $XDG_CONFIG_HOME/saturn<model>/
## Post-fork changelog
- replaced the build system with a basic Makefile
- updated license from GPL2-or-later to GPL3-or-later
- moved binaries and their dependencies under ./dist/
- new helper scripts run48.sh and run49.sh
- ROMs helper Makefile
## Known bugs ## Known bugs
- I could get neither the 49 nor the 40 ROM running yet. - I could get neither the 49 nor the 40 ROM running yet.
- some bugs in emulation
## Todo
- sdl2 UI: draw LCD on a distinct texture and then draw that texture on the main one
- sdl2 UI: finish 49g and 40g faces
- fix emulation bugs
- make 49g emulation work
- make 40g emulation work

View file

@ -864,8 +864,6 @@ static void _draw_serial_devices_path( void )
write_with_small_font( SIDE_SKIP, KEYBOARD_OFFSET_Y - ( DISP_KBD_SKIP / 2 ), text, WHITE, DISP_PAD ); write_with_small_font( SIDE_SKIP, KEYBOARD_OFFSET_Y - ( DISP_KBD_SKIP / 2 ), text, WHITE, DISP_PAD );
} }
static void sdl_draw_pixel( int x, int y, int pixel ) { __draw_rect( x, y, 2, 2, pixel ? PIXEL : LCD ); }
static int sdl_press_key( int hpkey ) static int sdl_press_key( int hpkey )
{ {
if ( hpkey == -1 || is_key_pressed( hpkey ) ) if ( hpkey == -1 || is_key_pressed( hpkey ) )
@ -1012,8 +1010,8 @@ void ui_update_display_sdl( void )
for ( int y = 0; y < LCD_HEIGHT; ++y ) for ( int y = 0; y < LCD_HEIGHT; ++y )
for ( int x = 0; x < LCD_WIDTH; ++x ) for ( int x = 0; x < LCD_WIDTH; ++x )
sdl_draw_pixel( DISPLAY_OFFSET_X + 5 + ( 2 * x ), DISPLAY_OFFSET_Y + 20 + ( 2 * y ), __draw_rect( DISPLAY_OFFSET_X + 5 + ( 2 * x ), DISPLAY_OFFSET_Y + 20 + ( 2 * y ), 2, 2,
lcd_pixels_buffer[ ( y * LCD_WIDTH ) + x ] ); lcd_pixels_buffer[ ( y * LCD_WIDTH ) + x ] ? PIXEL : LCD );
SDL_SetRenderTarget( renderer, NULL ); SDL_SetRenderTarget( renderer, NULL );
SDL_RenderCopy( renderer, main_texture, NULL, NULL ); SDL_RenderCopy( renderer, main_texture, NULL, NULL );