User Forum    :: Powered by YaBB
  « MIDI-OX User Forum - Annoyances, Requests, Bugs »
Welcome, Guest. Please Login or Register.
Jan 12th, 2025, 11:08pm


Home Home Help Help Search Search Members Members Login Login Register Register


   MIDI-OX User Forum
   HP16C Emulator
   HP16C Bug Reports
(Moderator: Jamie OConnell)
   Annoyances, Requests, Bugs
« No topic | Next topic »
Pages: 1 2 3  Reply Reply Notify of replies Notify of replies Send Topic Send Topic Print Print
   Author  Topic: Annoyances, Requests, Bugs  (Read 13110 times)
RickN
Member
**



HP Calculator Enthusiast

   
WWW

Gender: male
Posts: 45
Re: Annoyances, Requests, Bugs
« Reply #20 on: Jun 18th, 2005, 5:45pm »
Quote Quote Modify Modify

DBL/ and DBLR bugs: 56-bit word size, unsigned math, HEX, 5F7Ed0AE425dF1, ENTER, 3A, ENTER, bE, DBL/.  An HP-16C returns 4EA664Cdb79766 but the emulator returns 4EA664CA644FC4.  Try the same arguments with DBLR.  The HP-16C returns 3d but the emulator returns 277CF2A79.  (These took me several hours of degugging effort to find using my e program, an HP-16C, and Derive software on a PC.)
IP Logged
Jamie OConnell
Administrator
*****






   
WWW Email

Gender: male
Posts: 2027
Re: Annoyances, Requests, Bugs
« Reply #21 on: Jun 19th, 2005, 10:58am »
Quote Quote Modify Modify

Nice, thanks.  I think we both got to roughly the same place (LastX = 190).  What does the Derive software do?
IP Logged

--Jamie
Music is its own reward.

Jamie OConnell
Administrator
*****






   
WWW Email

Gender: male
Posts: 2027
Re: Annoyances, Requests, Bugs
« Reply #22 on: Jun 19th, 2005, 6:02pm »
Quote Quote Modify Modify

on Jun 17th, 2005, 10:49am, RickN wrote:
Enhancement suggestion: I would like some way to get a text file listing of the program contents (and registers, stack, LastX... too) of the emulator, with both row/column keystroke notation and command name columns side by side.  This could be by making the .16c files plain text or providing another menu option to export this information.  It is time consuming to use the emulator for debugging programs that work on a real HP-16C.  This option would allow a quick way to make sure what is in the emulator is what is intended.  It also provides a good way to share programs with either emulator OR real calculator users.

 
This is a good idea, and one I have toyed with; however it may be beyond what can be accomplished for a version 1 program.  The program did not even get released to Beta until the version 1 features were complete.
IP Logged

--Jamie
Music is its own reward.

Jamie OConnell
Administrator
*****






   
WWW Email

Gender: male
Posts: 2027
Re: Annoyances, Requests, Bugs
« Reply #23 on: Jun 19th, 2005, 6:06pm »
Quote Quote Modify Modify

on Jun 17th, 2005, 10:56am, RickN wrote:
Enhancement suggestion: Finer mouse-click recognition so f or g shifts can be clicked directly instead of requiring 2-key sequences.  (This was a feature of the HP program xhpcalc that ran on UNIX workstations.  A useful example: Either g SST or BST in one click would do a BST operation.)

 
This is a very good idea.  I think we could add an option for this type of behavior.  It needs to be an option because there will be a certain set of folks who will desire an accurate simulation, without shortcuts.
 
IP Logged

--Jamie
Music is its own reward.

Jamie OConnell
Administrator
*****






   
WWW Email

Gender: male
Posts: 2027
Re: Annoyances, Requests, Bugs
« Reply #24 on: Jun 19th, 2005, 6:42pm »
Quote Quote Modify Modify

on Jun 16th, 2005, 2:31am, RickN wrote:
Let me try to redeem myself after my DBL/ red herring earlier.  (You are right, what I described is not a defect.)
 
1) Enter this program in the HP-16C and emulator: LBL F, GTO F.  From Run mode, press and release GTO, F, SST, SST, SST...  Notice the HP-16C indicates the LBL F as a step and the emulator skips over it.  This messed up my debugging efforts, counting SST presses on the emulator and 16C to pace and compare the two.  Every GTO, the emulator skips a step relative to the 16C.

 
Confirmed and repaired.
 
Quote:

2) I count on CLx disabling stack lift in my program and the emulator doesn't do it.  From the keyboard: 1, ENTER, 2, ENTER, 3, ENTER, 4, CLx (blue shift, BSP), 5.  Compare the emulator and 16C stacks to see the difference.  See the owners manual pages 25 and 99.  (This took me 3 hours to find, as the root cause of a problem in my e program.  An emulator workaround is to replace CLx, RCL (i) in my program with CLx, ROLLDOWN, RCL (i).)

 
I cannot reproduce your particular example:  

