Start working on implementing the video interface.
First disabling/removing all the SDL related function call/variables Also removing some nonsensical dunction (line doubling and rotation are useless in GL mode)
This commit is contained in:
parent
ece8a07dcf
commit
f3aca9a3c7
@ -20,8 +20,6 @@
|
||||
#include <termios.h> /* POSIX terminal control definitions */
|
||||
#include <sys/mman.h>
|
||||
|
||||
#include "SDL.h"
|
||||
#include "SDLptc.h"
|
||||
#include "log.h"
|
||||
#include "io.h"
|
||||
#include "ws.h"
|
||||
@ -32,12 +30,10 @@
|
||||
#include "audio.h"
|
||||
#include "memory.h"
|
||||
|
||||
SDL_Joystick *joystick=NULL;
|
||||
char app_window_title[256];
|
||||
int app_gameRunning=0;
|
||||
int app_terminate=0;
|
||||
int app_fullscreen=0;
|
||||
SDL_Event app_input_event;
|
||||
int app_rotated=0;
|
||||
|
||||
|
||||
@ -46,32 +42,7 @@ int ws_key_esc = 0;
|
||||
|
||||
static void read_keys()
|
||||
{
|
||||
static int testJoystick=1;
|
||||
|
||||
if (testJoystick==1)
|
||||
{
|
||||
testJoystick=0;
|
||||
fprintf(log_get(),"%i joysticks were found.\n\n", SDL_NumJoysticks() );
|
||||
fprintf(log_get(),"The names of the joysticks are:\n");
|
||||
|
||||
for(int tti=0; tti < SDL_NumJoysticks(); tti++ )
|
||||
{
|
||||
fprintf(log_get()," %s\n", SDL_JoystickName(tti));
|
||||
}
|
||||
|
||||
SDL_JoystickEventState(SDL_ENABLE);
|
||||
joystick = SDL_JoystickOpen(0);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (joystick!=NULL)
|
||||
{
|
||||
SDL_JoystickClose(0);
|
||||
SDL_JoystickEventState(SDL_ENABLE);
|
||||
joystick = SDL_JoystickOpen(0);
|
||||
}
|
||||
}
|
||||
|
||||
#if 0
|
||||
while ( SDL_PollEvent(&app_input_event) )
|
||||
{
|
||||
if ( app_input_event.type == SDL_QUIT )
|
||||
@ -80,91 +51,20 @@ static void read_keys()
|
||||
}
|
||||
}
|
||||
|
||||
if (joystick)
|
||||
{
|
||||
if (SDL_JoystickGetButton(joystick,0))
|
||||
{
|
||||
ws_key_start=1;
|
||||
}
|
||||
else
|
||||
{
|
||||
ws_key_start=0;
|
||||
}
|
||||
|
||||
if (SDL_JoystickGetButton(joystick,1))
|
||||
{
|
||||
ws_key_button_a=1;
|
||||
}
|
||||
else
|
||||
{
|
||||
ws_key_button_a=0;
|
||||
}
|
||||
|
||||
if (SDL_JoystickGetButton(joystick,2))
|
||||
{
|
||||
ws_key_button_b=1;
|
||||
}
|
||||
else
|
||||
{
|
||||
ws_key_button_b=0;
|
||||
}
|
||||
|
||||
|
||||
if (SDL_JoystickGetAxis(joystick,0)<-7000)
|
||||
{
|
||||
ws_key_x4=1;
|
||||
}
|
||||
else
|
||||
{
|
||||
ws_key_x4=0;
|
||||
}
|
||||
|
||||
if (SDL_JoystickGetAxis(joystick,0)>7000)
|
||||
{
|
||||
ws_key_x2=1;
|
||||
}
|
||||
else
|
||||
{
|
||||
ws_key_x2=0;
|
||||
}
|
||||
|
||||
if (SDL_JoystickGetAxis(joystick,1)<-7000)
|
||||
{
|
||||
ws_key_x1=1;
|
||||
}
|
||||
else
|
||||
{
|
||||
ws_key_x1=0;
|
||||
}
|
||||
|
||||
if (SDL_JoystickGetAxis(joystick,1)>7000)
|
||||
{
|
||||
ws_key_x3=1;
|
||||
}
|
||||
else
|
||||
{
|
||||
ws_key_x3=0;
|
||||
}
|
||||
ws_key_y4=0;
|
||||
ws_key_y2=0;
|
||||
ws_key_y1=0;
|
||||
ws_key_y3=0;
|
||||
}
|
||||
else
|
||||
{
|
||||
ws_key_start=0;
|
||||
ws_key_x4=0;
|
||||
ws_key_x2=0;
|
||||
ws_key_x1=0;
|
||||
ws_key_x3=0;
|
||||
ws_key_y4=0;
|
||||
ws_key_y2=0;
|
||||
ws_key_y1=0;
|
||||
ws_key_y3=0;
|
||||
ws_key_button_a=0;
|
||||
ws_key_button_b=0;
|
||||
}
|
||||
#endif
|
||||
ws_key_start=0;
|
||||
ws_key_x4=0;
|
||||
ws_key_x2=0;
|
||||
ws_key_x1=0;
|
||||
ws_key_x3=0;
|
||||
ws_key_y4=0;
|
||||
ws_key_y2=0;
|
||||
ws_key_y1=0;
|
||||
ws_key_y3=0;
|
||||
ws_key_button_a=0;
|
||||
ws_key_button_b=0;
|
||||
|
||||
#if 0
|
||||
uint8_t *keystate = SDL_GetKeyState(NULL);
|
||||
|
||||
if ( keystate[SDLK_e])
|
||||
@ -247,121 +147,9 @@ static void read_keys()
|
||||
{
|
||||
ws_cyclesByLine-=10;
|
||||
}
|
||||
|
||||
#endif
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
static void ws_drawDoubledScanline(int16_t *vs, int16_t *backbuffer_alias)
|
||||
{
|
||||
int32_t *vs_alias = (int32_t *)vs;
|
||||
int32_t data;
|
||||
|
||||
for (int pixel = 0 ; pixel < 224 ; pixel += 8)
|
||||
{
|
||||
data = *backbuffer_alias++;
|
||||
data |= (data << 16);
|
||||
*vs_alias++ = data;
|
||||
data = *backbuffer_alias++;
|
||||
data |= (data << 16);
|
||||
*vs_alias++ = data;
|
||||
data = *backbuffer_alias++;
|
||||
data |= (data << 16);
|
||||
*vs_alias++ = data;
|
||||
data = *backbuffer_alias++;
|
||||
data |= (data << 16);
|
||||
*vs_alias++ = data;
|
||||
data = *backbuffer_alias++;
|
||||
data |= (data << 16);
|
||||
*vs_alias++ = data;
|
||||
data = *backbuffer_alias++;
|
||||
data |= (data << 16);
|
||||
*vs_alias++ = data;
|
||||
data = *backbuffer_alias++;
|
||||
data |= (data << 16);
|
||||
*vs_alias++ = data;
|
||||
data = *backbuffer_alias++;
|
||||
data |= (data << 16);
|
||||
*vs_alias++ = data;
|
||||
}
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
static void ws_drawDoubledRotatedScanline(int16_t *vs, int16_t *backbuffer_alias)
|
||||
{
|
||||
int32_t *vs_alias = (int32_t *)vs;
|
||||
int32_t data;
|
||||
|
||||
for (int pixel = 0 ; pixel < 144 ; pixel += 8)
|
||||
{
|
||||
data = *backbuffer_alias++;
|
||||
data |= (data << 16);
|
||||
*vs_alias++ = data;
|
||||
data = *backbuffer_alias++;
|
||||
data |= (data << 16);
|
||||
*vs_alias++ = data;
|
||||
data = *backbuffer_alias++;
|
||||
data |= (data << 16);
|
||||
*vs_alias++ = data;
|
||||
data = *backbuffer_alias++;
|
||||
data |= (data << 16);
|
||||
*vs_alias++ = data;
|
||||
data = *backbuffer_alias++;
|
||||
data |= (data << 16);
|
||||
*vs_alias++ = data;
|
||||
data = *backbuffer_alias++;
|
||||
data |= (data << 16);
|
||||
*vs_alias++ = data;
|
||||
data = *backbuffer_alias++;
|
||||
data |= (data << 16);
|
||||
*vs_alias++ = data;
|
||||
data = *backbuffer_alias++;
|
||||
data |= (data << 16);
|
||||
*vs_alias++ = data;
|
||||
}
|
||||
}
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
void ws_rotate_backbuffer(int16_t *backbuffer)
|
||||
{
|
||||
static int16_t temp[224*144];
|
||||
|
||||
memcpy(temp,backbuffer,224*144*2);
|
||||
|
||||
for (int line=0; line<144; line++)
|
||||
for (int column=0; column<224; column++)
|
||||
{
|
||||
backbuffer[line+((223-column)<<7)+((223-column)<<4)]=temp[column+(line<<7)+(line<<6)+(line<<5)];
|
||||
}
|
||||
}
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
@ -375,6 +163,7 @@ void ws_rotate_backbuffer(int16_t *backbuffer)
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
void ws_emulate(void)
|
||||
{
|
||||
#if 0
|
||||
int32_t nCount = 0;
|
||||
int i = 0;
|
||||
|
||||
@ -382,10 +171,9 @@ void ws_emulate(void)
|
||||
int32_t surfacePitch;
|
||||
|
||||
// 15 bits RGB555
|
||||
Format format(16, 0x007c00, 0x00003e0, 0x0000001f);
|
||||
Console console;
|
||||
Surface *surface;
|
||||
|
||||
//Format format(16, 0x007c00, 0x00003e0, 0x0000001f);
|
||||
//Console console;
|
||||
//Surface *surface;
|
||||
if (app_rotated)
|
||||
{
|
||||
surface = new Surface(144 * 2, 224 * 2, format);
|
||||
@ -557,4 +345,5 @@ void ws_emulate(void)
|
||||
console.close();
|
||||
delete surface;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user