Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.sys.apple2.programmer > #3738
| From | Benoit0123 <bgilon@free.fr> |
|---|---|
| Newsgroups | comp.sys.apple2.programmer |
| Subject | ProBLOAD (a DOS 3.3 tiny extension) |
| Date | 2017-07-30 20:26 +0000 |
| Organization | Mac GUI |
| Message-ID | <benoit0123-1501446616@macgui.com> (permalink) |
Hello, ProBLOAD (internal codename BRR (*)) is an attempt to patch DOS 3.3 for providing L and B options to the BLOAD and BRUN commands, thus mimicking those commands behavior under ProDOS BI. ProBLOAD can be downloaded from the URL below: http://bgilon.free.fr/apple2/ProBLOAD.zip Two versions are available: a) BRRmini: with the minimum version of the patch (do not try to INIT a disk while this patch is active); b) BRR: the full pledge with safeguard procedures (see the Merlin source file header for details). The zip file quoted above contains a disk image with both the relevant source and object files (Merlin 8 v2.48) along with a PDF assembly listing file for the full version. Including in the .do disk image is an EXEC test file to show you what the patch does: to use it, just issue a BRUN BRR (or BRUN BRRMINI) followed by a EXEC TESTBRR command at Applesoft prompt. The patch is being installed by binary running (i.e. « BRUN ») either the BRR or the BRRmini binary files. Obviously BRRMINI is much smaller in size than BRR in case you had to keyboard enter it from a monitor listing. Have fun, Benoît (*): BRR is a TLA for « Before Release Revision » For those interested, below is the pseudo code of the patched BLOAD core mechanism (but you can study the provided source file if you prefer): Collect the original file loading address and file length from the 4 first bytes of the binary file. Let AVOrg:= Address from file Let LVOrg:= Length from file If keyword B present Then O:= UserParm(B); S:= 4; # Position then read a range of bytes subcode If O > LVOrg Then Issue a RANGE ERROR Else S:= 2; # Read a range of bytes subcode O:= 0; EndIf If A keyword is provided then P:= UserParm(A); Else P:= AVOrg + O; EndIf If L keyword is provided on command line Then L:= UserParm(L); If L + O > LVOrg Then Issue a RANGE ERROR Else L:= LVOrg - O; End If; If P + L > 65535 Then Issue a RANGE ERROR Calls the FM for loading the segment of binary file - using the subcode S (either 2 or 4), the latter involving a POSITION - from offset(O) # only meaningful where involving a POSITION - of length (L) - into memory starting @ address P -- Growing old is mandatory.. growing up is optional.. But the other way round is as true.
Back to comp.sys.apple2.programmer | Previous | Next — Next in thread | Find similar | Unroll thread
ProBLOAD (a DOS 3.3 tiny extension) Benoit0123 <bgilon@free.fr> - 2017-07-30 20:26 +0000
Re: ProBLOAD (a DOS 3.3 tiny extension) Hugh Hood <hughhood@earthlink.net> - 2017-07-30 18:02 -0500
Re: ProBLOAD (a DOS 3.3 tiny extension) Benoit0123 <bgilon@free.fr> - 2017-07-31 05:49 +0000
Re: ProBLOAD (a DOS 3.3 tiny extension) Hugh Hood <hughhood@earthlink.net> - 2017-08-01 00:05 -0500
Re: ProBLOAD (a DOS 3.3 tiny extension) ol.sc@web.de (Oliver Schmidt) - 2017-08-01 08:00 +0000
Re: ProBLOAD (a DOS 3.3 tiny extension) Michael J. Mahon <mjmahon@aol.com> - 2017-08-01 13:59 -0500
Re: ProBLOAD (a DOS 3.3 tiny extension) Hugh Hood <hughhood@earthlink.net> - 2017-08-02 01:50 -0500
Re: ProBLOAD (a DOS 3.3 tiny extension) Michael J. Mahon <mjmahon@aol.com> - 2017-08-02 12:00 -0500
Re: ProBLOAD (a DOS 3.3 tiny extension) Nick Westgate <nick.westgate@gmail.com> - 2017-08-02 15:22 -0700
csiph-web