1, ENTER, 2, ENTER, 3, ENTER, 4, CLx (blue shift, BSP), 5

This sequence results in a stack of (T) 1, (Z) 2, (Y) 3, (X) 5 on both calculators.  However, I did find a problem where rolling the stack up or down sometimes did not Enable stack lift.  I fixed the latter one.
 
I'm not sure why this was the Root Cause of the problem in your e program, as I haven't yet got the first program to run to completion?  And that one doesn't have a CLx instruction.
 
[Later...  I also see that: CLx followed by RCL n does not behave as expected...]  
 
Quote:

3) I could really use a "run at full speed" option when using my 4-hour program to help debug the emulator...

 
I'm still working on this.  As the program instructions are interpreted, and there is large overhead in certain operations, it will never be incredibly fast. Of course, the goal is to emulate the HP-16C, not a P4, but I think we can offer some speed-up.
  
« Last Edit: Jun 19th, 2005, 6:58pm by Jamie OConnell » IP Logged

--Jamie
Music is its own reward.

RickN
Member
**



HP Calculator Enthusiast

   
WWW

Gender: male
Posts: 45
Re: Annoyances, Requests, Bugs
« Reply #25 on: Jun 19th, 2005, 7:55pm »
Quote Quote Modify Modify

Quote: I cannot reproduce your particular example: 1, ENTER, 2, ENTER, 3, ENTER, 4, CLx (blue shift, BSP), 5.  ... However, I did find a problem where rolling the stack up or down sometimes did not Enable stack lift.  I fixed the latter one.  ... I also see that: CLx followed by RCL [i] does not behave as expected... I'm not sure why this was the Root Cause of the problem in your e program, as I haven't yet got the first program to run to completion?  And that one doesn't have a CLx instruction.
 
Explanations: I couldn't make the "find e in binary" program to work on the emulator, so to continue making progress I made a separate program to find e to only 32 decimal places.  It worked (in hindsight, by not encountering the DBL/ and DBLR bugs) and allowed running the 2nd "convert to base 10" program, that failed, due to the CLx RCL(i) sequence not behaving as expected.  I think I then tried the manual 1 ENTER 2 ENTER 3 ENTER 4 Clx 5 sequence just after finding the Clx RCL(i) bug and it failed.  I was doing RollDown at various points to check the stack.  But I can't replicate it now either.  (Fortunately I did mention the core CLx RCL(i) problem.)  AFTER finding the CLx RCL(i) bug, I did the CLx RollDown RCL(i) workaround and went back to the full "find e in binary" program, to find the DBL/ and DBLR bugs.  (Whew!)
 
Bottom line: I will email separately my .16c file that can be used as a test program via Factory Reset, load program, GSB A.  Since the emulator has more register + program memory than the 16C, both halves of the program and all manual setup can be done in the emulator program.  Currently it would take about 4 hours to run.
 
Rick
IP Logged
Chris_L
New Member
*



MIDI-OX Rules!

   


Posts: 6
A few programming bugs
« Reply #26 on: Jun 30th, 2005, 3:58pm »
Quote Quote Modify Modify

1.  The clear program command (F-Rdown) should only delete programmed instructions when you are in program edit mode.  In regular calc mode, this command should still reset the current instruction to 0, but should not delete any instructions.
 
2.  The pause command (g-X<>Y) does not work exactly the same as the original hp16c.  I ran into a similar problem with my academic project, and I had to choose not to execute show-base commands from inside of programs.
 
Here is a short program that highlights the differences:
001 - HEX
002 - 9
003 - 8
004 - 7
005 - f-BIN  (show binary)
006 - f-DEC (show decimal)
007 - g-X<>Y (pause)
 
Original calculator will show 100110000111 b for 1 second,
2439 d for 1 second, 987 h for 1 second, and then finish executing the program and show the final result permanently (987 h).
 
Your emulator will just show 2439 d for 1 second, and then it will finish executing and show the final (wrong) result of 100110000111 b.  The calculator should be in hex mode here, not binary.
IP Logged
Jamie OConnell
Administrator
*****






   
WWW Email

Gender: male
Posts: 2027
Re: Annoyances, Requests, Bugs
« Reply #27 on: Aug 9th, 2005, 2:01am »
Quote Quote Modify Modify

You're right.  The Clear Program operation was backward.  I think I now have the Show Number Mode stuff working in program run mode.
 
Many thanks to Chris_L and RickN as well as everybody else for helping out with bug reports.  A new Beta has been released tonight.
« Last Edit: Aug 9th, 2005, 2:01am by Jamie OConnell » IP Logged

--Jamie
Music is its own reward.

RickN
Member
**



HP Calculator Enthusiast

   
WWW

