Post Reply 
TI-59 Emulator
06-13-2014, 12:42 PM
Post: #21
RE: TI-59 Emulator
(06-13-2014 11:45 AM)Marcus von Cube Wrote:  As you like it: I've trouble stopping a running program with R/S. Just clear program memory and let it run!

You mean CP followed by R/S and then you got a flashing number in the display? It probably runs too fast and went to the end of the partition before you were able to press R/S to stop it ...

Create TI59E.ini file in the same directory where TI59E.exe is, add the following, save the file and start the emulator:

[Calc]
Speed=1000

Adjust Speed setting as needed until you get acceptable speed.

You can set Speed=-1 and the emulator will automatically adjust the speed on start but it will probably run more on the slow side in this case - I am using this for debugging.

And download the latest version - I fixed some bugs and uploaded new version about an hour ago.

https://www.hrastprogrammer.com/hrastwood/
https://hrastprogrammer.bandcamp.com/
Visit this user's website Find all posts by this user
Quote this message in a reply
06-13-2014, 01:46 PM
Post: #22
RE: TI-59 Emulator
Still no luck.

Running with Speed=-1:

With a fresh RAM (no RAM file in the directory) hit R/S. You get a steady C for a while, then a rapidly flashing "C 0.", and then C again.

0. 1/X seems to produce the same flashing pattern so it's probably not a running program but a non working error blink.

Marcus von Cube
Wehrheim, Germany
http://www.mvcsys.de
http://wp34s.sf.net
http://mvcsys.de/doc/basic-compare.html
Find all posts by this user
Quote this message in a reply
06-13-2014, 01:58 PM
Post: #23
RE: TI-59 Emulator
(06-13-2014 01:46 PM)Marcus von Cube Wrote:  With a fresh RAM (no RAM file in the directory) hit R/S. You get a steady C for a while, then a rapidly flashing "C 0.", and then C again.

But that's normal TI-59 behaviour. Blinking display is error state. You executed empty program and after TI-59 executed the last step it finished execution with error because it didn't find R/S or RTN. It's the same as on the real TI-59.

Quote:0. 1/X seems to produce the same flashing pattern so it's probably not a running program but a non working error blink.

No, it is not "non working error blink" but error state for division by zero in this case.

Press CE to clear the error state (blinking) without clearing display register. Press CLR to clear error state and display register (and pending operations etc.)

https://www.hrastprogrammer.com/hrastwood/
https://hrastprogrammer.bandcamp.com/
Visit this user's website Find all posts by this user
Quote this message in a reply
06-13-2014, 02:13 PM
Post: #24
RE: TI-59 Emulator
(06-13-2014 01:58 PM)HrastProgrammer Wrote:  No, it is not "non working error blink" but error state for division by zero in this case.

Press CE to clear the error state (blinking) without clearing display register. Press CLR to clear error state and display register (and pending operations etc.)
Yes I know. What I see is just not the normal blink frequency but a very rapidly flashing display. So there must be an issue with the timing here. That had lent me to the misinterpretation of a running program.

May I start a wish list?

1. A menu with a settings dialog so you can set the speed and other settings here

2. Loading of modules. 2nd PGM 01 SBR CLR seems to work to clear the summation registers. Is the standard software module completely implemented?

3. Show labels for the softkeys A to E´ (automatically if a module is active)

4. Write/Load programs and data to "magnetic cards". As an alternative: Allow the selection of the RAM file from a menu.

5. Document the keyboard mapping. A to E and UP/DOWN work as expected and SPACE seems to be mapped to R/S. What about the rest?

Marcus von Cube
Wehrheim, Germany
http://www.mvcsys.de
http://wp34s.sf.net
http://mvcsys.de/doc/basic-compare.html
Find all posts by this user
Quote this message in a reply
06-13-2014, 02:31 PM
Post: #25
RE: TI-59 Emulator
Now I seem to be able to adjust the speed through the INI file. The flashing display seems to caused by very frequent updates to the display. The error display consists of a steady C, followed by the regular display contents and the cycle repeats. Only the latter display is flashing.

If your windows display update routine could use double buffering (or avoid updates if nothing has changed) the flashing might go away.

Marcus von Cube
Wehrheim, Germany
http://www.mvcsys.de
http://wp34s.sf.net
http://mvcsys.de/doc/basic-compare.html
Find all posts by this user
Quote this message in a reply
06-13-2014, 02:37 PM
Post: #26
RE: TI-59 Emulator
(06-13-2014 02:13 PM)Marcus von Cube Wrote:  Yes I know. What I see is just not the normal blink frequency but a very rapidly flashing display. So there must be an issue with the timing here.

