From c61a63d5bb4e0b52a1fde39ac58f8eaee07ac3ac Mon Sep 17 00:00:00 2001 From: Maik Merten Date: Sat, 9 Aug 2014 16:47:49 +0200 Subject: [PATCH] more accurate emulation of the SD controller --- .../com/loomcom/symon/devices/SdController.java | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/loomcom/symon/devices/SdController.java b/src/main/java/com/loomcom/symon/devices/SdController.java index 7c05840..2083de0 100644 --- a/src/main/java/com/loomcom/symon/devices/SdController.java +++ b/src/main/java/com/loomcom/symon/devices/SdController.java @@ -111,12 +111,6 @@ public class SdController extends Device { return readData(); case 1: return readStatus(); - case 2: - return lba0; - case 3: - return lba1; - case 4: - return lba2; default: return 0; } @@ -129,8 +123,16 @@ public class SdController extends Device { } private int readData() { + if(status != Status.READ) { + return 0; + } + this.position %= this.sdcontent.length; - return this.sdcontent[this.position++]; + int data = this.sdcontent[this.position++]; + if(this.position % 512 == 0) { + this.status = Status.IDLE; + } + return data; } private void writeData(int data) {