Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/weshatheleopard/bktools
All kinds of tools for BK-0010 (my personal project open for public to see)
https://github.com/weshatheleopard/bktools
bk-0010 bk0010 floppy-disks tape-format
Last synced: 3 months ago
JSON representation
All kinds of tools for BK-0010 (my personal project open for public to see)
- Host: GitHub
- URL: https://github.com/weshatheleopard/bktools
- Owner: weshatheleopard
- License: gpl-3.0
- Created: 2019-10-15T20:20:41.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-05-02T00:25:32.000Z (9 months ago)
- Last Synced: 2024-05-11T06:47:25.021Z (8 months ago)
- Topics: bk-0010, bk0010, floppy-disks, tape-format
- Language: Assembly
- Size: 3.35 MB
- Stars: 11
- Watchers: 5
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# bktools
All kinds of tools for BK-0010 (my personal project open for public to see)[](https://circleci.com/gh/weshatheleopard/bktools)
## Standard (ROM) tape format
Unlike some other renditions, this description has been derived from the analysis of the actual BK-0010 firmware.
The code that supports this format is located in the computer's ROM. No additional software is required to handle it.
[Description of standard tape format](doc/bk_tape_format.md).
## Accelerated tape format "HELP7"
This format was supported by a number of application programs that had to be loaded first.
[Description of HELP7 tape format](doc/help7_tape_format.md).
# Using this tool
## Reading data from a WAV file
```
require 'mag_reader' ; m = TapeReader.new('name.wav', 50); m.read
```## Saving read file to disk
```
m.bk_file.save
```## Load file from the disk
```
f = BkFile.load "some_file_name"
```## Compare files and print discrepancies
```
f1 = BkFile.load "some_file_name"
f2 = BkFile.load "another_file_name"
f1.compare(f2)
```## Writing data to a WAV file
```
require 'mag_writer' ; writer = MagWriter.new(bk_file); writer.save('some_filename.wav')
```
## Automatic splittingIn case you have one big WAV image of a magnetic tape with multiple files on it, there's a method that will split such file into a few WAV files corresponding to a standard-format tape file each.
```
require 'mag_reader' ; m = TapeReader.new('tape.wav', 50); m.split_tape```
# Reading floppy disks
Now this toolset supports [reading data from floppy disks](doc/floppy_disks.md).
# Experimental features
## Display file as octal printout
```
bk_file.display```
## Display file as PDP-11 disassembly
```
bk_file.disassemble```
### Display labels instead of addresses
```
bk_file.disassemble_with_labels```