Yes, timing is not the same as on the real TI-59. I probably won't do anything in this regard here. On HP-48/49 timing would probably be comparable to TI-59 due to the slowness of Saturn CPU.

Quote:1. A menu with a settings dialog so you can set the speed and other settings here

There are no other settings and speed is not what you're setting very often.

Quote:2. Loading of modules. 2nd PGM 01 SBR CLR seems to work to clear the summation registers. Is the standard software module completely implemented

Yes, it is. Unfortunately, I don't have the dump of any other module.

Quote:3. Show labels for the softkeys A to E´ (automatically if a module is active)

Hmmm, and what would be displayed on those labels?

Quote:4. Write/Load programs and data to "magnetic cards". As an alternative: Allow the selection of the RAM file from a menu.

Press 1 2nd Write or 1 INV 2nd Write Wink

Quote:5. Document the keyboard mapping. A to E and UP/DOWN work as expected and SPACE seems to be mapped to R/S. What about the rest?

Not much ... digits, +, -, *, /, ^, =, decimal point, S = STO, R = RCL, Up/Down = BST/SST, Left/Right = BST/SST, Del = CLR, G = GTO, L = LRN, M = SUM, Ins = INV, P = +/-, Q = Sqrt, U = x^2, T = RST ...

https://www.hrastprogrammer.com/hrastwood/
https://hrastprogrammer.bandcamp.com/
Visit this user's website Find all posts by this user
Quote this message in a reply
06-13-2014, 03:59 PM
Post: #27
RE: TI-59 Emulator
(06-13-2014 02:37 PM)HrastProgrammer Wrote:  Hmmm, and what would be displayed on those labels?

Of course the contents of the original (non magnetic) program cards. Smile

Thanks for answering my questions. Learning the keyboard mapping would be easier with some visual feedback from the displayed keyboard (as is done in the 34S for example).

I do have the statistics module. If the module contents were moved to an external file, users could provide (and load) module dumps or even create their own. This procedure would even leave room for virtual labels. Smile

Marcus von Cube
Wehrheim, Germany
http://www.mvcsys.de
http://wp34s.sf.net
http://mvcsys.de/doc/basic-compare.html
Find all posts by this user
Quote this message in a reply
06-13-2014, 04:09 PM
Post: #28
RE: TI-59 Emulator
(06-13-2014 03:59 PM)Marcus von Cube Wrote:  Of course the contents of the original (non magnetic) program cards. Smile

Aaaaaah, I am too lazy to retype this from the cards Wink

Quote:I do have the statistics module. If the module contents were moved to an external file, users could provide (and load) module dumps or even create their own. This procedure would even leave room for virtual labels. Smile

If you can do Statistics module dump into a file I promise I'll implement module loading and labels Smile

I made some timing workarounds, so I think this error blinking is much more "user friendly" now. New version uploaded ...

https://www.hrastprogrammer.com/hrastwood/
https://hrastprogrammer.bandcamp.com/
Visit this user's website Find all posts by this user
Quote this message in a reply
06-13-2014, 04:55 PM
Post: #29
RE: TI-59 Emulator
(06-13-2014 04:09 PM)HrastProgrammer Wrote:  I made some timing workarounds, so I think this error blinking is much more "user friendly" now. New version uploaded ...

Yes, blinking is much less flashy now but still much slower than on the real machine.

If I find the time I'll provide the statistics module dump. I'll have to find the module, a working calculator, a working printer, ...

Marcus von Cube
Wehrheim, Germany
http://www.mvcsys.de
http://wp34s.sf.net
http://mvcsys.de/doc/basic-compare.html
Find all posts by this user
Quote this message in a reply
06-13-2014, 05:16 PM
Post: #30
RE: TI-59 Emulator
(06-13-2014 04:09 PM)HrastProgrammer Wrote:  If you can do Statistics module dump into a file I promise I'll implement module loading and labels Smile

I'm not sure if these would be of interest. But, ROM images for these modules:
  • Master Library
  • Maths
  • Survey
  • Leisure

Are available at http://gtello.pagesperso-orange.fr/ti58_e.htm.

Ceci n'est pas une signature.
Find all posts by this user
Quote this message in a reply
06-13-2014, 07:27 PM
Post: #31
RE: TI-59 Emulator
(06-13-2014 04:09 PM)HrastProgrammer Wrote:  If you can do Statistics module dump into a file I promise I'll implement module loading and labels Smile

