Сбой tvOS istream

Я пытаюсь запустить Nestopia NES Emulation library на tvOS, но каждый раз, когда он пытается загрузить свою базу данных или файл игры, он останавливается здесь

void In::SafeRead(byte* data,dword size) {
static_cast<std::istream*>(stream)->read( reinterpret_cast<char*>(data), size);
}

Без вывода на консоль и с EXC_BAD_ACCESS (код = 1 адрес = 0xffffffff00000000)

Это мой ViewController

class ViewController: UIViewController {
let emuWidth: CGFloat = 341.0
let emuHeight: CGFloat = 320.0

var emulatorCore: EmulatorCore!
var emulatorView: ScreenView!

override func viewDidLoad() {
super.viewDidLoad()

self.emulatorView = ScreenView(frame: CGRectMake(0, 0, emuWidth, emuHeight))
self.emulatorView.backgroundColor = UIColor.blackColor()
self.view.addSubview(self.emulatorView)

self.emulatorCore = EmulatorCore()
self.emulatorCore.initializeEmulator()
self.emulatorCore.frameBufferSize = CGSizeMake(emuWidth, emuHeight)

do {
let fileManager = NSFileManager.defaultManager()

if !fileManager.fileExistsAtPath((NSTemporaryDirectory() as NSString).stringByAppendingPathComponent("NstDatabase.dat")) {
try NSFileManager.defaultManager().copyItemAtPath(NSBundle.mainBundle().pathForResource("NstDatabase", ofType: "dat")!, toPath: (NSTemporaryDirectory() as NSString).stringByAppendingPathComponent("NstDatabase.dat"))
}

if !fileManager.fileExistsAtPath((NSTemporaryDirectory() as NSString).stringByAppendingPathComponent("mega_man.nes")) {
try NSFileManager.defaultManager().copyItemAtPath(NSBundle.mainBundle().pathForResource("mega_man", ofType: "nes")!, toPath: (NSTemporaryDirectory() as NSString).stringByAppendingPathComponent("mega_man.nes"))
}
} catch _ {
print("Error copying files!")
}

if self.emulatorCore.loadROM((NSTemporaryDirectory() as NSString).stringByAppendingPathComponent("mega_man.nes")) {
self.emulatorCore.configureEmulator()
self.emulatorCore.screenDelegate = self.emulatorView
self.emulatorCore.frameBufferAddress = self.emulatorView.frameBufferAddress

self.emulatorView.delegate = self.emulatorCore
} else {
print("Error: invalid game path")
}
}
}

Тот же код прекрасно работает на iOS.

Спасибо!

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]