I have a problem. I need to modify some software that was wriiten by a guy who left and I have no way of contacting him. The problem is, I have no idea what language tha code is written in!
The compiler seems to be called "plus" and the source code modules have a .pls extension. Pointers seem to have a '.' prefix.
Any help would be greatfully appreciated!
Here is a example of the code:-
Code:
procedure erase_block(long .block_addr: byte usepolling): byte done, ch: long status;
flash_program_register = 1; /* enable the FLASH writes */
block_addr = $20202020; /* request block erase */
block_addr = $d0d0d0d0; /* confirm block erase */
done = switch; /* waste time as the BZY line takes 90ns */
if (usepolling)
begin
done = 0;
repeat
status = block_addr;
if (status and $80808080) = $80808080 then done = 1;
ch = getkey;
if ch = sp then
begin
print_long(status); crlf;
end;
if ch = cr then
begin
print_long(status); crlf;
block_addr = $FFFFFFFF; /* tell the Chip all complete */
block_addr = $50505050; /* Must CLEAR the status Register */
flash_program_register = 0; /* disable the FLASH writes */
return 3;
end;
until done <> 0;
end;
else
begin
repeat
ch = getkey;
if ch = sp then
begin
status = block_addr;
print_long(status);print " ";
print_byte(flash_program_register); crlf;
end;
if ch = cr then
begin
print_long(status); crlf;
block_addr = $FFFFFFFF; /* tell the Chip all complete */
block_addr = $50505050; /* Must CLEAR the status Register */
flash_program_register = 0; /* disable the FLASH writes */
return 3;
end;
until(flash_program_register and $7f);
done = 0;
repeat
status = block_addr;
ch = getkey;
if ch = sp then
begin
print_long(status); crlf;
end;
if ch = cr then done = 1;
if (status and $80808080) = $80808080 then done = 1;
until done <> 0;
end;
status = block_addr;
block_addr = $FFFFFFFF; /* tell the Chip all complete */
block_addr = $50505050; /* Must CLEAR the status Register */
flash_program_register = 0; /* disable the FLASH writes */