I made some timing workarounds, so I think this error blinking is much more "user friendly" now. New version uploaded ...
Just before he died POH promised to send me some modules, and after his death, his daughter did send them. They are Statistics, Real Estate/Investment and Securities Analysis. I already have the 04-SY, 07-LE, 10-MU, 11-EE, and 13-RPN and a strange (TI Internal?) one which I did for Willibald's emulator. I will not have the time to do the first three, most of my TI-59's have problems, and right now I don't have much spare time. I can send the dumps of the last six.

Other remarks:

1) hardcopy of PC-100 printout in PNG format would be nice
2) use the same formats for memory and listings and modules as Willibald, so that things can be moved from one emulator to the other
3) I think Graphics mode prints too many dots
4) Allow tracing and SST of microcode and internal registers
5) Probably doesn't need changing, modules can have up to 10,000 steps, and can use hexcodes
6) maybe already there, allow saving of raw memory, *with* hexcodes (Willibald's emulator allows this

And off-topic, I've not done anything about the TI-95 emulator for months, just been to busy putting in a new kitchen, working on the house in Vilnius, and cleaning the house here. I did get a bit further correcting the emulation of the TMS7000 DAC and DSB, but until the time I can get the PC Interface working on GHZ PCs (or can get hold of a low MHz 8088/286) I cannot really check if all is OK now (it isn't), let alone figure out what needs changing.

Robert AH Prins
robert.ah.prins @ the 17+Gb Google thingy
No programming here :)
Find all posts by this user
Quote this message in a reply
06-14-2014, 06:00 AM
Post: #32
RE: TI-59 Emulator
(06-13-2014 07:27 PM)prino Wrote:  I can send the dumps of the last six.

That's fine with me.

Quote:1) hardcopy of PC-100 printout in PNG format would be nice

Maybe. I planned to implement output to the real Windows printer first, it will be much more useful to me. But, right now, the development of TI-59E for HP-48/49 has priority.

Quote:2) use the same formats for memory and listings and modules as Willibald, so that things can be moved from one emulator to the other

Won't gonna happen. My emulator is in no way connected to the other one and it would be a little strange that I have to change my format to support the emulator which I don't even have (and which, to my knowledge, isn't available anywhere).

Quote:3) I think Graphics mode prints too many dots

Can you elaborate more on this? I am not too familiar with graphics mode - at that time I didn't have TI-59 and much later, when I was finally able to buy one, it was without printer. Browsing through TI PPC notes I got the feeling that only 3 top rows are printed in graphics mode, and that's how I implemented it.

Quote:4) Allow tracing and SST of microcode and internal registers

Tracer and debugger are implemented and will be enabled in this emulator after I finish TI-59E for HP-48/49.

Without tracer it wouldn't be possible to develop the emulator - endless hours of browsing through thousands of trace lines in search for "illogicalities" etc.

The device Hynek made was helpful as well ... He was able to put some instructions starting from the address $1800, let the real TI-59 CPU execute them and catch the result on display - register A only and not all digits, but nevertheless it helped me to resolve some details like BCD correction which weren't exactly clear from the patents.

Quote:5) Probably doesn't need changing, modules can have up to 10,000 steps, and can use hexcodes

Yes, this ROM is BCD addressed and can go from 0000 to 9999, each location $00..$FF.

Quote:6) maybe already there, allow saving of raw memory, *with* hexcodes (Willibald's emulator allows this

What do you mean by "allow saving of raw memory"? TI59E.RAM file already contains "raw memory".

Quote:And off-topic, I've not done anything about the TI-95 emulator for months ...

In regard to TI-95E ... I got TI-74 ROM some time ago and modified TI-95E to work with this ROM but it didn't boot so I gave up. But, after I fixed that MOVD IND bug a few months ago, I ported this fix to TI-74E and it started to work! I have yet to emulate TI-74 display and keyboard though. So, there is a chance to have TI-74E in the future. But, as I said - the development of TI-59E for HP-48/49 has priority at the moment Wink

https://www.hrastprogrammer.com/hrastwood/
https://hrastprogrammer.bandcamp.com/
Visit this user's website Find all posts by this user
Quote this message in a reply
06-14-2014, 07:37 AM
Post: #33
RE: TI-59 Emulator
(06-14-2014 06:00 AM)HrastProgrammer Wrote:  
(06-13-2014 07:27 PM)prino Wrote:  I can send the dumps of the last six.

That's fine with me.
Check your email Wink

Quote:
Quote:1) hardcopy of PC-100 printout in PNG format would be nice

