Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Simulation for Arduino eeprom programmer without connecting the EEPROM itself #15

Open
wants to merge 104 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
104 commits
Select commit Hold shift + click to select a range
550bafc
Create microcode-eeprom-with-flags_NOT_FORMATTED.ino
Subhankar2000 Dec 31, 2020
df291f5
Update microcode-eeprom-with-flags_NOT_FORMATTED.ino
Subhankar2000 Dec 31, 2020
960f34a
Update microcode-eeprom-with-flags_NOT_FORMATTED.ino
Subhankar2000 Dec 31, 2020
fbf0f22
Update microcode-eeprom-with-flags_NOT_FORMATTED.ino
Subhankar2000 Dec 31, 2020
7e52652
Update microcode-eeprom-with-flags_NOT_FORMATTED.ino
Subhankar2000 Dec 31, 2020
06f1c6f
Update microcode-eeprom-with-flags_NOT_FORMATTED.ino
Subhankar2000 Dec 31, 2020
da1a47b
Update microcode-eeprom-with-flags_NOT_FORMATTED.ino
Subhankar2000 Dec 31, 2020
ee460a7
Update microcode-eeprom-with-flags_NOT_FORMATTED.ino
Subhankar2000 Dec 31, 2020
d9f00c7
Update microcode-eeprom-with-flags_NOT_FORMATTED.ino
Subhankar2000 Dec 31, 2020
4845b6e
Create microcode-eeprom-with-flags__FORMATTED.ino
Subhankar2000 Dec 31, 2020
895ff46
Update microcode-eeprom-with-flags__FORMATTED.ino
Subhankar2000 Dec 31, 2020
3b6be03
Update microcode-eeprom-with-flags__FORMATTED.ino
Subhankar2000 Dec 31, 2020
5443e9e
Update microcode-eeprom-with-flags__FORMATTED.ino
Subhankar2000 Dec 31, 2020
45ae0e1
Update microcode-eeprom-with-flags__FORMATTED.ino
Subhankar2000 Dec 31, 2020
ed7e704
Update microcode-eeprom-with-flags__FORMATTED.ino
Subhankar2000 Dec 31, 2020
19c398a
Update microcode-eeprom-with-flags_NOT_FORMATTED.ino
Subhankar2000 Dec 31, 2020
e33cbe4
Create LOGISIM.txt
Subhankar2000 Dec 31, 2020
8f995d8
Update LOGISIM.txt
Subhankar2000 Dec 31, 2020
29f924d
Update microcode-eeprom-with-flags__FORMATTED.ino
Subhankar2000 Dec 31, 2020
a8c453d
Create microcode-eeprom-with-flags_FORMATTED.ino
Subhankar2000 Dec 31, 2020
56bf5b1
Update microcode-eeprom-with-flags_FORMATTED.ino
Subhankar2000 Dec 31, 2020
387f056
Update microcode-eeprom-with-flags_FORMATTED.ino
Subhankar2000 Dec 31, 2020
5c7dcbf
Update microcode-eeprom-with-flags_FORMATTED.ino
Subhankar2000 Dec 31, 2020
bb830d6
Update microcode-eeprom-with-flags_FORMATTED.ino
Subhankar2000 Dec 31, 2020
b2ff282
Update microcode-eeprom-with-flags_FORMATTED.ino
Subhankar2000 Dec 31, 2020
fb5af43
Create microcode-eeprom-programmer_NOT_FORMATTED.ino
Subhankar2000 Dec 31, 2020
cf64bcc
Update microcode-eeprom-programmer_NOT_FORMATTED.ino
Subhankar2000 Dec 31, 2020
acacbce
Update microcode-eeprom-programmer_NOT_FORMATTED.ino
Subhankar2000 Dec 31, 2020
1441995
Delete LOGISIM.txt
Subhankar2000 Dec 31, 2020
658bfa7
Delete eeprom-programmer.ino
Subhankar2000 Dec 31, 2020
daa98fa
Delete microcode-eeprom-programmer.ino
Subhankar2000 Dec 31, 2020
ead0a24
Delete microcode-eeprom-with-flags.ino
Subhankar2000 Dec 31, 2020
fa21683
Delete README.md
Subhankar2000 Dec 31, 2020
3c2b083
Delete multiplexed-display.ino
Subhankar2000 Dec 31, 2020
02693dc
Create README.md
Subhankar2000 Dec 31, 2020
ee5ed14
Update README.md
Subhankar2000 Dec 31, 2020
ac94f81
Update README.md
Subhankar2000 Dec 31, 2020
3b611d4
Delete microcode-eeprom-programmer_NOT_FORMATTED.ino
Subhankar2000 Dec 31, 2020
a090cf2
Create microcode-eeprom-with-flags__FORMATTED.ino.mega.hex
Subhankar2000 Dec 31, 2020
45d4b07
Create microcode-eeprom-with-flags__FORMATTED.ino.with_bootloader.meg…
Subhankar2000 Dec 31, 2020
3431a64
Create microcode-eeprom-with-flags__FORMATTED.pdsprj
Subhankar2000 Dec 31, 2020
07db957
Create microcode-eeprom-with-flags__FORMATTED.pdsprj.IDEAPAD.Subhanka…
Subhankar2000 Dec 31, 2020
9c70e06
Delete microcode-eeprom-with-flags__FORMATTED.ino.mega.hex
Subhankar2000 Dec 31, 2020
9861b79
Delete microcode-eeprom-with-flags__FORMATTED.ino.with_bootloader.meg…
Subhankar2000 Dec 31, 2020
e9b25cd
Delete microcode-eeprom-with-flags__FORMATTED.pdsprj
Subhankar2000 Dec 31, 2020
ab78d10
Delete microcode-eeprom-with-flags__FORMATTED.pdsprj.IDEAPAD.Subhanka…
Subhankar2000 Dec 31, 2020
5e34342
Create microcode-eeprom-with-flags_NOT_FORMATTED.ino.standard.hex
Subhankar2000 Jan 1, 2021
c6b5355
Create microcode-eeprom-with-flags_NOT_FORMATTED.ino.with_bootloader.…
Subhankar2000 Jan 1, 2021
257738f
Create New Text Document.txt
Subhankar2000 Jan 1, 2021
0c7872c
Create microcode-eeprom-with-flags___FORMATTED.txt
Subhankar2000 Jan 1, 2021
411f881
Create microcode-eeprom-with-flags__FORMATTED.txt
Subhankar2000 Jan 1, 2021
bf5c77c
Create microcode-eeprom-with-flags_NOT_FORMATTED.txt
Subhankar2000 Jan 1, 2021
2c6f775
Delete New Text Document.txt
Subhankar2000 Jan 1, 2021
2dffb5b
Create LOGISIM-ROM DUMP.txt
Subhankar2000 Jan 1, 2021
2850baa
Create microcode-eeprom-with-flags___FORMATTED.txt
Subhankar2000 Jan 1, 2021
5cc5894
Create microcode-eeprom-with-flags__FORMATTED.txt
Subhankar2000 Jan 1, 2021
b8f123c
Create microcode-eeprom-with-flags_NOT_FORMATTED.txt
Subhankar2000 Jan 1, 2021
33c8b32
Update microcode-eeprom-with-flags___FORMATTED.txt
Subhankar2000 Jan 1, 2021
48e7e88
Update microcode-eeprom-with-flags__FORMATTED.txt
Subhankar2000 Jan 1, 2021
9208618
Create FINAL-INS-DEC-without Logisim Format.ROM
Subhankar2000 Jan 1, 2021
73b9682
Create LOGISIM-ROM DUMP.ROM
Subhankar2000 Jan 1, 2021
296baa5
Create microcode-eeprom-with-flags_NOT_FORMATTED.ROM
Subhankar2000 Jan 1, 2021
4b1fe80
Create microcode-eeprom-with-flags_NOT_FORMATTED.ino.standard.hex
Subhankar2000 Jan 1, 2021
36d1d74
Create microcode-eeprom-with-flags_NOT_FORMATTED.ino.with_bootloader.…
Subhankar2000 Jan 1, 2021
7e9d9d9
Delete microcode-eeprom-with-flags_NOT_FORMATTED.ino.standard.hex
Subhankar2000 Jan 1, 2021
4a71b72
Delete microcode-eeprom-with-flags_NOT_FORMATTED.ino.with_bootloader.…
Subhankar2000 Jan 1, 2021
822e7af
Create microcode-eeprom-with-flags__FORMATTED.ino.standard.hex
Subhankar2000 Jan 1, 2021
463630b
Create microcode-eeprom-with-flags__FORMATTED.ino.with_bootloader.sta…
Subhankar2000 Jan 1, 2021
273a3c3
Create microcode-eeprom-with-flags_FORMATTED.ino.standard.hex
Subhankar2000 Jan 1, 2021
cc5edbe
Create microcode-eeprom-with-flags_FORMATTED.ino.with_bootloader.stan…
Subhankar2000 Jan 1, 2021
3c07b23
Delete schematic.png
Subhankar2000 Jan 20, 2021
0c9e36a
Create micro-code with address.txt
Subhankar2000 Jan 20, 2021
5824812
Create micro-code.txt
Subhankar2000 Jan 20, 2021
257d03f
Create PRINT micro-code.ino
Subhankar2000 Jan 20, 2021
0ba2860
Create PRINT micro-code with address.ino
Subhankar2000 Jan 20, 2021
d6a6e70
proteus design files for PRINT micro-code with address.ino
Subhankar2000 May 31, 2021
7ac7c00
Update README.md
Subhankar2000 May 31, 2021
fdf844a
proteus design files
Subhankar2000 May 31, 2021
a2a081d
Delete microcode-eeprom-with-flags__FORMATTED.ino.standard.hex
Subhankar2000 May 31, 2021
baf0a52
Delete microcode-eeprom-with-flags__FORMATTED.ino.with_bootloader.sta…
Subhankar2000 May 31, 2021
9c382a3
Update microcode-eeprom-with-flags__FORMATTED.ino
Subhankar2000 May 31, 2021
b5d435e
Create microcode-eeprom-with-flags__FORMATTED.ino.standard.hex
Subhankar2000 May 31, 2021
1365beb
Create microcode-eeprom-with-flags__FORMATTED.ino.with_bootloader.sta…
Subhankar2000 May 31, 2021
57aaf5c
Create microcode-eeprom-with-flags_NOT_FORMATTED.ino.with_bootloader.…
Subhankar2000 May 31, 2021
2f6017e
Create microcode-eeprom-with-flags_NOT_FORMATTED.ino.standard.hex
Subhankar2000 May 31, 2021
cc28589
Update microcode-eeprom-with-flags_NOT_FORMATTED.ino
Subhankar2000 May 31, 2021
c05bc91
Delete microcode-eeprom-with-flags_NOT_FORMATTED.ino.with_bootloader.…
Subhankar2000 May 31, 2021
0a4d0d5
Delete microcode-eeprom-with-flags_NOT_FORMATTED.ino.standard.hex
Subhankar2000 May 31, 2021
da9ac36
Create microcode-eeprom-with-flags_FORMATTED.ino.with_bootloader.stan…
Subhankar2000 May 31, 2021
c8ecb83
Create microcode-eeprom-with-flags_FORMATTED.ino.standard.hex
Subhankar2000 May 31, 2021
3d592cb
Delete microcode-eeprom-with-flags_FORMATTED.ino.standard.hex
Subhankar2000 May 31, 2021
6d2982b
Delete microcode-eeprom-with-flags_FORMATTED.ino.with_bootloader.stan…
Subhankar2000 May 31, 2021
d983757
Update microcode-eeprom-with-flags_FORMATTED.ino
Subhankar2000 May 31, 2021
04b7d71
Update PRINT micro-code with address.pdsprj.IDEAPAD.Subhankar.workspace
Subhankar2000 May 31, 2021
482899f
Update microcode-eeprom-with-flags__FORMATTED.ino.standard.hex
Subhankar2000 May 31, 2021
f6400b0
Update microcode-eeprom-with-flags__FORMATTED.ino.with_bootloader.sta…
Subhankar2000 May 31, 2021
a9c5ca1
Update microcode-eeprom-with-flags_FORMATTED.pdsprj.IDEAPAD.Subhankar…
Subhankar2000 May 31, 2021
d40099a
Update README.md
Subhankar2000 May 31, 2021
aac5a38
Screenshots uploaded
Subhankar2000 May 31, 2021
6e2a450
Update README.md
Subhankar2000 May 31, 2021
f1c5b28
Update README.md
Subhankar2000 May 31, 2021
c2ba905
Update README.md
Subhankar2000 May 31, 2021
0278ff5
CORRECTED output for Logisim
Subhankar2000 May 31, 2021
c54f407
Update README.md
Subhankar2000 May 31, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file not shown.
Binary file not shown.
Binary file added INO/Last Loaded PRINT micro-code.pdsbak
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -1,14 +1,5 @@
/**
* This sketch programs the microcode EEPROMs for the 8-bit breadboard computer
* It includes support for a flags register with carry and zero flags
* See this video for more: https://youtu.be/Zg1NdPKoosU
*/
#define SHIFT_DATA 2
#define SHIFT_CLK 3
#define SHIFT_LATCH 4
#define EEPROM_D0 5
#define EEPROM_D7 12
#define WRITE_EN 13

