Files
libapple2/libapple2.go

206 lines
5.7 KiB
Go

//package libapple2
package main
import (
"fmt"
"unsafe"
//gopointer "github.com/mattn/go-pointer"
)
/*
#include <stdlib.h>
#include "libretro.h"
typedef const void cvoid_t;
typedef const char cchar_t;
typedef const struct retro_game_info cretro_game_info_t;
*/
import (
"C"
)
//export retro_get_system_info
func retro_get_system_info(info *C.struct_retro_system_info) {
fmt.Println("libapple2 retro_get_system_info() start")
info.need_fullpath = false;
info.valid_extensions = C.CString("dsk")
info.library_version = C.CString("0.1")
info.library_name = C.CString("libapple2")
info.block_extract = false;
fmt.Println("need_fullpath:", info.need_fullpath)
fmt.Println("valid_extensions:", C.GoString(info.valid_extensions))
fmt.Println("library_version:", C.GoString(info.library_version))
fmt.Println("library_name:", C.GoString(info.library_name))
fmt.Println("block_extract:", info.block_extract)
fmt.Println("libapple2 retro_get_system_info() end")
return
}
//export retro_init
func retro_init() {
fmt.Println("libapple2 retro_init() start")
fmt.Println("libapple2 retro_init() end")
}
//export retro_deinit
func retro_deinit() {
fmt.Println("libapple2 retro_deinit() start")
fmt.Println("libapple2 retro_deinit() end")
}
//export retro_api_version
func retro_api_version() C.unsigned {
fmt.Println("libapple2 retro_api_version() start")
fmt.Println("libapple2 retro_api_version() end")
return C.unsigned(1)
}
//export retro_get_system_av_info
func retro_get_system_av_info(info *C.struct_retro_system_av_info) {
fmt.Println("libapple2 retro_get_system_av_info() start")
fmt.Println("libapple2 retro_get_system_av_info() end")
}
//export set_environment_callback
func set_environment_callback() C.bool{
fmt.Println("libapple2 set_environment_callback() start")
fmt.Println("libapple2 set_environment_callback() end")
return false
}
//export set_video_refresh_callback
func set_video_refresh_callback() C.bool {
fmt.Println("libapple2 set_video_refresh_callback() start")
fmt.Println("libapple2 set_video_refresh_callback() end")
return false
}
//export set_audio_sample_callback
func set_audio_sample_callback() {
fmt.Println("libapple2 set_audio_sample_callback() start")
fmt.Println("libapple2 set_audio_sample_callback() end")
}
//export set_audio_sample_batch_callback
func set_audio_sample_batch_callback() {
fmt.Println("libapple2 set_audio_sample_batch_callback() start")
fmt.Println("libapple2 set_audio_sample_batch_callback() end")
}
//export set_input_poll_callback
func set_input_poll_callback() {
fmt.Println("libapple2 set_input_poll_callback() start")
fmt.Println("libapple2 set_input_poll_callback() end")
}
//export set_input_state_callback
func set_input_state_callback() {
fmt.Println("libapple2 set_input_state_callback() start")
fmt.Println("libapple2 set_input_state_callback() end")
}
//export retro_set_controller_port_device
func retro_set_controller_port_device(port C.unsigned, device C.unsigned) {
fmt.Println("libapple2 retro_set_controller_port_device() start")
fmt.Println("libapple2 retro_set_controller_port_device() end")
}
//export retro_reset
func retro_reset() {
fmt.Println("libapple2 retro_reset() start")
fmt.Println("libapple2 retro_reset() end")
}
var running = false
//export retro_run
func retro_run() {
if running {
} else {
fmt.Println("libapple2 retro_run() start")
fmt.Println("libapple2 retro_run() setting running to true to supress these messages")
running = true
fmt.Println("libapple2 retro_run() end")
}
}
//export retro_serialize_size
func retro_serialize_size() C.size_t {
fmt.Println("libapple2 retro_serialize_size() start")
fmt.Println("libapple2 retro_serialize_size() end")
return C.size_t(0)
}
//export retro_serialize
func retro_serialize(data unsafe.Pointer, size C.size_t) C.bool {
fmt.Println("libapple2 retro_serialize() start")
fmt.Println("libapple2 retro_serialize() end")
return false
}
//export retro_unserialize
func retro_unserialize(data *C.cvoid_t, size C.size_t) C.bool {
fmt.Println("libapple2 retro_unserialize() start")
fmt.Println("libapple2 retro_unserialize() end")
return false
}
//export retro_cheat_reset
func retro_cheat_reset() {
fmt.Println("libapple2 retro_cheat_reset() start")
fmt.Println("libapple2 retro_cheat_reset() end")
}
//export retro_cheat_set
func retro_cheat_set(index C.unsigned, enabled C.bool, code *C.cchar_t) {
fmt.Println("libapple2 retro_cheat_set() start")
fmt.Println("libapple2 retro_cheat_set() end")
}
//export retro_load_game
func retro_load_game(game *C.cretro_game_info_t) C.bool {
fmt.Println("libapple2 retro_load_game() start")
fmt.Println("libapple2 retro_load_game() end")
return true
}
//export retro_load_game_special
func retro_load_game_special(game_type C.unsigned, info *C.cretro_game_info_t, num_info C.size_t) C.bool {
fmt.Println("libapple2 retro_load_game_special() start")
fmt.Println("libapple2 retro_load_game_special() end")
return false
}
//export retro_unload_game
func retro_unload_game() {
fmt.Println("libapple2 retro_unload_game() start")
fmt.Println("libapple2 retro_unload_game() end")
}
//export retro_get_region
func retro_get_region() C.unsigned {
fmt.Println("libapple2 retro_get_region() start")
fmt.Println("libapple2 retro_get_region() end")
return C.unsigned(0)
}
//export retro_get_memory_data
func retro_get_memory_data(id C.unsigned) unsafe.Pointer {
fmt.Println("libapple2 retro_get_memory_data() start")
fmt.Println("libapple2 retro_get_memory_data() end")
return nil
}
//export retro_get_memory_size
func retro_get_memory_size(id C.unsigned) C.size_t {
fmt.Println("libapple2 retro_get_memory_size() start")
fmt.Println("libapple2 retro_get_memory_size() end")
return C.size_t(0)
}
func main() {
fmt.Println("libapple2 main() start")
fmt.Println("libapple2 main() end")
}