yokwe / mesa-emulator

xerox mesa processor emulator in qt5/c++ on ubuntu
8 stars 0 forks source link

emulator generate error in MonoBlt_bit while booting GlobalView 2.1 #2

Open yokwe opened 7 years ago

yokwe commented 7 years ago

Originally from californiaelectric

Dawn.dsk worked fine so I tried I tried running release 1.3 on my GlobalView 2.1 GVWIN001.DSK. Looks like a problem with color or mono bitmaps:

21:13:19.09 INFO Memory mapDisplay 1800+C0 FEA0 192 21:13:19.09 INFO simple MP 7600 21:13:19.09 INFO simple MP 7600 21:13:21.09 INFO simple MP 7650 21:13:26.09 INFO simple MP 7700 21:13:28.09 DEBUG control UnboundTrap 00000003 21:13:29.09 DEBUG control UnboundTrap 00000003 21:13:29.09 DEBUG control UnboundTrap 00000003 21:13:29.09 FATAL bitblt ERROR Opcode_bitblt.cpp 643 MonoBlt_bit 21:13:29.09 FATAL util 0 tmp/build/guam/guam(_Z12logBackTracev+0x1a) [0x479f4a] 21:13:29.09 FATAL util 1 tmp/build/guam/guam(_ZN7MonoBlt11getInstanceERN8ColorBlt13ColorBltTableE+0xa6c) [0x42aedc] 21:13:29.09 FATAL util 2 tmp/build/guam/guam(_Z8I_BITBLTP6Opcode+0x23b) [0x42c13b] 21:13:29.09 FATAL util 3 tmp/build/guam/guam(_ZN15ProcessorThread3runEv+0x16b) [0x4233ab] 21:13:29.09 FATAL util 4 /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(+0x99c40) [0x7fd4c647cc40] 21:13:29.09 FATAL util 5 /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(+0x9cd2e) [0x7fd4c647fd2e] 21:13:29.09 FATAL util 6 /lib/x86_64-linux-gnu/libpthread.so.0(+0x80a4) [0x7fd4c5f340a4] 21:13:29.09 FATAL util 7 /lib/x86_64-linux-gnu/libc.so.6(clone+0x6d) [0x7fd4c544704d] 21:13:29.09 FATAL mesathread Error MonoBlt_bit 643 Opcode_bitblt.cpp

californiaelectric commented 7 years ago

I can put a zipped copy of my GVWIN001.DSK, and GRM file somewhere for you to test with.

californiaelectric commented 7 years ago

Or I can create a new starter GVWIN001.DSK for use with guam, or even provide a virtualbox VM that runs win 3.1 and GlobalView.

californiaelectric commented 7 years ago

Just tried latest sources with GVWIN001.DSK - the stall at 0915 is fixed. Behavior is now the same as release 1.3 of sources:

11:11:37.11 INFO simple MP 7700 11:11:37.11 WARN agentstream No Stream serverID = 108 11:11:39.11 DEBUG control UnboundTrap 00000003 11:11:40.11 DEBUG control UnboundTrap 00000003 11:11:40.11 DEBUG control UnboundTrap 00000003 11:11:40.11 FATAL bitblt ERROR Opcode_bitblt.cpp 643 MonoBlt_bit 11:11:40.11 FATAL util 0 tmp/build/guam/guam(_Z12logBackTracev+0x1a) [0x47c94a] 11:11:40.11 FATAL util 1 tmp/build/guam/guam(_ZN7MonoBlt11getInstanceERN8ColorBlt13ColorBltTableE+0xa6c) [0x42c44c] 11:11:40.11 FATAL util 2 tmp/build/guam/guam(_Z8I_BITBLTP6Opcode+0x23b) [0x42d6ab] 11:11:40.11 FATAL util 3 tmp/build/guam/guam(_ZN15ProcessorThread3runEv+0x16b) [0x42491b] 11:11:40.11 FATAL util 4 /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(+0x99c40) [0x7f64db748c40] 11:11:40.11 FATAL util 5 /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(+0x9cd2e) [0x7f64db74bd2e] 11:11:40.11 FATAL util 6 /lib/x86_64-linux-gnu/libpthread.so.0(+0x80a4) [0x7f64db2000a4] 11:11:40.11 FATAL util 7 /lib/x86_64-linux-gnu/libc.so.6(clone+0x6d) [0x7f64da71304d] 11:11:40.11 FATAL mesathread Error MonoBlt_bit 643 Opcode_bitblt.cpp 1