#define HLT 0b1000000000000000 // Halt clock
#define MI 0b0100000000000000 // Memory address register in
Expand Down Expand Up @@ -62,103 +53,71 @@ void initUCode() {

// ZF = 0, CF = 1
memcpy(ucode[FLAGS_Z0C1], UCODE_TEMPLATE, sizeof(UCODE_TEMPLATE));
ucode[FLAGS_Z0C1][JC][2] = IO|J;
ucode[FLAGS_Z0C1][JC][2] = IO | J;

// ZF = 1, CF = 0
memcpy(ucode[FLAGS_Z1C0], UCODE_TEMPLATE, sizeof(UCODE_TEMPLATE));
ucode[FLAGS_Z1C0][JZ][2] = IO|J;
ucode[FLAGS_Z1C0][JZ][2] = IO | J;

// ZF = 1, CF = 1
memcpy(ucode[FLAGS_Z1C1], UCODE_TEMPLATE, sizeof(UCODE_TEMPLATE));
ucode[FLAGS_Z1C1][JC][2] = IO|J;
ucode[FLAGS_Z1C1][JZ][2] = IO|J;
ucode[FLAGS_Z1C1][JC][2] = IO | J;
ucode[FLAGS_Z1C1][JZ][2] = IO | J;
}

/*
* Output the address bits and outputEnable signal using shift registers.
*/
void setAddress(int address, bool outputEnable) {
shiftOut(SHIFT_DATA, SHIFT_CLK, MSBFIRST, (address >> 8) | (outputEnable ? 0x00 : 0x80));
shiftOut(SHIFT_DATA, SHIFT_CLK, MSBFIRST, address);

digitalWrite(SHIFT_LATCH, LOW);
digitalWrite(SHIFT_LATCH, HIGH);
digitalWrite(SHIFT_LATCH, LOW);
}


