mirror of
https://github.com/Luigi30/FruitMachine-Swift.git
synced 2025-02-21 10:28:55 +00:00
more disk progress
This commit is contained in:
parent
f603cdaf58
commit
0fa0393050
@ -120,12 +120,14 @@ class DiskII: NSObject, Peripheral {
|
|||||||
{
|
{
|
||||||
currentTrack -= 1
|
currentTrack -= 1
|
||||||
}
|
}
|
||||||
|
print("Drive now on track \(currentTrack)")
|
||||||
updateCurrentTrackDisplay(drive: softswitches.DriveSelect)
|
updateCurrentTrackDisplay(drive: softswitches.DriveSelect)
|
||||||
} else if(motorPhase == .Phase3) {
|
} else if(motorPhase == .Phase3) {
|
||||||
motorPhase = .Phase0
|
motorPhase = .Phase0
|
||||||
if(currentTrack % 2 == 1 && currentTrack < 34) {
|
if(currentTrack % 2 == 1 && currentTrack < 34) {
|
||||||
currentTrack += 1
|
currentTrack += 1
|
||||||
}
|
}
|
||||||
|
print("Drive now on track \(currentTrack)")
|
||||||
updateCurrentTrackDisplay(drive: softswitches.DriveSelect)
|
updateCurrentTrackDisplay(drive: softswitches.DriveSelect)
|
||||||
}
|
}
|
||||||
case 2:
|
case 2:
|
||||||
@ -141,15 +143,17 @@ class DiskII: NSObject, Peripheral {
|
|||||||
softswitches.Phase2 = true
|
softswitches.Phase2 = true
|
||||||
if(motorPhase == .Phase3) {
|
if(motorPhase == .Phase3) {
|
||||||
motorPhase = .Phase2
|
motorPhase = .Phase2
|
||||||
if(currentTrack % 2 == 0 && currentTrack > 0) {
|
if(currentTrack % 2 == 1 && currentTrack > 0) {
|
||||||
currentTrack -= 1
|
currentTrack -= 1
|
||||||
}
|
}
|
||||||
|
print("Drive now on track \(currentTrack)")
|
||||||
updateCurrentTrackDisplay(drive: softswitches.DriveSelect)
|
updateCurrentTrackDisplay(drive: softswitches.DriveSelect)
|
||||||
} else if(motorPhase == .Phase1) {
|
} else if(motorPhase == .Phase1) {
|
||||||
motorPhase = .Phase2
|
motorPhase = .Phase2
|
||||||
if(currentTrack % 2 == 0 && currentTrack < 34) {
|
if(currentTrack % 2 == 0 && currentTrack < 34) {
|
||||||
currentTrack += 1;
|
currentTrack += 1;
|
||||||
}
|
}
|
||||||
|
print("Drive now on track \(currentTrack)")
|
||||||
updateCurrentTrackDisplay(drive: softswitches.DriveSelect)
|
updateCurrentTrackDisplay(drive: softswitches.DriveSelect)
|
||||||
}
|
}
|
||||||
case 6:
|
case 6:
|
||||||
@ -160,35 +164,33 @@ class DiskII: NSObject, Peripheral {
|
|||||||
motorPhase = .Phase3
|
motorPhase = .Phase3
|
||||||
}
|
}
|
||||||
case 8:
|
case 8:
|
||||||
softswitches.MotorPowered = false
|
//softswitches.MotorPowered = false
|
||||||
if(softswitches.DriveSelect == false) {
|
if(softswitches.DriveSelect == false) {
|
||||||
NotificationCenter.default.post(name: DiskII.N_Drive1MotorOff, object: nil)
|
NotificationCenter.default.post(name: DiskII.N_Drive1MotorOff, object: nil)
|
||||||
/*
|
|
||||||
motor1OffTimer = Timer.scheduledTimer(timeInterval: 1.0,
|
motor1OffTimer = Timer.scheduledTimer(timeInterval: 1.0,
|
||||||
target: self,
|
target: self,
|
||||||
selector: #selector(disableDrive2Motor),
|
selector: #selector(disableDrive2Motor),
|
||||||
userInfo: nil,
|
userInfo: nil,
|
||||||
repeats: false)
|
repeats: false)
|
||||||
*/
|
|
||||||
print("Drive 1 Motor will turn off in 1 second")
|
print("Drive 1 Motor will turn off in 1 second")
|
||||||
} else {
|
} else {
|
||||||
NotificationCenter.default.post(name: DiskII.N_Drive2MotorOff, object: nil)
|
NotificationCenter.default.post(name: DiskII.N_Drive2MotorOff, object: nil)
|
||||||
/*
|
|
||||||
motor2OffTimer = Timer.scheduledTimer(timeInterval: 1.0,
|
motor2OffTimer = Timer.scheduledTimer(timeInterval: 1.0,
|
||||||
target: self,
|
target: self,
|
||||||
selector: #selector(disableDrive2Motor),
|
selector: #selector(disableDrive2Motor),
|
||||||
userInfo: nil,
|
userInfo: nil,
|
||||||
repeats: false)
|
repeats: false)
|
||||||
*/
|
|
||||||
print("Drive 2 Motor will turn off in 1 second")
|
print("Drive 2 Motor will turn off in 1 second")
|
||||||
}
|
}
|
||||||
case 9:
|
case 9:
|
||||||
softswitches.MotorPowered = true
|
softswitches.MotorPowered = true
|
||||||
if(softswitches.DriveSelect == false) {
|
if(softswitches.DriveSelect == false) {
|
||||||
NotificationCenter.default.post(name: DiskII.N_Drive1MotorOn, object: nil)
|
NotificationCenter.default.post(name: DiskII.N_Drive1MotorOn, object: nil)
|
||||||
|
motor1OffTimer?.invalidate()
|
||||||
print("Drive 1 Motor is on")
|
print("Drive 1 Motor is on")
|
||||||
} else {
|
} else {
|
||||||
NotificationCenter.default.post(name: DiskII.N_Drive2MotorOn, object: nil)
|
NotificationCenter.default.post(name: DiskII.N_Drive2MotorOn, object: nil)
|
||||||
|
motor1OffTimer?.invalidate()
|
||||||
print("Drive 2 Motor is on")
|
print("Drive 2 Motor is on")
|
||||||
}
|
}
|
||||||
case 10:
|
case 10:
|
||||||
@ -201,7 +203,9 @@ class DiskII: NSObject, Peripheral {
|
|||||||
softswitches.Q6 = false
|
softswitches.Q6 = false
|
||||||
if(softswitches.Q7 == false) {
|
if(softswitches.Q7 == false) {
|
||||||
//in read mode and a read was requested. get the next byte
|
//in read mode and a read was requested. get the next byte
|
||||||
print("Reading byte \(mediaPosition) of track \(currentTrack)")
|
let trk = CPU.sharedInstance.memoryInterface.readByte(offset: 0xB7EC, bypassOverrides: true)
|
||||||
|
let sec = CPU.sharedInstance.memoryInterface.readByte(offset: 0xB7ED, bypassOverrides: true)
|
||||||
|
print("Reading byte \(mediaPosition) of track \(currentTrack). Controller is accessing T\(trk) S\(sec)")
|
||||||
return readByteOfTrack(track: currentTrack, advance: softswitches.MotorPowered ? 1 : 0)
|
return readByteOfTrack(track: currentTrack, advance: softswitches.MotorPowered ? 1 : 0)
|
||||||
}
|
}
|
||||||
case 13:
|
case 13:
|
||||||
@ -223,7 +227,7 @@ class DiskII: NSObject, Peripheral {
|
|||||||
let trackData = diskImage.encodedTracks[currentTrack]
|
let trackData = diskImage.encodedTracks[currentTrack]
|
||||||
|
|
||||||
let result = trackData[mediaPosition]
|
let result = trackData[mediaPosition]
|
||||||
//Advance the drive to the next byte.
|
//Advance the drive to the next byte
|
||||||
mediaPosition = (mediaPosition + advance) % trackData.count
|
mediaPosition = (mediaPosition + advance) % trackData.count
|
||||||
|
|
||||||
return result
|
return result
|
||||||
|
@ -137,7 +137,7 @@ class DiskImage: NSObject {
|
|||||||
encodedData.append(contentsOf: EncodeSectorSixAndTwo(sector: Dos33Image.readTrackAndSector(imageData: imageData, trackNum: index, sectorNum: sectorNum)))
|
encodedData.append(contentsOf: EncodeSectorSixAndTwo(sector: Dos33Image.readTrackAndSector(imageData: imageData, trackNum: index, sectorNum: sectorNum)))
|
||||||
encodedData.append(contentsOf: dataEpilogue)
|
encodedData.append(contentsOf: dataEpilogue)
|
||||||
|
|
||||||
//Gap2
|
//Gap2 - 20 bytes
|
||||||
for _ in 0..<20 { encodedData.append(selfSync) }
|
for _ in 0..<20 { encodedData.append(selfSync) }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user