Borgams Examples
Not Yet Functional
Borgams is still work in progress and not currently usable. The examples below show the intended usage once development is complete.
Basic Usage
Convert Binary to ASCII
Convert an Orgams binary file to readable ASCII text:
Short Option Form
Using short options:
Conversion Workflows
Source Recovery
Recover source code from Orgams binaries:
# Convert the binary
cpclib-borgams --input demo.org --output demo_recovered.asm
# View the recovered source
cat demo_recovered.asm
Batch Conversion
Convert multiple Orgams files in a directory:
# PowerShell
Get-ChildItem *.org | ForEach-Object {
$output = $_.BaseName + ".asm"
cpclib-borgams --input $_.Name --output $output
Write-Output "Converted $($_.Name) -> $output"
}
# Bash
for file in *.org; do
output="${file%.org}.asm"
cpclib-borgams --input "$file" --output "$output"
echo "Converted $file -> $output"
done
Format Migration
Migrate old Orgams projects to plain text:
# Create output directory
mkdir ascii_sources
# Convert all Orgams files
for orgfile in orgams_binaries/*.org; do
basename=$(basename "$orgfile" .org)
cpclib-borgams --input "$orgfile" --output "ascii_sources/${basename}.asm"
done
echo "Migration complete! Check ascii_sources/ directory"
Integration with Other Tools
With BASM Assembler
Convert Orgams binary to ASCII, then assemble with BASM:
# Step 1: Convert to ASCII
cpclib-borgams --input original.org --output converted.asm
# Step 2: Assemble with BASM
basm converted.asm -o output.bin
With Version Control
Add converted sources to version control:
# Convert binary to text
cpclib-borgams --input project.org --output project.asm
# Add to git
git add project.asm
git commit -m "Add ASCII version of Orgams source"
Inspection and Analysis
Convert for code inspection:
# Convert to ASCII
cpclib-borgams --input mystery.org --output mystery_inspected.asm
# Search for specific code patterns
grep -n "LD A," mystery_inspected.asm
# Count instruction types
grep -o "^[A-Z][A-Z]" mystery_inspected.asm | sort | uniq -c
Development Workflows
Debugging Orgams Files
Debug by examining the ASCII output:
# Convert to inspect structure
cpclib-borgams --input buggy.org --output debug.asm
# Open in editor for analysis
code debug.asm
Archive Preservation
Convert entire archive for long-term storage:
#!/bin/bash
# archive_orgams.sh - Convert all Orgams files in an archive
archive_dir="$1"
output_dir="$2"
mkdir -p "$output_dir"
find "$archive_dir" -name "*.org" | while read orgfile; do
relative_path="${orgfile#$archive_dir/}"
output_path="$output_dir/${relative_path%.org}.asm"
output_subdir=$(dirname "$output_path")
mkdir -p "$output_subdir"
cpclib-borgams --input "$orgfile" --output "$output_path"
echo "Converted: $relative_path -> ${relative_path%.org}.asm"
done
echo "Archive conversion complete!"
Usage:
Comparison Between Versions
Compare two versions of an Orgams file:
# Convert both versions
cpclib-borgams --input version1.org --output version1.asm
cpclib-borgams --input version2.org --output version2.asm
# Compare differences
diff -u version1.asm version2.asm
# Or use a visual diff tool
meld version1.asm version2.asm
Tips and Best Practices
File Naming
- Use
.orgextension for Orgams binary files - Use
.asmor.sextension for ASCII output - Preserve original filenames when converting for easy tracking
Output Handling
- Always specify an output file to avoid stdout clutter
- Create output directories before batch conversions
- Use meaningful output names for better organization
Error Handling
Check for conversion errors:
if cpclib-borgams --input input.org --output output.asm; then
echo "Conversion successful"
else
echo "Conversion failed - check input file format"
exit 1
fi
Workflow Integration
Combine with other CPC tools:
# Full workflow: Convert -> Assemble -> Create DSK -> Test
cpclib-borgams -i demo.org -o demo.asm
basm demo.asm -o demo.bin
bdasm demo.bin -o demo_disasm.asm
Common Patterns
Quick Inspection
Quickly inspect an Orgams binary:
Backup and Convert
Create backups before conversion:
# Backup originals
cp original.org original.org.backup
# Convert to ASCII
cpclib-borgams --input original.org --output original.asm
Pipeline Processing
Use in pipelines: