Hiya Hugh (and everyone),
I came across http://www.apple2works.com/aw51finderloaderdemo.mov
on your site and wanted to know ��is this available? I couldn't find
any additional info. Was this an AW.Init, or something else?
Also, was there a complete and handy icon set for AppleWorks 5.1 that
double clicking on the 3 different types of AW files (database,
spreadsheet, word processor) would load AppleWorks from the System 6
Finder and then load those docs as seen in the aforementioned video?
Alex
Alex,
It's nice you noticed. I was hoping someone would eventually. ;-)
Yes, it's a finished working product called the AppleWorks 5.1 Finder File Loader Init. It's just not yet released.
It works just as the video you saw shows --- double click a single (or select multiple files and 'OPEN') AppleWorks ADB, AWP or ASP custom icons (and optionally text and Merlin source file icons) and presto, AppleWorks 5.1 is launched and proceeds automatically to load the selected files (up to 36 files) to the Desktop.
It comes with custom AppleWorks Finder icons (or you can use your own). Then, you just use an icon editor to set the application path to the AppleWorks 5.1 program.
Now, why hasn't it been released yet?
1. The main reason is that I have been working on a collection of four new inits to be added to my AppleWorks InitPack. My plan was to release the new InitPack collection in time for KansasFest so that maybe for once I wouldn't 'suck'. ;-) . Three of the four are completed and de-bugged. The fourth is in (slow) progress.
2. The other (secondary) reason is that I need to write documentation for the Finder File Loader Init to explain that one must use an icon editor to modify the path if you expect it to work. It seems like writing documentation always takes a back seat to writing code when the time is available. But, it WILL get done.
As with the other inits, I'll provide full source code for the new inits.
Trivia - this started out as a custom macro task file and morph into an init.
BTW, thanks for you site. Your pre-made GS/OS images have save me tons of time.
Regards,
Hugh Hood
in article ttq2p4$9pe3$[email protected], Alex Lee at [email protected] wrote on
3/2/23 5:54 AM:
Hiya Hugh (and everyone),
I came across http://www.apple2works.com/aw51finderloaderdemo.mov
on your site and wanted to know is this available? I couldn't find
any additional info. Was this an AW.Init, or something else?
Also, was there a complete and handy icon set for AppleWorks 5.1 that double clicking on the 3 different types of AW files (database, spreadsheet, word processor) would load AppleWorks from the System 6 Finder and then load those docs as seen in the aforementioned video?
Alex
Alex,
It's nice you noticed. I was hoping someone would eventually. ;-)
Yes, it's a finished working product called the AppleWorks 5.1 Finder File Loader Init. It's just not yet released.
It works just as the video you saw shows --- double click a single (or
select multiple files and 'OPEN') AppleWorks ADB, AWP or ASP custom icons (and optionally text and Merlin source file icons) and presto, AppleWorks
5.1 is launched and proceeds automatically to load the selected files (up to 36 files) to the Desktop.
It comes with custom AppleWorks Finder icons (or you can use your own).
Then, you just use an icon editor to set the application path to the AppleWorks 5.1 program.
Now, why hasn't it been released yet?
1. The main reason is that I have been working on a collection of four new inits to be added to my AppleWorks InitPack. My plan was to release the new InitPack collection in time for KansasFest so that maybe for once I wouldn't 'suck'. ;-) . Three of the four are completed and de-bugged. The fourth is
in (slow) progress.
2. The other (secondary) reason is that I need to write documentation for
the Finder File Loader Init to explain that one must use an icon editor to modify the path if you expect it to work. It seems like writing
documentation always takes a back seat to writing code when the time is available. But, it WILL get done.
As with the other inits, I'll provide full source code for the new inits.
Trivia - this started out as a custom macro task file and morph into an
init.
BTW, thanks for you site. Your pre-made GS/OS images have save me tons of time.
Recently I've been teaching Apple II DeskTop (a.k.a. MouseDesk) to handle load file types with appropriate handlers, for system files that follow
the "$2000 is a jump instruction. $2003 and $2004 are $EE." protocol,
where you dump a path in $2006. There aren't many such system files - UNSHRINK and BINSCII are two of them. And of course there's BASIC.SYSTEM
for BAS files, my new INTBASIC.SYSTEM for INT files, and generic
BASIS.SYSTEM files inspired by Bitsy Bye.
Ah yes. I wrote https://github.com/a2stuff/basys33 as a helper here -
you can drop it (a BASIS.SYSTEM file) in the same directory as DOS3.3.LAUNCHER and it'll invoke the latter for $F1..$F4 files, or QUIT.
Or you can just rename DOS3.3.LAUNCHER to BASIS.SYSTEM. I didn't teach
A2D about these files specifically because the $F1....$F4 types are
"user defined" and overloaded; A2D itself uses $F1 for its files
(modules, accessories, etc) with specific auxtypes, and DOS3.3.LAUNCHER
files aren't easily distinguishable since they use auxtype as load
address. So putting the launcher adjacent to them to disambiguate is
kinda needed anyway, and so a custom BASIS.SYSTEM works.
There are still a handful of non-ported games, but yeah - the rationale
is dwindling! But anyway, with all of the above I can just double-click
a DOS3.3.LAUNCHER image file from A2D and it'll run automagically.
Joshua Bell <[email protected]> wrote:
Recently I've been teaching Apple II DeskTop (a.k.a. MouseDesk) to handle load file types with appropriate handlers, for system files that follow the "$2000 is a jump instruction. $2003 and $2004 are $EE." protocol, where you dump a path in $2006. There aren't many such system files - UNSHRINK and BINSCII are two of them. And of course there's BASIC.SYSTEM for BAS files, my new INTBASIC.SYSTEM for INT files, and generic BASIS.SYSTEM files inspired by Bitsy Bye.
DOS 3.3 Launcher also follows this protocol and could be an entertaining
use case for you.
Of course, the full ProDOS ports make this obsolete for many games but perhaps there’s still a use (non game?) for it.
On Fri, 3 Mar 2023, Joshua Bell wrote:
Ah yes. I wrote https://github.com/a2stuff/basys33 as a helper here -
you can drop it (a BASIS.SYSTEM file) in the same directory as DOS3.3.LAUNCHER and it'll invoke the latter for $F1..$F4 files, or QUIT. Or you can just rename DOS3.3.LAUNCHER to BASIS.SYSTEM. I didn't teach
A2D about these files specifically because the $F1....$F4 types are
"user defined" and overloaded; A2D itself uses $F1 for its files
(modules, accessories, etc) with specific auxtypes, and DOS3.3.LAUNCHER files aren't easily distinguishable since they use auxtype as load address. So putting the launcher adjacent to them to disambiguate is
kinda needed anyway, and so a custom BASIS.SYSTEM works.
There are still a handful of non-ported games, but yeah - the rationaleSome of my games use $F1 for their extra files.
is dwindling! But anyway, with all of the above I can just double-click
a DOS3.3.LAUNCHER image file from A2D and it'll run automagically.
Most of them have an auxtype of 0 (it varies), and many have .OVL or .OVL# (where # is a number) in their filenames.
-uso.
Recently I've been teaching Apple II DeskTop (a.k.a. MouseDesk) to
handle load file types with appropriate handlers, for system files
that follow the "$2000 is a jump instruction. $2003 and $2004 are
$EE." protocol, where you dump a path in $2006. There aren't many
such system files - UNSHRINK and BINSCII are two of them. And of
course there's BASIC.SYSTEM for BAS files, my new INTBASIC.SYSTEM for
INT files, and generic BASIS.SYSTEM files inspired by Bitsy Bye.
Alas, APLWORKS.SYSTEM is not such a system file. I'd be interested in
a ProDOS-8 friendly shim that could invoke AppleWorks and trigger it
to load the passed file. Ideally this would work with a stock install
of AppleWorks.
Funny you ask. Actually, I already wrote this for the $2003/$2004/$2006 ProDOS startup protocol procedure at the request of John Brooks several years ago. I think he was going to use it with his BASIS.SYSTEM.
I sent it to John and I guess he got busy with other things and so it
never saw the light of day, AFAIK.
So, I've just now uploaded it to my website at this address: http://www.apple2works.com/aw51launch.shk
In that .shk file will be the System file and the source code.
Let me know if I can answer any questions on this. Adapt it as you see
fit for your project.
BTW, please allow me to say that I am a giant fan of your Apple II
Desktop work and follow every revision you release. Every time you add another Desktop Accessory I tell myself, 'Damn that's clever. That guy
can really write code.' ;-)
FWIW, I'd encourage people working on new P-8 projects to not be afraid
to pick new type/auxtype values
I'll tinker with it a bit and report back. Thank you for leaving excellent high-level and low-level comments in the source, it makes it very approachable.
My weakly-held preference would be to construct a stand-alone
AWLAUNCH.SYSTEM that handles the Bitsy/BASIS protocol and can be
outside the AW directory (e.g. looks for /VOL/AW5/APLWORKS.SYSTEM
where /VOL is the volume containing the system file; if that fails, enumerates online volumes).
Thoughts?
about file types and aux types, I maintain a list @ https://docs.google.com/spreadsheets/d/1HIg5f1gispUvO0r8t6SEww8XM41eUAtn7wkNNDrNPtQ/edit?usp=sharing
Your additions are welcome,
You bet. That would be super.
In normal practice doing this type of thing, I use the Merlin32 PUTBIN directive to just place the entire compiled task file in memory, and
then only copy the macro table ($1000 bytes), which begins at offset
$200 in the file, to $01/EF00. Not only is it much simpler to do it that way, it also makes revisions to the macros easy to implement.
Thanks for jumping on this so quickly, Joshua. You're a driven man.
Okie dokie. My source is up at https://github.com/a2stuff/a2d/blob/main/extras/awlaunch.system.s -
builds as part of the overall system. I basically rewrote the system
file part to follow my own conventions, making a few different
trade-offs. The macro block is of course untouched, apart from
compiler differences.
I'm assuming for future macro updates - if they're ever needed - we
really just need the macro data block, plus offsets to the two
strings?
Thank you so much for sharing your work and letting me incorporate
it! >
about file types and aux types, I maintain a list @ https://docs.google.com/spreadsheets/d/1HIg5f1gispUvO0r8t6SEww8XM41eUAtn7wkNNDrNPtQ/edit?usp=sharingI have added the three application only file types Spectrum uses.
Your additions are welcome,
On 3/4/2023 11:12 PM, Joshua Bell wrote:
I'm assuming for future macro updates - if they're ever needed - we
really just need the macro data block, plus offsets to the two
strings?
Correct again.
Speaking of macro updates... a tester reports that when opening a WP
file the bottom of the document is shown which (depending on
pagination) means the user may see a blank screen.
Looking at the macro ("task") source, I don't see anything specific
there. Is that default AW behavior? Is it possible for the macros to
force a "scroll to top" for WP files?
Not a big deal, but it's good to get feedback!
Generally speaking, AppleWorks 5.1 will load a WP file with the cursor positioned at the exact same place as it was when the file was last saved.
If the WP document was originally saved with an earlier version of
AppleWorks (e.g. AppleWorks v2.1), AppleWorks 5.1 will load it and
display the cursor at or beyond the very end, UNLESS, the default
load setting under WP is changed to reset.
So, if you'd like, I can update the macro (and the macro table that
you've embedded) to test:
1. Is the file just loaded an AWP file?
2. If yes, does location $7C62/$7C63 contain $7D38?
3. If yes, issue an <OA-1> command to move the screen and cursor to the
top of the file.
In the very rare instance that someone saved an AppleWorks 5.1 AWP with
a top of screen line pointer set to $7D38 (that is a valid pointer to a
line # of approximately 7800 with sufficient memory) the macro would
return to the top of the file.
Sounds like a good idea - and we can kick the tires on updating the
macro table. If you leave the strings empty with "THEN" tokens after
them I can find the offsets pretty easily. (And maybe even automate
that.)
Want to email me the results? inexorabletash at gmail dot com
* When Bitsy Bye invokes BASIS.SYSTEM on a file:...
* $380 is set to the full path of the launched SYS file
Joshua Bell wrote:
* When Bitsy Bye invokes BASIS.SYSTEM on a file:...
* $380 is set to the full path of the launched SYS fileDoesn't that risk colliding with the vectors at the end of page $3?
(IIRC, ProDOS paths can be up to 128 bytes, incl the length byte.)
Or are those considered temporarily expendible at that stage?
| Sysop: | Keyop |
|---|---|
| Location: | Huddersfield, West Yorkshire, UK |
| Users: | 715 |
| Nodes: | 16 (2 / 14) |
| Uptime: | 149:48:27 |
| Calls: | 12,091 |
| Calls today: | 4 |
| Files: | 15,000 |
| Messages: | 6,517,584 |