/*
* Read a byte from the EEPROM at the specified address.
*/
byte readEEPROM(int address) {
for (int pin = EEPROM_D0; pin <= EEPROM_D7; pin += 1) {
pinMode(pin, INPUT);
}
setAddress(address, /*outputEnable*/ true);

byte data = 0;
for (int pin = EEPROM_D7; pin >= EEPROM_D0; pin -= 1) {
data = (data << 1) + digitalRead(pin);
}
return data;
}


/*
* Write a byte to the EEPROM at the specified address.
*/
char bufd[2];
char bufa[8];
int line_count = 0;
int oneTime = -1;
int addr = 0;
void writeEEPROM(int address, byte data) {
setAddress(address, /*outputEnable*/ false);
for (int pin = EEPROM_D0; pin <= EEPROM_D7; pin += 1) {
pinMode(pin, OUTPUT);
}

for (int pin = EEPROM_D0; pin <= EEPROM_D7; pin += 1) {
digitalWrite(pin, data & 1);
if (oneTime == -1) {
sprintf(bufd, "%02x ", data);
Serial.print(bufd);
}
oneTime++;
data = data >> 1;
}
digitalWrite(WRITE_EN, LOW);
delayMicroseconds(1);
digitalWrite(WRITE_EN, HIGH);
delay(10);
oneTime = -1;

line_count++;
if (line_count % 8 == 0)
Serial.print(" ");
if (line_count % 16 == 0) {
Serial.println("");
addr = addr + 16;
// Serial.print(addr,HEX);
// Serial.print(": ");
sprintf(bufa, "%03x: ", addr);
Serial.print(bufa);
}
}

