DSKBuilder

Description

DSKBuilder is a tool for compiling PC files onto a bootable Oric Disk.

DSKBuilder is provided as a group of files in a Zipped folder. They should be placed in the destinations specified below.

Filename Description Destination
DSKBuilder.exe DSKBuilder Application OSDK/BIN
Fantasmagoric.bin Boot Sector 1 OSDK/BIN
Generic512.bin Boot Sector 2 OSDK/BIN
Loader.tap First file for Slideshow demo SlideShow Project
FirstLoad.s Source file for Loader.tap
Colbeast.tap HIRES Screen (Twilighte) SlideShow Project
Devil2.tap HIRES Screen (Twilighte) SlideShow Project
Iso1.tap HIRES Screen (Twilighte) SlideShow Project
Logo.tap HIRES Screen (Twilighte) SlideShow Project
Map3.tap HIRES Screen (Twilighte) SlideShow Project
Mark.tap HIRES Screen (Twilighte) SlideShow Project
Night.tap HIRES Screen (Twilighte) SlideShow Project
Output.tap HIRES Screen (Libcaca Converted) SlideShow Project
Siltr3.tap HIRES Screen (Twilighte) SlideShow Project
Snap.tap HIRES Screen (Twilighte) SlideShow Project
SlideShow.dsk Generated Disk (Use this as initial demo) Euphoric Disk Dir.
doc_dskbuilder.htm This manual

Editor Overview


General Guide

To Begin a new project, select New Project from the files menu and enter the name of the new project in the window that appears.

The dialog will close and you may now Add a new file to the compilation by pressing the Add Files button(+).

Any file may be added so long as it does not exceed the size of the disk.
You may at any point change the disk type using the drop down Disk Scheme list in the bottom left corner.

You may also wish to include the boot sectors to the disk. Select it in the first item in Options Menu.

Once new files have been added you may build the disk using the Build Disk button (the one with the disk on it).

Please note Disk building can only take place if the Disk is not being currently used in Euphoric.

Menu Options

DSKBuilder is based on projects. A project must be open before any disk can be built. Each Project has its own configuration file which holds the current file list, Script settings, Disk Path and Name, Menu settings, etc.

From the File Menu you may Start a new Project, open an existing project or Close the currently open project.

From File Menu you may also set the name and path of the Disk to be built.

Options provide settings for the Disk compilation.

Include Boot Sectors
will include special Boot code in Sectors 1 and 2 of the compiled disk. This provides a multi-boot environment and Disk access routines with a rudimentary File table  which will reside between FE00 and FFFA on bootup.

Scripts.. provides a means of executing batch files before(Pre-Script) and after(Post-Script) the building of the disk. This is intended to provide a complete source build, Disk Build and execute Euphoric on a single Button Press (Build Disk Button).
Scripts will show a seperate form where you may set the Script locations.

Limit List to Disk Capacity will clip(remove) any files at the end of the list that take the compilation beyond the current Disk capacity.

Prohibit Duplicate Files will prevent you adding a file that already exists in the compilation. This is based on File Path and Name.

Convert Disk to MFM on Buildwill convert the generated Raw disk into a Euphoric compatable MFM disk.

Tools Menu currently provides Reports and Manual.
Manual will display this page.
Launch Notepad will launch Windows Notepad with a generated report.

File Index Report provides a table based primarily on Tape Files and will show for each file its load range into Oric Memory.

List Report generates a table that is a direct copy of the current list.

Wastage Report provides a list of all files and the unused space within each based on the 512 byte sector size.

Integrity Report provides a breakdown of the version of DSKBuilder and other statistics

List Options

The list comprises of a number of columns that each new file will occupy.
The left most column is the file index which is the same number you address the file by using the provided Boot Sector Disk routines.

Add files adds a new file or number of files to the compilation. Up to 80 files may exist in a single Disk compilation. This includes files on Side 2.

Remove File removes the currently selected file in the list.

Move Up moves the currently selected row up the list.

Move Down moves the currently selected row down the list.

Refresh rescans the file list for changes to the size and existence of each file and will adjust settings accordingly.

Build Disk will build the disk using the current list of files.

Disk Boot Sectors

Sectors 1 and 2 are reserved for Disk Boot Sectors.

The boot sector is used to boot up Oric-1,Atmos and Telestrat.
The boot is compatable with Jasmin, Cumana 1, Cumana 2 and Microdisc.