yokwe commented 7 years ago

Stream serverID 108 is for workspaceWindowControlMSWindowsService. Try stop auto run application folder that related workspaceWindowControl and see the difference.

californiaelectric commented 7 years ago

It could be help, or printing or maybe the window frame around GlobalView. I will let you know.

californiaelectric commented 7 years ago

I found a matching entry entry on the windows side in gvwin.ini - it gives GlobalView menu choices for running in a window or minimizing.

I can stop the autorun by commenting that line in gvwin.ini but that setting is not written to gvwin001.dsk

I need to try to disable that from the GlobalView side. This may take some time.

Any ideas?

yokwe commented 7 years ago

You need to stop at mesa side. I hope your desktop enable developer mode or has catalog divider.

I will prepare place for upload files(GVWIN001.DSK and GRM file. How much space is need for the files?

californiaelectric commented 7 years ago

I don't know about developer mode or catalog divider. I will need to investigate.

21 - 22 MB for DSK.zip, GRM and the matching NSINSTLR.DAT

img_2170

californiaelectric commented 7 years ago

I have not found any way to enable Developer mode in GobalView 2.1, and can't find anything called Catalog divider.

I even tried reinstalling GlobalView and looking for a way to keep workspaceWindowControlMSWindowsService from being installed. I have not found one yet.

californiaelectric commented 7 years ago

Attached is Debug.log. I see the stream being handled better but the mono bit blit issue still crashes guam. putting this report in both issues. debug.log.txt

yokwe commented 7 years ago

I commit the code that disable assertion that generate error in MonoBlt_bit.cpp. I believe this change doesn't have bad side effect.

I downloaded GVWin 2.1 from URL below and start investigation. https://archive.org/details/win3_globalview_21 https://winworldpc.com/product/xerox-globalview

One image call debugger during boot and other cause page fault during disk I/O. I will install GlobalView 2.1 on Windows SE with xns driver to enable remote debug. And see what module call debugger. I have no idea about page fault during disk I/O, may be size of virtual or real memory is not good.

yokwe commented 7 years ago

Name of application that use serverID 108 is "Workspace Window Control". It is invisible application. So we cannot see the application within Loader in customer mode. To become developer mode, you need to edit WorkstationProfile in System File Catalog.

californiaelectric commented 7 years ago

I have a virtual box vm image with windows 3.1 and GlobalView 2.1 installed if you have a place for me to upload.

californiaelectric commented 7 years ago

i did git update, make guam and make run-guam. Getting much further.

Here is terminal print: tmp/build/guam/guam Qt Concurrent has caught an exception thrown from a worker thread. This is not supported, exceptions thrown in worker threads must be caught before control returns to Qt Concurrent. terminate called after throwing an instance of 'Abort' Makefile:95: recipe for target 'run-guam' failed make: *** [run-guam] Aborted

Attached is debug log debug.log.txt

californiaelectric commented 7 years ago

I do not have system file catalog or workstationprofile

yokwe commented 7 years ago

The cause of "Qt Concurrent has caught an exception thrown from a worker thread" is page fault during I/O operation. This should not be happen. Because memory for I/O operation need to be mapped before operation. I commit the code that catch Abort exception during disk and network operation. Pull the code and see what is happening.

My educational guess is that memory smash made this situation.

yokwe commented 7 years ago

There are undocumented instructions A214, A305 and A306. May be number of push or pop to the stack for these instructions can be different between GlobalView for FX and XC. Set DEBUG_SHOW_DUMMY_IMPL_OPCODE to 1 to see the execution of these instructions.

californiaelectric commented 7 years ago

I did a git pull but there is no commit after: Disable assertion for arg.srcPpl == 0 and arg.desPpl == 0.

Attached is debug log debug.log.txt

yokwe commented 7 years ago

Could you upload your GVWin related files link below. I will use them for testing. https://volafile.org/r/c891fgdr

Note: According to web site description, all uploaded file will be deleted after 2 days. You can upload and download files from web page. But you cannot delete files from web page.

californiaelectric commented 7 years ago

git pull, make qmake, Set DEBUG_SHOW_DUMMY_IMPL_OPCODE to 1, make guam, make run-guam

A lot of information on crash in debug log, attached. debug.log.txt

yokwe commented 7 years ago

Your debug.log shows that while emulator doing disk operation, it access vacant (not mapped) page. I guessed that undocumented instruction set stack pointer wrong value and starts strange behavior. But there is no such instructions :-( I need to think from other direction.

californiaelectric commented 7 years ago

Uploaded GVWIN files to https://volafile.org/r/c891fgdr

User: test Password: test

californiaelectric commented 7 years ago

If your Fuji Xerox GVWIN files work, and they run in English, maybe you could upload yours to the same place with a blank workspace?

yokwe commented 7 years ago

Add N to boot switch (N = Disable auto run). I hope you can boot GVWin and see desktop.

yokwe commented 7 years ago

All message of Fuji Xerox GVWin is in Japanese. Sorry for that.

yokwe commented 7 years ago

I upload Tools.taz. It is tar compressed of emulator floppy image that contains some developer tools and workstation profile for developer. 1) tar xfz Tools.taz 2) Start emulator and Login 3) Open floppy drive in local device in catalog 4) Copy all file to desktop 5) Rename "....Boot" with " Boot" (replace first "...." with " ") 6) Copy *.autorun to Loader 7) Reboot system.