Maybe. I planned to implement output to the real Windows printer first, it will be much more useful to me. But, right now, the development of TI-59E for HP-48/49 has priority.
No problem. Will the windows printer format be faithful, i.e. support Graphics Mode?

Quote:
Quote:2) use the same formats for memory and listings and modules as Willibald, so that things can be moved from one emulator to the other

Won't gonna happen. My emulator is in no way connected to the other one and it would be a little strange that I have to change my format to support the emulator which I don't even have (and which, to my knowledge, isn't available anywhere).
I wish you and him could work together.

Quote:
Quote:3) I think Graphics mode prints too many dots

Can you elaborate more on this? I am not too familiar with graphics mode - at that time I didn't have TI-59 and much later, when I was finally able to buy one, it was without printer. Browsing through TI PPC notes I got the feeling that only 3 top rows are printed in graphics mode, and that's how I implemented it.
No, the number of dots depends on the location of hexcode 1F. The closer it's located to step 000 (with the restriction that it can only be on steps 0 mod 8), the fewer dots are printed.

Quote:
Quote:4) Allow tracing and SST of microcode and internal registers

Tracer and debugger are implemented and will be enabled in this emulator after I finish TI-59E for HP-48/49.

Without tracer it wouldn't be possible to develop the emulator - endless hours of browsing through thousands of trace lines in search for "illogicalities" etc.

The device Hynek made was helpful as well ... He was able to put some instructions starting from the address $1800, let the real TI-59 CPU execute them and catch the result on display - register A only and not all digits, but nevertheless it helped me to resolve some details like BCD correction which weren't exactly clear from the patents.
That's very nice! FWIW, I still haven't figured out how to enable tracing in the TI-95E. (Shame on me...)

Quote:
Quote:5) Probably doesn't need changing, modules can have up to 10,000 steps, and can use hexcodes

Yes, this ROM is BCD addressed and can go from 0000 to 9999, each location $00..$FF.
Which would nicely allows you to see the results of putting the CLR OP 05 '1F' RTN code for Graphics Mode at any location >= 004 and observe the number of dots printed, although only with a CROM emulator and a real TI-59/PC100 setup the exact image to be emulated could be created.

Quote:
Quote:6) maybe already there, allow saving of raw memory, *with* hexcodes (Willibald's emulator allows this

What do you mean by "allow saving of raw memory"? TI59E.RAM file already contains "raw memory".
Didn't notice the TI59E.RAM file, was running from the ZIP so it must have been deleted after closing, I've now seen it.

Quote:
Quote:And off-topic, I've not done anything about the TI-95 emulator for months ...

In regard to TI-95E ... I got TI-74 ROM some time ago and modified TI-95E to work with this ROM but it didn't boot so I gave up. But, after I fixed that MOVD IND bug a few months ago, I ported this fix to TI-74E and it started to work! I have yet to emulate TI-74 display and keyboard though. So, there is a chance to have TI-74E in the future. But, as I said - the development of TI-59E for HP-48/49 has priority at the moment Wink

Not that interested in it. Could probably provide you with the TI-74 Pascal Module once I get a working PC Interface.

Robert AH Prins
robert.ah.prins @ the 17+Gb Google thingy
No programming here :)
Find all posts by this user
Quote this message in a reply
06-14-2014, 10:23 AM
Post: #34
RE: TI-59 Emulator
(06-13-2014 04:55 PM)Marcus von Cube Wrote:  Yes, blinking is much less flashy now but still much slower than on the real machine.

Try now ...

https://www.hrastprogrammer.com/hrastwood/
https://hrastprogrammer.bandcamp.com/
Visit this user's website Find all posts by this user
Quote this message in a reply
06-14-2014, 11:38 AM
Post: #35
RE: TI-59 Emulator
(06-14-2014 07:37 AM)prino Wrote:  No problem. Will the windows printer format be faithful, i.e. support Graphics Mode?

Yes. For now, as a temporary solution, you can double-click on the virtual printer "paper" and save the visible content as BMP (use Irfan or whatever to convert it to PNG or some other type).

Quote:I wish you and him could work together.

I don't have anything against that.

Quote:No, the number of dots depends on the location of hexcode 1F. The closer it's located to step 000 (with the restriction that it can only be on steps 0 mod 8), the fewer dots are printed.