The boot sector overwrites overlay then loads the second sector into FD00 to FEFF.
This then relocates itself to FE00-FFF9 before loading the first file in the compilation. Execution will always take place at the files start address or if unspecified will load into $0400 and execute from their.
At bootup all interrupts will be disabled and System Vectors from FFFA to FFFF will need to be set.

FE00 to FEFF holds Disk routines (currently just Load but will eventually hold Save and Set Drive).

To load a file after bootup the program must load the Accumulator with the Files load address and X register with File Index then Call FE00. Interrupts will be disabled during the load(SEI) but will not be enabled afterwards(CLI).
There is currently no protection preventing a load into any page including FE00 and FF00. Care must be taken since the smallest block size is 512 bytes. Loading directly into Pages below 4 is not recommended.

Overlay RAM (C000-FFFF) is always enabled. Switching to ROM or FDC EPROM may be done but no specialist routines have been written to facilitate this.

A number of Disk and System variables are provided between FFF0 and FFF9. These may be read by the user programs.

FFF0 - Number of Sides(Bit 0) and Tracks(Bits 1-7) on the Disk
FFF1 - Version (Currently #00)
FFF2 - Number of Sector Per Track (Plus one)
FFF4 - Machine Type (#20 Jasmin, #40 Atmos Microdisc, #C0 Telestrat)
FFF5 - First File Load Address (High)
FFF9 - Number of Files on Disk(1-80)

In addition the FAT table may also be read. The FAT table comprises three separate 80 byte tables.

FF00-FF4F - Sector Number(1-9)
FF50-FF9F - Side(Bit 0) and Track(Bits 1-7)
FFA0-FFEF - Size of File in Sectors

Using the Demo

The Demo provided with DSKBuilder is a simple slideshow, running through the number of HIRES screens that were compiled using DSKBuilder. To run the Demo boot Euphoric with SlideShow.dsk disk.

All files are provided to allow you to create your own slideshow. The first file must always be Loader.tap which loads each slide, displays the prompt and waits for a key. The source for this file is FirstLoad.s

The next and subsequent files added to the compilation will be treated as HIRES screens and loaded into C000 before being transferred to HIRES A000 (by Loader.tap). This is because the HIRES screen of 8000 bytes is not directly divisable by 512.

All other .tap files are HIRES screens.

To build this demo, create a new project then Add all the tape files making sure Loader.tap is the first file in the list.
Now go to Menu/Options and flag Include Boot Sectors and Convert Disk to MFM on Build. Also Set Disk Name and directory in Menu/Files.
Now you are ready to build the disk by simply pressing the Build Disk button. At the time of going to press it was still neccesary to confirm conversion of the Raw disk to MFM  by pressing Return.

You may then boot the disk in Euphoric.

History

Here is the list of all releases with a short description of things that changed:

Version 1.0.0.2

- Import Picture (BMP Only) added. When the app recognises the file being added as BMP it will launch a second window where
The user may set the conversion options(PictConv), preview the result and Add the converted image to the compilation.
The Conversion, Size and Position drop lists are currently ignored. If multiple images are being added the user may opt to apply the current conversion settings to all subsequent files (or cancel All).
- When adding a new file, entering a filename that doesn't exist will now create a new file. Another form will open to permit the user to enter a size and fill value for the new file.
- Modify Option added, Progress bar removed, Build Button moved and resized. Modify only works with converted Images and will launch the Import BMP window. Applying the changes will change the conversion settings.
- File Lists Start Address column changed to Attributes. Tape file rows still show Start Address but converted image rows now show Conversion settings for BMP Images in this column.
- Menu/Recent Projects now launches new form which lists all projects known (the common file is held in osdk/bin folder and called dskb_projects.cfg). The user may begin a new project, double click or select load project button once project selected.

Version 1.0.0.1

- Now saves menu flags in Project file
- Infinite loop (testing) removed from Boot loading
- Format of raw disk was incorrect
- Executing Batch file sometimes failed (now changing to batch directory before shelling to it)
- Manual Written
- Demo Written

Version 1.0.0.0

- First released version

Credits

Credit must go to Fabrice Frances for the Fantasmagoric Disk boot sector. Fabrice managed to squeeze Microdisc, Jasmin, Telestrat, Cumana-1 and Cumana-2 boot into a single sector.
Thanks also to Mickael Pointier for his ideas, help and support.