Gender: male
Posts: 45
Re: Annoyances, Requests, Bugs
« Reply #28 on: Aug 9th, 2005, 11:12pm »
Quote Quote Modify Modify

Jamie,
 
The new rev 1.3.2.10 is great! I especially like the "Execute at Max Speed" and "Tri-Section button" features.  The "e to 400 places" program, re-written to be one long program with no setup needed, executes and gives correct results in about a minute instead of 5 hours.
 
I noticed on the tri-section buttons that the f-shifts have very little vertical mouse distance allocated to them -- having the mouse in the middle of the yellow text is already outside the allowed mouse space.
 
Rick
« Last Edit: Aug 9th, 2005, 11:13pm by RickN » IP Logged
Jamie OConnell
Administrator
*****






   
WWW Email

Gender: male
Posts: 2027
Re: Annoyances, Requests, Bugs
« Reply #29 on: Aug 10th, 2005, 9:56am »
Quote Quote Modify Modify

Quote:
I noticed on the tri-section buttons that the f-shifts have very little vertical mouse distance allocated to them -- having the mouse in the middle of the yellow text is already outside the allowed mouse space.  

 
That's true, but I can't make it test outside of the button itself, and I didn't want it to be easy to accidently hit f+func or g+func.
IP Logged

--Jamie
Music is its own reward.

RickN
Member
**



HP Calculator Enthusiast

   
WWW

Gender: male
Posts: 45
Re: Annoyances, Requests, Bugs
« Reply #30 on: Aug 29th, 2005, 1:57am »
Quote Quote Modify Modify

Regarding the HP-16C Emulator version 1.3.6.15 (8/27/05),
 
I really like it!
 
Enhancement: Remember the on/off state and location of the stack, reg, and program windows so I can quit the program and restart where I left off.
 
Enhancement: Allow resizing of the stack, reg, and program windows.  (The real desire here is to get all 3 of these and the calculator window on-screen at the same time, not overlapping.  Maybe leave them a fixed size, but with non-overlapping layout a goal.  The register window seems to stay at the widest size ever needed which usually includes lots of white space.)
 
Bug: Clicking on the calculator window will not raise it above the stack, reg, or program windows.  I tried "Keep on top" but figured out this keeps the whole set of windows on top of other applications, not what I wanted.
 
Rick
IP Logged
Jamie OConnell
Administrator
*****






   
WWW Email

Gender: male
Posts: 2027
Re: Annoyances, Requests, Bugs
« Reply #31 on: Aug 29th, 2005, 11:30am »
Quote Quote Modify Modify

on Aug 29th, 2005, 1:57am, RickN wrote:

Enhancement: Remember the on/off state and location of the stack, reg, and program windows so I can quit the program and restart where I left off.

 
We already do save stack contents, regs, program, and IP.  I agree that saving the state of the stack would allow restarting so I'll add that.
 
Quote:

Enhancement: Allow resizing of the stack, reg, and program windows.  (The real desire here is to get all 3 of these and the calculator window on-screen at the same time, not overlapping.  Maybe leave them a fixed size, but with non-overlapping layout a goal.  The register window seems to stay at the widest size ever needed which usually includes lots of white space.)

 
This is a bunch of extra work, but maybe necessary at this point.  I hadn't noticed because I run at 1280 x 960 minimum, but not everybody does.
 
Quote:

Bug: Clicking on the calculator window will not raise it above the stack, reg, or program windows.  I tried "Keep on top" but figured out this keeps the whole set of windows on top of other applications, not what I wanted.

 
That's a Windows limitation for child windows and can't be changed, but maybe resizing child windows will make this moot.
« Last Edit: Aug 29th, 2005, 11:31am by Jamie OConnell » IP Logged

--Jamie
Music is its own reward.

RickN
Member
**



HP Calculator Enthusiast

   
WWW

Gender: male
Posts: 45
Re: Annoyances, Requests, Bugs
« Reply #32 on: Aug 29th, 2005, 8:58pm »
Quote Quote Modify Modify

Jamie quote: We already do save stack contents, regs, program, and IP.  I agree that saving the state of the stack would allow restarting so I'll add that.
 
Jamie: I mentioned the on/off state and location of the *windows* involved.  I would like to start the application and have all 4 (or fewer) windows onscreen where I last left them, the same size as I last left them.
 
Another thing about resizable windows -- The current Registers window isn't big enough to show a 64-bit register in binary.
« Last Edit: Aug 30th, 2005, 2:04am by RickN » IP Logged
Jamie OConnell
Administrator
*****






   
WWW Email

Gender: male
Posts: 2027
Re: Annoyances, Requests, Bugs
« Reply #33 on: Aug 30th, 2005, 2:21am »
Quote Quote Modify Modify

