-
-
Notifications
You must be signed in to change notification settings - Fork 19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Problems with ACE LispUsers MENU code -- works in MEDLEY 1.0 #525
Comments
@masinter - I think part of that message got lost. If it's a basic BITBLT operation, that would be implemented in the Maiko C code, and I would be quite surprised that this was the first time such a problem had shown up. |
When I run it, I see a variety of bad behaviors. Sometimes it draws the menu and sometimes it doesn't. ACE caches several values, so running it the second and subsequent time don't execute the exact same code path as the first time. I've observed it writing to the screen background and also breaking in ACE.QUICKDRAW&UPD in DSPCLIPPINGREGION with \ILLEGAL.ARG NIL when attempting to loop an animation, but after the first instance of this, it's not clear that we're seeing anything other than side-effects of a previous bug. |
On 3/26/2023 4:19 PM, John D. Corbett wrote:
When I run it, I see a variety of bad behaviors. Sometimes it draws
the menu and sometimes it doesn't. ACE caches several values, so
running it the second and subsequent time don't execute the exact same
code path as the first time. I've observed it writing to the screen
background and also breaking in ACE.QUICKDRAW&UPD in DSPCLIPPINGREGION
with \ILLEGAL.ARG NIL when attempting to loop an animation, but after
the first instance of this, it's not clear that we're seeing anything
other than side-effects of a previous bug.
That's all true. I've witnessed it myself. I must though humbly
reiterate that it all worked fine in Medley 1.0. I don't think there's
any code in there that explicitly draws on the screen bitmap.
- Michele
|
Are there any screen images of what the ACE many window is supposed to look like? ADDMENU clobbers various window properties to make the menu work. ACE clobbers them back. Wondering if somewhere a display stream is now somehow defaulting to the the screen background because some function that used to return the application window now returns NIL or something like that. Understood that it works in Medley 1.0 and whatever version of Interlisp-D it was developed in. |
On 3/26/2023 8:20 PM, John D. Corbett wrote:
Are there any screen images of what the ACE many window is supposed to
look like?
Like this:
This is in a Medley 1.0 sysout with a MAKESYSDATE of 28-Aug-91 running
with the Solaris SPARC ldex I found on the PARC server, file size 2278016.
- Michele
|
Michele, the image didn't appear in your comment. |
@Michele31415, now I see it. So, (0 . 0) is correct. Maybe the buggy x-coordinate the menu gets rendered at is related to the text starting location for the directory prompt. I wonder if there's a reason for shading the title bar. I don't recall that being a common thing. |
When I change the ADDMENU location to (0 . 0), and change the window border size to 1, the menu is drawn exactly as in Michele's screenshot. |
I discovered a way to recreate the problem. If we call (DSPXOFFSET X STREAM) or (DSPYOFFSET Y STREAM) the menu renders outside the window and when the window is moved, it redisplays offset by the change in position of the window. The ACE code does manipulate the window's clipping region despite the caution in the IRM. |
The code in
and likewise for the bottom, so if under Medley 1.0 the offsets were ignored, but then that "bug" was fixed, we'd see this change. I can't find a copy of |
I hadn't even noticed that. I checked a screenshot of Lisp running on the D0 and it's not that way there. It's also just a solid line in Medley 3.5. It's a mystery. |
I found lots of versions of LLDISPLAY, removing duplicates
I think BKBITBLT did it in the (STORAGE) (L:ROOM) with a Clipping Region |
here are 5 versions of LLDISPLAY picked out from the history repo (mainly) |
@pictographer wrote:
The ACE documentation contains a screenshot of the control window: and the main menu: |
As discussed in the Jul 31, 2024 external meeting, to isolate the issue I'll test ACE on Medley for DOS which I managed to run under DOSBox-X as reported in #1790. It has a Medley 2 sysout dated Sep 1992. |
To run ACE on Medley for DOS I downloaded the compiled files from the Medley repo, renamed them from
It's probably better to build ACE from source on DOS. Can I just One of the ACE source files, ACEIMAGEOBJ, has a name longer than the 8+3 DOS format (and there's no compiled version). How should I handle it? |
I'm not sure of the timeline of introducing new features in Maiko, but there were incompatible changes between Medley 1.0 and Medley 3.5 (which we started with in current Medley/Maiko):
but in any case Medley 2.0 compiled files and Medley 3.5 current repo compiled files are incompatible. |
I made some progress with compiling ACE. I downloaded the source files and renamed ACEIMAGEOBJ to ACEIMGOB to fit the DOS format, then compiled them with
The compilation of ACE-EDIT broke into the debugger with the error Compiling ACE-MAIN broke into the debugger with the same error |
I'd BCOMPL them rather than use the CommonLisp compiler. Also, when you get a break like that, don't just stop... use the backtrace, look back up the stack, look at the form it was compiling, where did it come from, does it make sense? |
I compiled each ACE file separately with
The backtrace:
Some more debugger commands:
|
It's putting a |
You could exit the break with |
BTW - I would definitely not compile or run this from an XCL exec - it's Interlisp so use an Interlisp exec. |
From an Interlisp Exec I recompiled the ACE sources with
The context of the error:
|
Try |
Executing
The error context:
|
OK - since the code doesn't expect REDISPLAYW to be called (since there's a DON'T on it) - back up the stack and |
Executing
The backtrace confirms
Executing
Pressing So ACE on Medley for DOS isn't affected by the issue reported here.
|
@mdenber reports
How can I get access to Medley 1?
The text was updated successfully, but these errors were encountered: