From e10e00eb41ba55af9e3e0c17bb2b52ca38734b26 Mon Sep 17 00:00:00 2001 From: Robert Greene Date: Mon, 9 Dec 2002 05:45:22 +0000 Subject: [PATCH] Added generic ability the write boot code to track 0, sector 0. --- .../applecommander/storage/FormattedDisk.java | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/src/com/webcodepro/applecommander/storage/FormattedDisk.java b/src/com/webcodepro/applecommander/storage/FormattedDisk.java index ea370ec..039034e 100644 --- a/src/com/webcodepro/applecommander/storage/FormattedDisk.java +++ b/src/com/webcodepro/applecommander/storage/FormattedDisk.java @@ -19,6 +19,8 @@ */ package com.webcodepro.applecommander.storage; +import java.io.IOException; +import java.io.InputStream; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; @@ -296,4 +298,28 @@ public abstract class FormattedDisk extends Disk { } return theFileEntry; } + + /** + * Format the disk. Make sure that this is what is intended - + * there is no backing out! + */ + public abstract void format(); + + /** + * Write the AppleCommander boot code to track 0 sector 0 of + * the disk. This will work for a floppy, but may cause problems + * for other devices. + */ + protected void writeBootCode() { + InputStream inputStream = getClass(). + getResourceAsStream("AppleCommander-boot.dump"); + if (inputStream != null) { + byte[] bootCode = new byte[SECTOR_SIZE]; + try { + inputStream.read(bootCode, 0, bootCode.length); + writeSector(0, 0, bootCode); + } catch (IOException ignored) { + } + } + } }