1
0
mirror of synced 2024-11-24 02:00:09 +01:00

Merge branch 'master' of github.com:bobbydilley/lindbergh-loader

This commit is contained in:
Bobby Dilley 2022-09-14 17:05:27 +01:00
commit 7fb47dc43d
4 changed files with 57 additions and 3 deletions

View File

@ -6,6 +6,8 @@ This project contains header files from SEGA. Please DO NOT distrobute this code
This project aims to hook and emulate the various different parts of the SEGA Lindbergh allowing the games to run on modern versions of Linux.
You can view the supported titles [here.](docs/supported.md)
## What this project does
This project provides an emulation layer so for various software & hardware components of hte SEGA Lindbergh system allowing you to run the games on a modern version of linux. The project also aims to provide documentation of the various APIs used in the Lindbergh system which may be useful for further emulation projects, or homebrew.

30
docs/supported.md Normal file
View File

@ -0,0 +1,30 @@
# Supported Titles
## Games that work
These games have been loaded at some point using this software, but this doesn't mean they currently work or there are instructions on how to get them running.
Working is defined by getting into attract mode and running the game, but not necciserily controlling it.
- The House Of The Dead 4
- The House Of The Dead 4 Special
- The House Of The Dead Ex
- Harley Davidson
- Rambo
- 2 Step 2 Spicy
- Ghost Squad
- Outrun 2 SP SDX
- Race TV
## Games that do not work or haven't been tested
- Let's Go Jungle
- Let's Go Jungle Special
- After Burner Climax
- Virtua Fighter
- Virtua Tennis 3
- Primevil
- Initial D 4
- Initial D 5
- Hummer
- R-Tuned

View File

@ -183,8 +183,6 @@ int XNextEvent(Display *display, XEvent *event_return)
case ButtonPress:
case ButtonRelease:
{
printf("%d %d %d\n", event_return->xbutton.button, event_return->xbutton.x, event_return->xbutton.y);
switch (event_return->xbutton.button)
{
case 1: // Trigger

View File

@ -9,6 +9,10 @@
#include <sys/stat.h>
#include <sys/types.h>
#include <ucontext.h>
#include <semaphore.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include "hook.h"
@ -428,8 +432,28 @@ float powf(float base, float exponent)
}
/*
int futex(int *uaddr, int op, int val, const struct timespec *timeout, int *uaddr2, int val3)
int sem_wait(sem_t *sem)
{
int (*original_sem_wait)(sem_t * sem) = dlsym(RTLD_NEXT, "sem_wait");
return 0;
}
*/
/**
* Hook function used by Harley Davidson to change IPs to localhost
* Currently does nothing.
*/
int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen)
{
int (*_connect)(int sockfd, const struct sockaddr *addr, socklen_t addrlen) = dlsym(RTLD_NEXT, "connect");
struct sockaddr_in *in_pointer = (struct sockaddr_in *)addr;
// Change the IP to connect to to 127.0.0.1
//in_pointer->sin_addr.s_addr = inet_addr("127.0.0.1");
char *some_addr = inet_ntoa(in_pointer->sin_addr);
printf("Connecting to %s\n", some_addr);
return _connect(sockfd, addr, addrlen);
}