Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
Catching prodos commands
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  5 messages - Collapse all  -  Translate all to Translated (View all originals)
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
BLuRry  
View profile  
 More options Feb 5, 2:00 am
Newsgroups: comp.sys.apple2.programmer
From: BLuRry <brendan.rob...@gmail.com>
Date: Sat, 4 Feb 2012 23:00:55 -0800 (PST)
Local: Sun, Feb 5 2012 2:00 am
Subject: Catching prodos commands
Found a fun thing to do: Re-route calls to $a685 to a custom parser in prodos.  This is the prodos syntax check routine, so if you replace the contents of the keyboard buffer with something else before resuming the command, you can essentially extend the recognized commands almost indefinitely.

Here's my proof of concept stub in the JACE code to do this, though right now I just print out the intercepted command it can be used for much more interesting things later:

new RAMListener(RAMEvent.TYPE.READ, RAMEvent.SCOPE.ADDRESS, RAMEvent.VALUE.ANY) {
                @Override
                protected void doConfig() {setScopeStart(0x0a685);}

                @Override
                protected void doEvent(RAMEvent e) {
                    if (getCpu().getProgramCounter() != getScopeStart()) return;
                    String in = "";
                    for (int i=0x0200; i < 0x0300; i++) {
                        char c = (char) (getMemory().read(i, false) & 0x07f);
                        if (c == 0x0d) break;
                        in += c;
                    }
                    System.err.println("Intercepted command: "+in);
                }


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Antoine Vignau  
View profile  
 More options Feb 5, 8:51 am
Newsgroups: comp.sys.apple2.programmer
From: Antoine Vignau <antoine.vig...@laposte.net>
Date: Sun, 5 Feb 2012 05:51:01 -0800 (PST)
Local: Sun, Feb 5 2012 8:51 am
Subject: Re: Catching prodos commands
At that address, it is not ProDOS, it is BASIC.SYSTEM and I am sure
that address is not guaranteed.

Purchase a book about ProDOS and BASIC.SYSTEM (like the one from Gary
Little, Exploring P8 and GS/OS) and you'll learn how to add/intercept
commands directly by, for instance, studying the $BE00..$BEFF buffer.

antoine


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
BLuRry  
View profile  
 More options Feb 5, 9:42 am
Newsgroups: comp.sys.apple2.programmer
From: BLuRry <brendan.rob...@gmail.com>
Date: Sun, 5 Feb 2012 06:42:13 -0800 (PST)
Local: Sun, Feb 5 2012 9:42 am
Subject: Re: Catching prodos commands
Oh it's not terribly important, just a bit of fun to intercept something like "cd .." and swap it out with the appropriate PREFIX call.  Or rewrite commands such that anything matching dir or ls gets chaanged to cat or catalog (if in 80 cols)

JACE has an option to provide friendly messages so offering some sort of help pages could be an easy sort of add-on.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Michael J. Mahon  
View profile  
 More options Feb 8, 2:25 pm
Newsgroups: comp.sys.apple2.programmer
From: "Michael J. Mahon" <mjma...@aol.com>
Date: Wed, 08 Feb 2012 11:25:53 -0800
Local: Wed, Feb 8 2012 2:25 pm
Subject: Re: Catching prodos commands

BLuRry wrote:
> Oh it's not terribly important, just a bit of fun to intercept something like "cd .." and swap it out with the appropriate PREFIX call.  Or rewrite commands such that anything matching dir or ls gets chaanged to cat or catalog (if in 80 cols)

I've been using "cd" from the PROCMD suite for years.  It hooks into
BASIC.SYSTEM using the standard protocol and does just what you would
expect.

-michael

NadaNet 3.1 for Apple II parallel computing!
Home page:  http://home.comcast.net/~mjmahon/

"The wastebasket is our most important design
tool--and it's seriously underused."


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
BLuRry  
View profile  
 More options Feb 9, 12:49 am
Newsgroups: comp.sys.apple2.programmer
From: BLuRry <brendan.rob...@gmail.com>
Date: Wed, 8 Feb 2012 21:49:20 -0800 (PST)
Local: Thurs, Feb 9 2012 12:49 am
Subject: Re: Catching prodos commands
Yes, but I would also like to hook in some simple commands as well that control the emulator directly...  Hint: Semantic computing.  :^)

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »