Using Windows 98 2nd Edition
The user displayed the memory block 0-2K from a P89C668 part.
Then clicked the "close" box.
invalid page fault KERNEL32.DLL at 0167:bff9db61
EAX: c00301a8 CS: 167 KIP: bff9db61 EFLGS: 00010202
EBX: 01f4ff8c SS: 16f ESP: b1e4ff80 EBP: 01e5021c
ECX: 0 DS: 16f ESI: 8173bb88 FS: 0eaf
EDX: bff76855 ES: 16f EDI: 01e502f4 GS: 0
bytes at CS:EIP
53 8b 15 e4 9c fc bf 56 89 4d e4 57 89 4d dc 89
Hmmm....I'll see if I can reproduce this. Does it happen every time or just on one occasion?
It happened 2 to 3 times. If this sort of event happened while using
Linux, it would already be fixed. I vote for a Linux port. I might even
volunteer.
I'm having a hard time trying to reproduce the problem. So far I haven't seen it happen. Here is my test setup:
Windows 98 version 4.10.1998
Flash Magic 1.87
Phytec phyCORE module
Philips P89C51RD2HBA (same as 668 but without I2C)
20MHz crystal
I tried 9600 baud and 2400 baud.
I tried closing the Display memory window: immediately, after the first data set had loaded in, after the first block had loaded in, after switching to the second block.
Questions:
What baud rate and crystal frequency did you see this happen at?
Did you have the correct 668 device selected in Flash Magic or another device?
Did you have the correct crystal frequency entered (note that enter 11 when it is really 11.0592 is not correct)?
Can you recall at what point you closed the window (immediately, after the first data set, etc.)
baudrate - 115k
crystal - 20meg
I enterered 20.0000
time to close was less than 15sec
I gave 115k a try on both Windows XP and Windows 98, closing the window at different points. I couldn't reproduce the problem. I looked at the source code to see what might cause it and I cannot spot anything - it is a controlled stop to the reading of the device.
Do you have another Windows 98 PC you can try Flash Magic on and see if the problem exists there too?
I try to have as few windows PC's as possible. Linux is my thing.
Maybe it would be better to take a closer look at the register dump
and back track how execution could get to that point
I'll look into this.
I try to have as few windows PC's as possible. Linux is my thing.