filmov
tv
A faster AIS decoder

Показать описание
Using 6502 assembly, the project is progressing well. This is the assembly code receiving messages via the serial port, decoding it them and printing the results. The first column is the message type, the second the vessel mmsi and the third column is the undivided yet longitude (if you divide the number by 600.000 you will get the correct number for that results. This is the next step). The code is using both NMI and IRQ. The NMI is reading the serial port, fired for every byte in the serial buffer, and assembles the message pushing it to a round robin style buffer. The IRQ is fired every 1/50 (1/60 for US) and drains the messages of the round robin buffer while decoding them. Next step is to create in BANK1 a strucutre where every MMSI (vessel ID) will be stored and as the messages arrive, the structure wil be updated with latest positional and static data.