mirror of
https://github.com/softwarejanitor/DOS33.git
synced 2024-12-27 07:31:23 +00:00
Added start of copy and write for DOS 3.3
This commit is contained in:
parent
278326cd94
commit
e0a67eec63
27
DOS33.pm
27
DOS33.pm
@ -610,5 +610,32 @@ sub rename_file {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# Copy a file
|
||||||
|
#
|
||||||
|
sub copy_file {
|
||||||
|
my ($dskfile, $filename, $new_filename, $dbg) = @_;
|
||||||
|
|
||||||
|
$debug = 1 if (defined $dbg && $dbg);
|
||||||
|
|
||||||
|
my ($file, $cat_trk, $cat_sec, $cat_buf) = find_file($dskfile, $filename);
|
||||||
|
if ($file->{'trk'}) {
|
||||||
|
##FIXME
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# Write a file to disk image.
|
||||||
|
#
|
||||||
|
sub write_file {
|
||||||
|
my ($dskfile, $filename, $new_filename, $mode, $conv, $dbg) = @_;
|
||||||
|
|
||||||
|
$debug = 1 if (defined $dbg && $dbg);
|
||||||
|
|
||||||
|
##FIXME
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
1;
|
1;
|
||||||
|
|
||||||
|
2
README
2
README
@ -8,7 +8,7 @@ dos33umlock.pl -- mostly working
|
|||||||
dos33lock.pl -- mostly working
|
dos33lock.pl -- mostly working
|
||||||
dos33rename.pl -- started
|
dos33rename.pl -- started
|
||||||
dos33delete.pl -- started
|
dos33delete.pl -- started
|
||||||
dos33copy.pl
|
dos33copy.pl -- started
|
||||||
zap.pl -- partially working
|
zap.pl -- partially working
|
||||||
prozap.pl -- partially working
|
prozap.pl -- partially working
|
||||||
procat.pl -- partially working
|
procat.pl -- partially working
|
||||||
|
32
dos33copy.pl
Normal file
32
dos33copy.pl
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
#!/usr/bin/perl -w
|
||||||
|
|
||||||
|
#
|
||||||
|
# dos33copy.pl:
|
||||||
|
#
|
||||||
|
# Utility to copy a file on an Apple II DOS 3.3 disk image.
|
||||||
|
#
|
||||||
|
# 20190117 LSH
|
||||||
|
#
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
|
||||||
|
use DOS33;
|
||||||
|
|
||||||
|
my $debug = 0;
|
||||||
|
|
||||||
|
while (defined $ARGV[0] && $ARGV[0] =~ /^-/) {
|
||||||
|
# Debug
|
||||||
|
if ($ARGV[0] eq '-d') {
|
||||||
|
$debug = 1;
|
||||||
|
shift;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
my $dskfile = shift or die "Must supply .dsk filename\n";
|
||||||
|
my $filename = shift or die "Must supply filename (on disk image)\n";
|
||||||
|
my $new_filename = shift or die "Must supply new filename\n";
|
||||||
|
|
||||||
|
copy_file($dskfile, $filename, $new_filename, $debug);
|
||||||
|
|
||||||
|
1;
|
||||||
|
|
65
dos33write.pl
Normal file
65
dos33write.pl
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
#!/usr/bin/perl -w
|
||||||
|
|
||||||
|
#
|
||||||
|
# dos33write.pl:
|
||||||
|
#
|
||||||
|
# Utility to write a file into an Apple II DOS 3.3 disk image.
|
||||||
|
#
|
||||||
|
# 20190117 LSH
|
||||||
|
#
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
|
||||||
|
use DOS33;
|
||||||
|
|
||||||
|
my $mode = 'T';
|
||||||
|
my $conv = 1;
|
||||||
|
my $debug = 0;
|
||||||
|
|
||||||
|
while (defined $ARGV[0] && $ARGV[0] =~ /^-/) {
|
||||||
|
# Mode
|
||||||
|
if ($ARGV[0] eq '-m' && defined $ARGV[1] && $ARGV[1] ne '') {
|
||||||
|
# Text
|
||||||
|
if ($ARGV[1] eq 'T') {
|
||||||
|
$mode = 'T';
|
||||||
|
$conv = 1;
|
||||||
|
# Integer BASIC
|
||||||
|
} elsif ($ARGV[1] eq 'I') {
|
||||||
|
$mode = 'I';
|
||||||
|
$conv = 0;
|
||||||
|
# Applesoft
|
||||||
|
} elsif ($ARGV[1] eq 'A') {
|
||||||
|
$mode = 'A';
|
||||||
|
$conv = 0;
|
||||||
|
# Binary
|
||||||
|
} elsif ($ARGV[1] eq 'B') {
|
||||||
|
$mode = 'B';
|
||||||
|
$conv = 0;
|
||||||
|
# S
|
||||||
|
} elsif ($ARGV[1] eq 'S') {
|
||||||
|
$mode = 'S';
|
||||||
|
$conv = 0;
|
||||||
|
} else {
|
||||||
|
die "Unknown mode for -m, must be T, I, A, B or S\n";
|
||||||
|
}
|
||||||
|
shift;
|
||||||
|
shift;
|
||||||
|
# Convert (carriage return to linefeed)
|
||||||
|
} elsif ($ARGV[0] eq '-c') {
|
||||||
|
$conv = 0;
|
||||||
|
shift;
|
||||||
|
# Debug
|
||||||
|
} elsif ($ARGV[0] eq '-d') {
|
||||||
|
$debug = 1;
|
||||||
|
shift;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
my $dskfile = shift or die "Must supply .dsk filename\n";
|
||||||
|
my $filename = shift or die "Must supply filename (local file system)\n";
|
||||||
|
my $new_filename = shift or die "Must supply filename (on disk image)\n";
|
||||||
|
|
||||||
|
write_file($dskfile, $filename, $new_filename, $mode, $conv, $debug);
|
||||||
|
|
||||||
|
1;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user