jeffpar / pcjs

The original IBM PC and other machine emulations in JavaScript
https://www.pcjs.org
Other
809 stars 122 forks source link

Windows 95 Debugger configuration halts unexpectedly #48

Closed j8srv32 closed 1 year ago

j8srv32 commented 2 years ago

Windows 95 Machine CPU @ 32.00 Mhz: PCx86 v2.07 Copyright © 2012-2022 Jeff Parsons Jeff@pcjs.org License: MIT https://www.pcjs.org/LICENSE.txt Loading /machines/pcx86/compaq/deskpro386/rom/1988-01-28/1988-01-28.json....... Loading /machines/pcx86/ibm/video/vga/1986-10-27/IBM-VGA.json....... Loading /configs/pcx86/diskettes.json....... HDC: Type 4 "68Mb Hard Disk" is fixed disk 0 Loading /harddisks/pcx86/68mb/WIN95.json................... Loading state.json....... BusX86: 32Kb ROM at 0xF8000 BusX86: 24Kb ROM at 0xC0000 HDC: Mounted disk "68Mb Hard Disk" in drive C BusX86: 640Kb RAM at 0x0 RAMx86: ROM BIOS memory test has been disabled BusX86: 384Kb RAM at 0xFA0000 BusX86: 4 bytes H/W at 0x80C00000 RAMx86: COMPAQ memory at 0xFA0000 BusX86: 3072Kb RAM at 0x100000 RAMx86: Extended memory at 0x100000 BusX86: 32Kb VIDEO at 0xB8000 Type ? for help with PCx86 Debugger commands EAX=0000F8BC EBX=00007C00 ECX=00000003 EDX=00000080 ESP=00000100 EBP=00000000 ESI=0000EFC7 EDI=0000007C SS=0030 DS=0000 ES=0000 FS=0000 GS=0304 PS=00000202 V0 D0 I1 T0 S0 Z0 A0 P0 C0 &0000:7C00 FA CLI
target speed: 32.00Mhz running stopped (145257775 cycles, 9662 ms, 15033924 hz) EAX=C0245081 EBX=00001409 ECX=00000030 EDX=000002A9 ESP=000066D2 EBP=00000006 ESI=00050000 EDI=00001077 SS=134A DS=20DA ES=134A FS=0000 GS=0304 PS=00000286 V0 D0 I1 T0 S1 Z0 A0 P1 C0 &0654:344E 6661 POPAD
CPU: TypeError: Cannot read properties of undefined (reading '1') at KC (https://www.pcjs.org/machines/pcx86/releases/2.07/pcx86.js:874:358) at LC (https://www.pcjs.org/machines/pcx86/releases/2.07/pcx86.js:856:302) at m.ao (https://www.pcjs.org/machines/pcx86/releases/2.07/pcx86.js:861:192) at ef.ff (https://www.pcjs.org/machines/pcx86/releases/2.07/pcx86.js:420:121) at m.fh (https://www.pcjs.org/machines/pcx86/releases/2.07/pcx86.js:217:385) at m.vp (https://www.pcjs.org/machines/pcx86/releases/2.07/pcx86.js:176:113)

j8srv32 commented 2 years ago

Screenshot 2022-05-01 3 34 06 PM Screenshot 2022-05-01 3 33 47 PM

j8srv32 commented 2 years ago

ping

jeffpar commented 1 year ago

Looks like a problem with the Windows 95 Debugger configuration. Will investigate.

jeffpar commented 1 year ago

When using the PCjs debugger, module info (if any) is loaded from the disk image (eg, WIN95.json), and those module objects have hard-coded property names which the Closure Compiler was renaming. pcx86.js v2.08 now accesses those module properties with strings (eg, module['segments']) instead of dot-syntax (eg, module.segments) to prevent the Closure Compiler from renaming those particular properties.