Everything except xmodem works

This commit is contained in:
maddiebaka
2024-02-16 19:06:11 -05:00
parent 282bc84e35
commit fad8ab3c4b

View File

@@ -6,7 +6,8 @@ enum {
CMD_INVALID,
CMD_WRITE,
CMD_TEST,
CMD_DUMP
CMD_DUMP,
CMD_ERASE
};
char line[120];
@@ -32,7 +33,7 @@ void setup() {
setCtrlPins();
setAddrPinsOut();
setDataPinsIn();
setDataPinsOut();
//setDataPinsOut();
Serial.begin(9600, SERIAL_8N1);
@@ -84,6 +85,7 @@ byte parseCommand(char c) {
case 'w': cmd = CMD_WRITE; break;
case 't': cmd = CMD_TEST; break;
case 'd': cmd = CMD_DUMP; break;
case 'e': cmd = CMD_ERASE; break;
default: cmd = CMD_INVALID; break;
}
@@ -122,7 +124,7 @@ void loop() {
Serial.println("Wrote: 0x3F");
setDataPinsIn();
delay(500);
Serial.println("Received: ");
Serial.print("Received: ");
Serial.println(readData(0x0000), HEX);
cmd = NULL;
break;
@@ -136,6 +138,10 @@ void loop() {
// }
cmd = NULL;
break;
case CMD_ERASE:
eraseROM();
cmd = NULL;
break;
case CMD_INVALID:
default:
@@ -144,6 +150,8 @@ void loop() {
Serial.println("Commands: ");
Serial.println("w\twrite new firmware");
Serial.println("d\tdump firmware");
Serial.println("t\tdo a test write and then read");
Serial.println("e\terase chip");
Serial.println();
break;
}
@@ -155,3 +163,17 @@ void dumpROM() {
Serial.println(data, HEX);
}
}
void eraseROM() {
setDataPinsOut();
writeByte(0xAA, 0x5555);
writeByte(0x55, 0x2AAA);
writeByte(0x80, 0x5555);
writeByte(0xAA, 0x5555);
writeByte(0x55, 0x2AAA);
writeByte(0x10, 0x5555);
delay(100);
setDataPinsIn();
}