void setup() {
initUCode();
Serial.begin(9600);

/*
* Read the contents of the EEPROM and print them to the serial monitor.
*/
void printContents(int start, int length) {
for (int base = start; base < length; base += 16) {
byte data[16];
for (int offset = 0; offset <= 15; offset += 1) {
data[offset] = readEEPROM(base + offset);
}
Serial.print("Programming EEPROM");

char buf[80];
sprintf(buf, "%03x: %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x",
base, data[0], data[1], data[2], data[3], data[4], data[5], data[6], data[7],
data[8], data[9], data[10], data[11], data[12], data[13], data[14], data[15]);
for (int address = 0; address < 1024; address += 1) {
delayMicroseconds(1);
delay(10);

Serial.println(buf);
if (address % 64 == 0) {
Serial.print(".");
}
}
}


void setup() {
// put your setup code here, to run once:
initUCode();
Serial.println(" done");

pinMode(SHIFT_DATA, OUTPUT);
pinMode(SHIFT_CLK, OUTPUT);
pinMode(SHIFT_LATCH, OUTPUT);
digitalWrite(WRITE_EN, HIGH);
pinMode(WRITE_EN, OUTPUT);
Serial.begin(57600);
Serial.println("Reading EEPROM");

// Program data bytes
Serial.print("Programming EEPROM");
int zero = 0;
char buff[3];
sprintf(buff, "000: ", zero);
Serial.print(buff);

// Program the 8 high-order bits of microcode into the first 128 bytes of EEPROM
for (int address = 0; address < 1024; address += 1) {
int flags = (address & 0b1100000000) >> 8;
int byte_sel = (address & 0b0010000000) >> 7;
Expand All @@ -170,23 +129,10 @@ void setup() {
} else {
writeEEPROM(address, ucode[flags][instruction][step] >> 8);
}

if (address % 64 == 0) {
Serial.print(".");
}
}

Serial.println(" done");


// Read and print out the contents of the EERPROM
Serial.println("Reading EEPROM");
printContents(0, 1024);
}


void loop() {
// put your main code here, to run repeatedly:

}

Binary file added INO/PRINT micro-code with address.pdsprj
Binary file not shown.
151 changes: 151 additions & 0 deletions INO/PRINT micro-code with address.pdsprj.IDEAPAD.Subhankar.workspace
Original file line number Diff line number Diff line change
@@ -0,0 +1,151 @@
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<WORKSPACE>
<FRAME activewindow="1">
<PLACEMENT>2c0000000200000003000000ffffffffffffffffffffffffffffffff6900000000000000540300007c020000</PLACEMENT>
<WINDOW type="default" module="ISIS"/>
<WINDOW type="default" module="VSMSTUDIO">
<FILE ACTIVE="TRUE" NAME="ATmega328P/main.ino"/>
<STATE NAME="EDIT" VALUE="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"/>
<STATE NAME="DEBUG" VALUE="AAAA/wAAAAH9AAAAAwAAAAAAAAEAAAADH/wCAAAAAvsAAAAQAFAAcgBvAGoAZQBjAHQAcwAAAAAAAAADHwAAASwA////+wAAABQAUAByAG8AcABlAHIAdABpAGUAcwAAAAAA/////wAAAGQA////AAAAAQAAAFAAAAO0/AIAAAAB+wAAACoAZABvAGMAawA6ADQAMAA5ADcAOgBMAEUARAAgACYAIABSAGUAcwBlAHQBAAAAAAAAA7QAAABWAP///wAAAAMAAAckAAAAkfwBAAAAAfwAAAAAAAAHJAAAAS4A////+gAAAAkBAAAACvsAAAAgAE8AdQB0AHAAdQB0AEQAbwBjAGsAVwBpAGQAZwBlAHQAAAAAAP////8AAABQAP////sAAAAqAGQAbwBjAGsAOgAwADoAUwBpAG0AdQBsAGEAdABpAG8AbgAgAEwAbwBnAAAAAAD/////AAABkgD////7AAAAJgBkAG8AYwBrADoAMQA6AFcAYQB0AGMAaAAgAFcAaQBuAGQAbwB3AAAAAAD/////AAABYAD////7AAAAOgBkAG8AYwBrADoAMwA6AEEAVgBSACAAQwBQAFUAIABSAGUAZwBpAHMAdABlAHIAcwAgAC0AIABVADEAAAAAAP////8AAABQAP////sAAAA8AGQAbwBjAGsAOgAxADAAOgBBAFYAUgAgAFAAcgBvAGcAcgBhAG0AIABTAHQAYQBjAGsAIAAtACAAVQAxAAAAAAD/////AAAAAAAAAAD7AAAAOABkAG8AYwBrADoANgA6AEEAVgBSACAARQBQAFIATwBNACAATQBlAG0AbwByAHkAIAAtACAAVQAxAAAAAAD/////AAAAUAD////7AAAAPABkAG8AYwBrADoANwA6AEEAVgBSACAAUAByAG8AZwByAGEAbQAgAE0AZQBtAG8AcgB5ACAALQAgAFUAMQAAAAAA/////wAAAFAA////+wAAADYAZABvAGMAawA6ADQAOgBBAFYAUgAgAEQAYQB0AGEAIABNAGUAbQBvAHIAeQAgAC0AIABVADEAAAAAAP////8AAABQAP////sAAAA8AGQAbwBjAGsAOgAxADMAOgBBAFYAUgAgAEkALwBPACAAUgBlAGcAaQBzAHQAZQByAHMAIAAtACAAVQAxAAAAAAD/////AAAAUAD////7AAAAMgBkAG8AYwBrADoAMgA6AEEAVgBSACAAVgBhAHIAaQBhAGIAbABlAHMAIAAtACAAVQAxAQAAAAD/////AAABLgD///8AAAckAAADHwAAAAEAAAACAAAACAAAAAL8AAAAAA=="/>
<PROJECT ACTIVE="TRUE" NAME="ATmega328P" CONFIGURATION="Debug">
<PROGRAMMER NAME="AVRDUDE" INTERFACE="Arduino (ATmega328)">
<PROPERTY NAME="PORT" VALUE=""/>
<PROPERTY NAME="PORTCLOCK" VALUE="115200"/>
<PROPERTY NAME="UPLOADER" VALUE="ArduinoUnoR3.hex"/>
</PROGRAMMER>
</PROJECT>
</WINDOW>
</FRAME>
<MODULE name="VSMDEBUG">
<PWI>
<POPUP w="400" x="5" flags="00000002" y="106" h="100" pid="0" iid="-1">
<PROPERTIES>
<ITEM name="Message Column Width">279</ITEM>
<ITEM name="ShowGrid">No</ITEM>
<ITEM name="Source Column Width">100</ITEM>
<ITEM name="Version">100</ITEM>
</PROPERTIES>
</POPUP>
<POPUP w="350" x="5" flags="00000032" y="106" h="100" pid="1" iid="-1">
<PROPERTIES>
<ITEM name="Address Column Width">87</ITEM>
<ITEM name="AutoResize">No</ITEM>
<ITEM name="Gridlines">Yes</ITEM>
<ITEM name="Name Column Width">87</ITEM>
<ITEM name="ShowAddresses">Yes</ITEM>
<ITEM name="ShowPreviousValues">No</ITEM>
<ITEM name="ShowTypes">No</ITEM>
<ITEM name="ShowWatchPoint">Yes</ITEM>
<ITEM name="TriggerMode">0</ITEM>
<ITEM name="Value Column Width">87</ITEM>
<ITEM name="Version">100</ITEM>
<ITEM name="Watch Expression Column Width">87</ITEM>
<ITEM name="nItems">0</ITEM>
</PROPERTIES>
</POPUP>
<POPUP w="695" x="78" flags="00000001" y="169" h="453" pid="0" iid="8">
<PROPERTIES/>
</POPUP>
<POPUP w="78" x="1837" flags="00000013" y="128" h="924" pid="4097" iid="4097">
<PROPERTIES/>
</POPUP>
<POPUP w="611" x="983" flags="00008023" y="117" h="904" pid="0" iid="10">
<PROPERTIES>
<ITEM name="AutoEcho">0</ITEM>
<ITEM name="HexMode">0</ITEM>
</PROPERTIES>
</POPUP>
<POPUP w="98" x="5" flags="00000008" y="106" h="28" pid="3" iid="1">
<PROPERTIES/>
</POPUP>
<POPUP w="1" x="5" flags="0000000a" y="106" h="1" pid="10" iid="1">
<PROPERTIES>
<ITEM name="DataType">2</ITEM>
<ITEM name="DispChars">Yes</ITEM>
<ITEM name="DispFormat">2</ITEM>
<ITEM name="ShowChanges">Yes</ITEM>
<ITEM name="ShowToolTips">Yes</ITEM>
<ITEM name="TopLineAddress">00000000</ITEM>
</PROPERTIES>
</POPUP>
<POPUP w="1" x="5" flags="0000000a" y="106" h="2" pid="6" iid="1">
<PROPERTIES>
<ITEM name="DataType">2</ITEM>
<ITEM name="DispChars">Yes</ITEM>
<ITEM name="DispFormat">2</ITEM>
<ITEM name="ShowChanges">Yes</ITEM>
<ITEM name="ShowToolTips">Yes</ITEM>
<ITEM name="TopLineAddress">00000000</ITEM>
</PROPERTIES>
</POPUP>
<POPUP w="1" x="5" flags="0000000a" y="106" h="2" pid="7" iid="1">
<PROPERTIES>
<ITEM name="DataType">2</ITEM>
<ITEM name="DispChars">Yes</ITEM>
<ITEM name="DispFormat">2</ITEM>
<ITEM name="ShowChanges">Yes</ITEM>
<ITEM name="ShowToolTips">Yes</ITEM>
<ITEM name="TopLineAddress">00000000</ITEM>
</PROPERTIES>
</POPUP>
<POPUP w="16" x="218" flags="00000000" y="309" h="32" pid="14" iid="1">
<PROPERTIES>
<ITEM name="DataType">2</ITEM>
<ITEM name="DispChars">Yes</ITEM>
<ITEM name="DispFormat">2</ITEM>
<ITEM name="ShowChanges">Yes</ITEM>
<ITEM name="ShowToolTips">Yes</ITEM>
<ITEM name="TopLineAddress">00000000</ITEM>
</PROPERTIES>
</POPUP>
<POPUP w="1" x="5" flags="0000000a" y="106" h="2" pid="4" iid="1">
<PROPERTIES>
<ITEM name="DataType">2</ITEM>
<ITEM name="DispChars">Yes</ITEM>
<ITEM name="DispFormat">2</ITEM>
<ITEM name="ShowChanges">Yes</ITEM>
<ITEM name="ShowToolTips">Yes</ITEM>
<ITEM name="TopLineAddress">00000100</ITEM>
</PROPERTIES>
</POPUP>
<POPUP w="1" x="5" flags="0000000a" y="106" h="1" pid="13" iid="1">
<PROPERTIES>
<ITEM name="DataType">2</ITEM>
<ITEM name="DispChars">Yes</ITEM>
<ITEM name="DispFormat">2</ITEM>
<ITEM name="ShowChanges">Yes</ITEM>
<ITEM name="ShowToolTips">Yes</ITEM>
<ITEM name="TopLineAddress">00000020</ITEM>
</PROPERTIES>
</POPUP>
<POPUP w="1822" x="6" flags="0000002b" y="127" h="773" pid="1" iid="1">
<PROPERTIES>
<ITEM name="CaseSensitive">No</ITEM>
<ITEM name="DISPADDRS">Yes</ITEM>
<ITEM name="DISPLNUMS">No</ITEM>
<ITEM name="DISPOPCODES">No</ITEM>
<ITEM name="FIXUPBPTS">Yes</ITEM>
<ITEM name="WordsOnly">No</ITEM>
<ITEM name="nBreakpoints">0</ITEM>
</PROPERTIES>
</POPUP>
<POPUP w="1826" x="5" flags="0000000b" y="931" h="121" pid="2" iid="1">
<PROPERTIES>
<ITEM name="Address Column Width">608</ITEM>
<ITEM name="AutoResize">No</ITEM>
<ITEM name="Gridlines">Yes</ITEM>
<ITEM name="Name Column Width">608</ITEM>
<ITEM name="ShowAddresses">Yes</ITEM>
<ITEM name="ShowGlobals">Yes</ITEM>
<ITEM name="ShowPreviousValues">No</ITEM>
<ITEM name="ShowTypes">No</ITEM>
<ITEM name="ShowWatchPoint">No</ITEM>
<ITEM name="TriggerMode">0</ITEM>
<ITEM name="Value Column Width">608</ITEM>
<ITEM name="Version">100</ITEM>
<ITEM name="nItems">0</ITEM>
</PROPERTIES>
</POPUP>
</PWI>
</MODULE>
</WORKSPACE>
Loading