File Workstation.developer is copy of Workstation Profile for developer. You can see string "Developer: TRUE" in section "System". This line change mode to developer.

californiaelectric commented 7 years ago

Added N to boot flags, copied tools to desktop, renamed Boot file, moved files to loader.

Found workspaceWindowControl in system catalog. Is this still the problem or was it fixed with your changes to unknown stream.

Trying to run GVWrite still causes same crash

californiaelectric commented 7 years ago

File WorkstationProfile has line Developer:FALSE

Unable to change file - no edit button and get message that field is read-only

yokwe commented 7 years ago

I experienced same instability long time before. That time it disappeared automagically. I heavily modified code from Mesa Processor Principles of Operation for performance. 1) separate threads for interpreter, timer, interrupt, network and disk. 2) interpreter use c++ exception for reschedule 3) separate opcode decode and execution to compile opcode (disabled now)

I believe most of the time it works fine. In race condition, it may result strange behavior. May be it is a time to clean up code for stability.

yokwe commented 7 years ago

About workstation profile. I believe rename method can solve the problem. 1)Copy WorkstationProfile.developer to system catalog 2)Rename WorkstationProfle as WorkstationProfile.cutomer 3)Rename WorkstationProfile as WorkstationProfile 4)Reboot

After system become developer mode, you can edit WorkstationProfile with "Open as Simple Editor" attention menu.

californiaelectric commented 7 years ago

WorkstationProfile.developer and WorkstationProfile have different file type and icon than each other. Is that a problem?

yokwe commented 7 years ago

It should be same file type as WorkstationProfile. I used floppy command in XDE to create floppy image. So file type information is lost.

californiaelectric commented 7 years ago

Are you able to run my GVWIN001.DSK without "N" bootflag? debug.log.txt

When I do rename method for WorkstationProfile, I never get to login. The emulator loops - see attched debug log

yokwe commented 7 years ago

When fatal event is happened, With d switch, MP goes 915 and wait debugger. Without d switch, MP shows fault reason. See page 124 of document below. https://archive.org/download/bitsavers_xerox6085sg_4689943/6085_FE_training.pdf

In your case, cause is address fault while boot and module is bwsstuff.

yokwe commented 7 years ago

When I run your GVWiIN001.DSK without "N" switch, Sometime stop after 7800.