OK, I made some corrections here and your example looks OK now. I still don't know if graphics mode works correctly in all cases because I cannot test it on the real PC100 printer.

   

Quote:FWIW, I still haven't figured out how to enable tracing in the TI-95E. (Shame on me...)

I never actually implemented a proper tracer in TI-95E so - shame on me Sad

Quote:Not that interested in it.

But *I* am interested Wink TI-74 has a very nice BASIC and during the last few years I am much more inclined to BASIC than to various symbolic languages on programmable calculators. Some time ago I even started developing my own (advanced and very fast) BASIC-like language for HP-48/49 but this is progressing very slooooooooooooowly ... Too much ideas and too little time Angry

https://www.hrastprogrammer.com/hrastwood/
https://hrastprogrammer.bandcamp.com/
Visit this user's website Find all posts by this user
Quote this message in a reply
06-14-2014, 02:13 PM
Post: #36
RE: TI-59 Emulator
(06-14-2014 10:23 AM)HrastProgrammer Wrote:  
(06-13-2014 04:55 PM)Marcus von Cube Wrote:  Yes, blinking is much less flashy now but still much slower than on the real machine.

Try now ...

Nice work, it's getting better with each iteration!

I've played around with the keyboard mapping and I'm not very happy with it. It seems to be based on scan codes and not the translated character codes. This doesn't work out on my German keyboard, e. g. ')' on the keyboard executes '(' on the calculator. I kindly ask you to map the ASCII codes instead of the scan codes. Is there a mapping for '2nd'?

Marcus von Cube
Wehrheim, Germany
http://www.mvcsys.de
http://wp34s.sf.net
http://mvcsys.de/doc/basic-compare.html
Find all posts by this user
Quote this message in a reply
06-15-2014, 09:13 AM
Post: #37
RE: TI-59 Emulator
(06-13-2014 04:55 PM)Marcus von Cube Wrote:  If I find the time I'll provide the statistics module dump. I'll have to find the module, a working calculator, a working printer, ...

Is there any hope to do it without retyping its contents manually? Any device that lets me either read out the module directly or through the calculator? A PC-100 replacement with modern components comes into my mind...

Marcus von Cube
Wehrheim, Germany
http://www.mvcsys.de
http://wp34s.sf.net
http://mvcsys.de/doc/basic-compare.html
Find all posts by this user
Quote this message in a reply
06-16-2014, 05:22 AM
Post: #38
RE: TI-59 Emulator
(06-14-2014 02:13 PM)Marcus von Cube Wrote:  I've played around with the keyboard mapping and I'm not very happy with it. It seems to be based on scan codes and not the translated character codes. This doesn't work out on my German keyboard, e. g. ')' on the keyboard executes '(' on the calculator. I kindly ask you to map the ASCII codes instead of the scan codes. Is there a mapping for '2nd'?

It should work correctly now. 2nd is mapped to F2, INV is mapped to F1 and Ins.

BTW, EE is Ctrl+E.

https://www.hrastprogrammer.com/hrastwood/
https://hrastprogrammer.bandcamp.com/
Visit this user's website Find all posts by this user
Quote this message in a reply
06-16-2014, 05:24 AM
Post: #39
RE: TI-59 Emulator
(06-15-2014 09:13 AM)Marcus von Cube Wrote:  Is there any hope to do it without retyping its contents manually? Any device that lets me either read out the module directly or through the calculator? A PC-100 replacement with modern components comes into my mind...

I can ask Hynek if he can make a dump using the device he made. But you will have to send the module to him ...

https://www.hrastprogrammer.com/hrastwood/
https://hrastprogrammer.bandcamp.com/
Visit this user's website Find all posts by this user
Quote this message in a reply
06-16-2014, 05:28 AM
Post: #40
RE: TI-59 Emulator
(06-13-2014 07:27 PM)prino Wrote:  2) use the same formats for memory and listings and modules as Willibald, so that things can be moved from one emulator to the other

I implemented memory save/load in the latest version of the emulator. This format should be compatible with the other emulator. I tested the file Robert sent to me and loading into TI-59E worked correctly, and Robert tested the file I sent to him and loading into the other emulator worked correctly.

https://www.hrastprogrammer.com/hrastwood/
https://hrastprogrammer.bandcamp.com/
Visit this user's website Find all posts by this user
Quote this message in a reply
Post Reply 




User(s) browsing this thread: 10 Guest(s)