Quote:
Another thing about resizable windows -- The current Registers window isn't big enough to show a 64-bit register in binary.

 
True. It would have to be huge by default to satisfy that, however you CAN resize the columns and use a horizontal scroll bar to get to all of the data.
« Last Edit: Aug 30th, 2005, 2:21am by Jamie OConnell » IP Logged

--Jamie
Music is its own reward.

RickN
Member
**



HP Calculator Enthusiast

   
WWW

Gender: male
Posts: 45
Re: Annoyances, Requests, Bugs
« Reply #34 on: Sep 6th, 2005, 10:35pm »
Quote Quote Modify Modify

1) I compared the checksum example on page 90-93 of the owners manual with the emulator and got different results.  I did this:
 
- Factory Preset
- Load your provided chksum.16c program
- Initialize registers 1 through A to a 7 b 1 3 d a 2 d 6.
- GSB D (I get "6" which agrees with the manual.)
- x~y (I get "B" which disagrees with the manual's "1".)
 
I didn't check my real 16C, but assume it agrees with the manual.
 
2) Enhancement: Flag 3 displays leading 0s in the calculator display, but not in the Registers window.  (I wanted to see leading 0s in the Register window and this was the way I assumed would do it.)
 
3) Enhancement: Display numbers in the Stack and Registers windows using a fixed-width font so the digit positions line up.  (With 64-bit wordsize, compare 1111111111111111 to CCCCCCCCCCCCCCCC and see the latter appears several digits longer.)
« Last Edit: Sep 6th, 2005, 11:19pm by RickN » IP Logged
RickN
Member
**



HP Calculator Enthusiast

   
WWW

Gender: male
Posts: 45
Re: Annoyances, Requests, Bugs
« Reply #35 on: Sep 8th, 2005, 12:58pm »
Quote Quote Modify Modify

In Program mode with a program in memory so the current IP is shown in the calculator display, right-click on a different step in the Program window and select Move IP to Cursor.  The calculator display stays on the old IP location instead of indicating the new IP location.  (The IP did actually move, as can be seen with SST, BST.)
IP Logged
Jamie OConnell
Administrator
*****






   
WWW Email

Gender: male
Posts: 2027
Re: Annoyances, Requests, Bugs
« Reply #36 on: Sep 9th, 2005, 9:55pm »
Quote Quote Modify Modify

Thanks for the reports.  As a general rule, there aren't any more enhancements planned for the initial release.  The emulator is feature complete.  I only plan to fix bugs from now to release, which I hope is very soon if all goes well.
IP Logged

--Jamie
Music is its own reward.

RickN
Member
**



HP Calculator Enthusiast

   
WWW

Gender: male
Posts: 45
Re: Annoyances, Requests, Bugs
« Reply #37 on: Sep 9th, 2005, 11:54pm »
Quote Quote Modify Modify

Defect (emulator version 1.3.7.16 2005-09-02): Sometimes adding a program step *overwrites* an existing step instead of being *inserted* after the IP.  Do this -- Factory Settings, BSP (to clear Pr Error), P/R, 1, 2, 3 (so you have a program of 3 steps), open the Program window, left-click on step 2 to highlight it, right-click on step 2 and Move IP to Cursor, BSP (to delete step 2 -- so far so good, step 1 ("1") and 2 ("3") remain, and IP appears to be on step 1), 8.  The new step ("8") correctly becomes step 2, but step 3 ("3") is gone.
« Last Edit: Sep 9th, 2005, 11:57pm by RickN » IP Logged
RickN
Member
**



HP Calculator Enthusiast

   
WWW

Gender: male
Posts: 45
Re: Annoyances, Requests, Bugs
« Reply #38 on: Sep 26th, 2005, 11:19am »
Quote Quote Modify Modify

Jamie: Current comments on www.hp16c.net for the 2005-09-24 version say "Many bug fixes."  Could you list all changes and defects fixed?  It will help those of us doing testing know where to focus our efforts.  If you want to be more private about the defects, please consider posting them only here in the forum instead of on the download website.  - Rick
IP Logged
Jamie OConnell
Administrator
*****






   
WWW Email

Gender: male
Posts: 2027
Re: Annoyances, Requests, Bugs
« Reply #39 on: Sep 26th, 2005, 12:17pm »
Quote Quote Modify Modify

I WILL detail them soon, but didn't have time Saturday night --  stay tuned.  FWIW, everything reported has been fixed, I believe.
 
[A summary of the bug fixes has been added.  You can view it here: http://www.midiox.com/hp16c/details050924.htm]
« Last Edit: Sep 27th, 2005, 3:00am by Jamie OConnell » IP Logged

--Jamie
Music is its own reward.

Pages: 1 2 3  Reply Reply Notify of replies Notify of replies Send Topic Send Topic Print Print

« No topic | Next topic »


MIDI-OX User Forum » Powered by YaBB 1 Gold - SP 1.3.1!
YaBB © 2000-2003. All Rights Reserved.