mirror of
https://github.com/dingusdev/dingusppc.git
synced 2024-12-23 06:29:38 +00:00
Slightly clean-up and expansion for future uses
This commit is contained in:
parent
c0d0187190
commit
f2ab933884
@ -28,12 +28,15 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
#include <cinttypes>
|
||||
#include <cstring>
|
||||
#include "devices/adb.h"
|
||||
|
||||
#include <thirdparty/SDL2/include/SDL.h>
|
||||
#include <thirdparty/SDL2/include/SDL_events.h>
|
||||
#include <thirdparty/SDL2/include/SDL_keycode.h>
|
||||
#include <thirdparty/SDL2/include/SDL_mouse.h>
|
||||
#include <thirdparty/SDL2/include/SDL_stdinc.h>
|
||||
|
||||
#include <thirdparty/loguru/loguru.hpp>
|
||||
|
||||
using namespace std;
|
||||
|
||||
ADB_Bus::ADB_Bus() {
|
||||
@ -54,7 +57,7 @@ ADB_Bus::~ADB_Bus() {
|
||||
|
||||
}
|
||||
|
||||
bool ADB_Bus::adb_verify_listen(int device, int reg) {
|
||||
bool ADB_Bus::listen(int device, int reg) {
|
||||
if (device == keyboard_access_no) {
|
||||
if (adb_keybd_listen(reg)) {
|
||||
return true;
|
||||
@ -71,11 +74,28 @@ bool ADB_Bus::adb_verify_listen(int device, int reg) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
bool ADB_Bus::adb_verify_talk(int device, int reg) {
|
||||
bool ADB_Bus::talk(int device, int reg, uint16_t value) {
|
||||
//temp code
|
||||
return false;
|
||||
}
|
||||
|
||||
bool ADB_Bus::bus_reset() {
|
||||
//temp code
|
||||
return true;
|
||||
}
|
||||
|
||||
bool ADB_Bus::set_addr(int dev_addr, int new_addr) {
|
||||
//temp code
|
||||
return false;
|
||||
}
|
||||
|
||||
bool ADB_Bus::flush(int dev_addr) {
|
||||
//temp code
|
||||
return false;
|
||||
}
|
||||
|
@ -39,8 +39,11 @@ public:
|
||||
ADB_Bus();
|
||||
~ADB_Bus();
|
||||
|
||||
bool adb_verify_listen(int device, int reg);
|
||||
bool adb_verify_talk(int device, int reg);
|
||||
bool listen(int device, int reg);
|
||||
bool talk(int device, int reg, uint16_t value);
|
||||
bool bus_reset();
|
||||
bool set_addr(int dev_addr, int new_addr);
|
||||
bool flush(int dev_addr);
|
||||
|
||||
bool adb_keybd_listen(int reg);
|
||||
bool adb_mouse_listen(int reg);
|
||||
|
@ -307,7 +307,7 @@ void ViaCuda::process_adb_command(uint8_t cmd_byte, int data_count)
|
||||
else if ((cmd & 0xC) == 8) {
|
||||
LOG_F(9, "Cuda: ADB Listen command requested\n");
|
||||
int adb_reg = cmd_byte & 0x3;
|
||||
if (adb_obj->adb_verify_listen(adb_dev, adb_reg)){
|
||||
if (adb_obj->listen(adb_dev, adb_reg)){
|
||||
response_header(CUDA_PKT_ADB, 0);
|
||||
for (int data_ptr = 0; data_ptr < adb_obj->get_output_len(); data_ptr++) {
|
||||
this->in_buf[(2 + data_ptr)] = adb_obj->get_output_byte(data_ptr);
|
||||
@ -321,7 +321,7 @@ void ViaCuda::process_adb_command(uint8_t cmd_byte, int data_count)
|
||||
LOG_F(9, "Cuda: ADB Talk command requested\n");
|
||||
response_header(CUDA_PKT_ADB, 0);
|
||||
int adb_reg = cmd_byte & 0x3;
|
||||
if (adb_obj->adb_verify_talk(adb_dev, adb_reg)) {
|
||||
if (adb_obj->talk(adb_dev, adb_reg, this->in_buf[2])) {
|
||||
response_header(CUDA_PKT_ADB, 0);
|
||||
}
|
||||
else {
|
||||
|
Loading…
Reference in New Issue
Block a user