// CREATE & OPEN FILE FOR WRITING (HANDLE=1)
USBwriteAction := 1;
while(PortRead(4, 0) > -1) {}
PortPrint(4,"O 1W>" + MakeFilename() + "\r");
response := PortInput(4,0,0,1000,4);
if(response == ""){ USBwriteCode := 0xFF; return; }
USBwriteCode := TextToInt(Mid(response, 1, 2), 16);
if(USBwriteCode > 0) return;
// WRITE DATA TO FILE
for(i:=0; i<=24; i++){
USBwriteAction := 0x10 + i;
while(PortRead(4, 0) > -1) {}
PortPrint(4,"W 1>" + IntToText(Len(USBwriteArray[i]),16,2) + "\r");
response := PortInput(4,0,0,1000,4);
if(response == ""){ USBwriteCode := 0xFF; return; }
USBwriteCode := TextToInt(Mid(response, 1, 2), 16);
if(USBwriteCode > 0) return;
USBwriteAction := 0x30 + i;
while(PortRead(4, 0) > -1) {}
PortPrint(4,USBwriteArray[i]);
response := PortInput(4,0,0,1000,14);
if(response == ""){ USBwriteCode := 0xFF; return; }
USBwriteCode := TextToInt(Mid(response, 11, 2), 16);
if(USBwriteCode > 0) return;
}
// CLOSE FILE
USBwriteAction := 2;
while(PortRead(4, 0) > -1) {}
PortPrint(4,"C 1\r");
response := PortInput(4,0,0,1000,4);
if(response == ""){ USBwriteCode := 0xFF; return; }
USBwriteCode := TextToInt(Mid(response, 1, 2), 16);
if(USBwriteCode > 0) return;