19:11:44.07 INFO simple MP 7700 19:11:44.07 INFO wwc WWC connect mesaIsServer = 0 state mesa = 0 pc = 0 19:11:45.07 DEBUG control UnboundTrap 00000003 19:11:45.07 DEBUG control UnboundTrap 00000003 19:11:45.07 DEBUG control UnboundTrap 00000003 19:11:45.07 DEBUG control UnboundTrap 00000003 19:11:48.07 INFO simple MP 7800 19:11:52.07 INFO simple MP 8888 19:11:52.07 INFO simple MP 9999 19:11:52.07 INFO simple MP 8888 19:11:52.07 INFO simple MP 7849 19:11:53.07 INFO simple MP 8888 19:11:53.07 INFO simple MP 0223 19:11:53.07 INFO simple MP 8888 19:11:53.07 INFO simple MP 1919 19:11:53.07 INFO simple MP 8888 19:11:53.07 INFO simple MP 2021 19:11:53.07 INFO simple MP 8888 19:11:53.07 INFO simple MP 0606 19:11:53.07 INFO simple MP 8888 19:11:53.07 INFO simple MP 0086

Sometime stop at ERROR.

19:13:38.07 INFO simple MP 7700 19:13:38.07 INFO wwc WWC connect mesaIsServer = 0 state mesa = 0 pc = 0 19:13:39.07 DEBUG control UnboundTrap 00000003 19:13:39.07 DEBUG control UnboundTrap 00000003 19:13:40.07 DEBUG control UnboundTrap 00000003 19:13:40.07 DEBUG control UnboundTrap 00000003 19:13:41.07 FATAL process ERROR Opcode_process.cpp 366 Fault 19:13:41.07 FATAL util 0 tmp/build/guam-headless/guam-headless(_Z12logBackTracev+0x2b) [0x47730b] 19:13:41.07 FATAL util 1 tmp/build/guam-headless/guam-headless() [0x43b4bb] 19:13:41.07 FATAL util 2 tmp/build/guam-headless/guam-headless() [0x43b520] 19:13:41.07 FATAL util 3 tmp/build/guam-headless/guam-headless(_Z17WriteProtectFaultj+0) [0x43b830] 19:13:41.07 FATAL util 4 tmp/build/guam-headless/guam-headless(_ZN6Memory5FetchEj+0x95) [0x419de5] 19:13:41.07 FATAL util 5 tmp/build/guam-headless/guam-headless(_ZN9PageCache10fetchSetupEPNS_5EntryEj+0x40) [0x41a8a0] 19:13:41.07 FATAL util 6 tmp/build/guam-headless/guam-headless(_ZN9CodeCache5setupEv+0x55) [0x41a935] 19:13:41.07 FATAL util 7 tmp/build/guam-headless/guam-headless(_ZN15ProcessorThread3runEv+0x1a1) [0x41c691] 19:13:41.07 FATAL util 8 /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(+0xa22d3) [0x7f4b1d6f52d3] 19:13:41.07 FATAL util 9 /usr/lib/x86_64-linux-gnu/libQt5Core.so.5(+0xa57be) [0x7f4b1d6f87be] 19:13:41.07 FATAL util 10 /lib/x86_64-linux-gnu/libpthread.so.0(+0x76ba) [0x7f4b1d43d6ba] 19:13:41.07 FATAL util 11 /lib/x86_64-linux-gnu/libc.so.6(clone+0x6d) [0x7f4b1cbdb82d] 19:13:41.07 FATAL mesathread Error Fault 366 Opcode_process.cpp

Emulator is unstable.

californiaelectric commented 7 years ago

To thank you for working with me to get Guam running with my GVWIN installation I uploaded Xerox software special gift for you at https://volafile.org/r/c891fgdr - stmac.tar.gz

Requires Linux/Intel to run. Enjoy!

yokwe commented 7 years ago

I am review and rewriting my code. Especially about PageFault in opcode implementation. It will take not more than one week to finish.

californiaelectric commented 7 years ago

Aside from the Dawn.dsk disk image with no tools from http://www.woodward.org/mps/ , is there another Mesa/Cedar/XDE image with tools?

yokwe commented 7 years ago

I have XDE that run on GVWin of Fuji Xerox that I used to develop mesa codes. If you have interest, I will upload the application folder. May be you can run it in your GVWin2.1/Windows98. Plain vanilla XDE is not comfortable to use. You needs hacks tools. What do you want to do with XDE?

californiaelectric commented 7 years ago

I explore as many historical computing and development environments as possible.

yokwe commented 7 years ago

