diff options
| author | TheMas3212 <mas3212@gmail.com> | 2023-09-25 12:38:37 +1000 |
|---|---|---|
| committer | TheMas3212 <mas3212@gmail.com> | 2023-09-25 12:38:37 +1000 |
| commit | d78b5e9f718b476da74ec67e05def9ceb622270e (patch) | |
| tree | 1b4ec2789e9763048546607459833110197e5d59 /src/packets/general.ts | |
| parent | 16a790a5b27f3d4212f9dd9be49fa33cf97c6b92 (diff) | |
| download | tasd-js-d78b5e9f718b476da74ec67e05def9ceb622270e.tar.gz tasd-js-d78b5e9f718b476da74ec67e05def9ceb622270e.zip | |
Update to match specification as of 2023-09-25
Update TRANSITION
Add PORT_OVERREAD
Add SNES_LATCH_FILTER
Remove SNES_OVERREAD
Remove NES_OVERREAD
Diffstat (limited to 'src/packets/general.ts')
| -rw-r--r-- | src/packets/general.ts | 30 |
1 files changed, 28 insertions, 2 deletions
diff --git a/src/packets/general.ts b/src/packets/general.ts index 7e0cb1f..cf8d61e 100644 --- a/src/packets/general.ts +++ b/src/packets/general.ts @@ -1,5 +1,9 @@ import { PACKET_TYPES } from "../constants"; -import { encodeString, readBoolean, readString, readUint16, readUint32, readUint64, readUint8, writeBoolean, writeString, writeUint16, writeUint32, writeUint64, writeUint8 } from "../utils"; +import { + encodeString, readString, writeString, readBoolean, writeBoolean, + readUint8, writeUint8, readUint16, writeUint16, + readUint32, writeUint32, readUint64, writeUint64 +} from "../utils"; import { TASDPacket, buildBuffer } from "./utils"; export class ConsoleTypePacket implements TASDPacket { @@ -483,4 +487,26 @@ export class PortControllerPacket implements TASDPacket { toString() { return `PortController ${this.port}, 0x${this.type.toString(16).padStart(4, '0')}`; } -}
\ No newline at end of file +} + +export class PortOverreadPacket implements TASDPacket { + constructor(public port: number, public high: boolean) {} + get key() { + return PACKET_TYPES.PORT_OVERREAD; + } + get size() { + return 2; + } + static fromBuffer(buffer: Uint8Array) { + return new this(readUint8(buffer, 0), readBoolean(buffer, 1)); + } + toBuffer(g_keylen: number): Uint8Array { + const payload = new Uint8Array(2); + writeUint8(this.port, payload, 0); + writeBoolean(this.high, payload, 1); + return buildBuffer(g_keylen, this.key, payload); + } + toString(): string { + return `PortOverreadPacket ${this.port}, ${this.high}`; + } +} |