I upload the file in https://volafile.org/r/c891fgdr Unzip and copy to gvwin on windows98 with PC File Access (GV mode) to desktop. The file should be application folder named "XDE-VP (GV Win)". Copy it to Loader. After that you can see XDE menu item in attention window. Select XDE to see XDE in window. You can download XDE User's guide from below. http://bitsavers.trailing-edge.com/pdf/xerox/xde/XDE_6.0_Oct88/

Hope this helps you.

devhawala commented 6 years ago

Hello,

well may be i should have read all posts in this thread...

This "XDE-VP" seems to be the "Tajo on VP" tool we heard rumours at end of the 80s when we had some XDE-machines at the technical university of Berlin. Xerox gave us a handful of 6085 machines with XDE an ViewPoint along with some 8000-server (clearinghouse, file and print server) for research purposes as part of the 3rd wave of the Xerox University Grant programme in Europe. I was one of the admins of this little network and one of the main XDE-users for building XDE and VP programs, long time ago and gone... One of the post suggests you still have access to a mesa development environment as you can do remote debugging, you're lucky!

Would you mind to upload "XDE-VP" again (and those developer tools mentioned?) for a long-time XDE enthusiast coming to late to find the files on the upload site? This would be very kind!

Thank you and greetings from Germany to Japan, Hans

californiaelectric commented 6 years ago

Is Guam able to open and run the GlobalView 2.1 for Windows disk image without the N bootswitch yet?

I've been able to get very far with last years Guam sources by turning off AutoRun on some items in the Loader, but not all the way.

I'd like to know before replacing Debian with Ubuntu on one of my ThinkPads.

californiaelectric commented 6 years ago

You wrote: I will install GlobalView 2.1 on Windows SE with xns driver to enable remote debug. And see what module call debugger.

I have never been able to get the GV 2.1 XNS driver working. How do you install it?

thanks

yokwe commented 5 years ago

Hi,

Due to my health condition, I believe this is a time to release my holding of mesa and XDE. If you still have interest about XDE. See below. https://volafile.org will delete files after 48 hours. So not too late. This image has functional XNS driver.

I uploaded ziped vmware image of Windows98 SE that contains FX version of GVWin with my desktop. https://volafile.org/r/uuqqp8cc

No need to login windows 98. Login password for Hasegawa:FXIS:Fuji Xerox is pranid. This is japanese version of windows and GVWin. So message in windows and GVWin are Japanese. Without login to my desktop, you can choose XDE in attention menu and you can enter XDE. Also you can find local copy of mesa files and Hacks I installed. Some files in virtual machine contain my private or company private information. So handle with caution please.

Regards, Yasuhiro Hasegawa

On Wed, Jun 21, 2017 at 1:51 PM californiaelectric notifications@github.com wrote:

I explore as many historical computing and development environments as possible.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

techfury90 commented 4 years ago

Yasuhiro, is there a chance that you could upload the VMware image again? I would like to poke around with Mesa development, having recently acquired a 6085 system in working order. I'm also curious about the FX version of GVWin, especially since I can read enough Japanese to use Windows in it...

yokwe commented 4 years ago

Hi techfury90, See files in https://volafile.org/r/1d7a61xz0 Files in above URL will be deleted after 2 days automatically.

techfury90 commented 4 years ago

すごい!ありがとうございます!

I have problems running Win98SE in VMs on my AMD Ryzen, but it did mostly work. I do actually have a NEC PC-9821 with Win98SE, so I might try installing the FX GVWin on there. The English version will crash a PC-9821. wwww

yokwe commented 4 years ago

The virtual machine was originally created by VMware Player on WIndows. Then move to ESXi 6.5 using VMware Convereter. According to message in SETUP.INS, installer support DOS/V(IBM PC) and PC9821. The install media support Windows XP too. I used FX GVWin on Windows XP/IBM PC for development. Lets try another configuration.

Connection between GlobalView and GlobalView without CHS(Clearng House Service) is impossble. Because XNS allow only secure connection. Transfer file between XDE and XDE without CHS is impossible too. I tried but failed. Only network operation that accept machine address as hostname like echo test, remote debug(sword) can do without CHS. devhawala develop XNS Services in Java, try his CHS.

techfury90 commented 4 years ago

Luckily, I already have devhawala's XNS services on my network. FX GVWin installed fine on my PC-9821, and even signs into XNS! gvwin98