Documentation for “Zerocat Chipflasher” as of Tue, 03 Jun 2025 18:34:33 +0200
Repository: git://zerocat.org/zerocat/projects/chipflasher
Version: v2.0.2
Branch: flashrom-interface
Propeller Spin/PASM Compiler 'OpenSpin' (c)2012-2016 Parallax Inc. DBA Parallax Semiconductor.
Version 1.00.78
Compiling...
../../firmware2/src/FullDuplexSerial.spin
Done.
Program size is 736 bytes
TYPE: 53 VALUE: 00000401 (00000004) NAME: START
TYPE: 53 VALUE: 00000002 (00000004) NAME: STOP
TYPE: 53 VALUE: 00000003 (00000004) NAME: RXFLUSH
TYPE: 53 VALUE: 00000004 (00000004) NAME: RXCHECK
TYPE: 53 VALUE: 00000105 (00000004) NAME: RXTIME
TYPE: 53 VALUE: 00000006 (00000004) NAME: RX
TYPE: 53 VALUE: 00000107 (00000004) NAME: TX
TYPE: 53 VALUE: 00000108 (00000004) NAME: STR
TYPE: 53 VALUE: 00000109 (00000004) NAME: WBUF
TYPE: 53 VALUE: 0000010A (00000004) NAME: DEC
TYPE: 53 VALUE: 0000020B (00000004) NAME: HEX
TYPE: 53 VALUE: 0000020C (00000004) NAME: BIN
TYPE: 47 VALUE: 00000000 (00000000) NAME: RX_HEAD
TYPE: 47 VALUE: 00000004 (00000000) NAME: RX_TAIL
TYPE: 47 VALUE: 00000008 (00000000) NAME: TX_HEAD
TYPE: 47 VALUE: 0000000C (00000000) NAME: TX_TAIL
TYPE: 47 VALUE: 00000010 (00000000) NAME: RX_PIN
TYPE: 47 VALUE: 00000014 (00000000) NAME: TX_PIN
TYPE: 47 VALUE: 00000018 (00000000) NAME: RXTX_MODE
TYPE: 47 VALUE: 0000001C (00000000) NAME: BIT_TICKS
TYPE: 47 VALUE: 00000020 (00000000) NAME: BUFFER_PTR
TYPE: 45 VALUE: 00000000 (00000000) NAME: RX_BUFFER
TYPE: 45 VALUE: 00000010 (00000000) NAME: TX_BUFFER
TYPE: 45 VALUE: 00000020 (00000000) NAME: COG
TYPE: 4A VALUE: 00000034 (00000000) NAME: ENTRY
TYPE: 4A VALUE: 0000008C (00000058) NAME: RECEIVE
TYPE: 4A VALUE: 000000AC (00000078) NAME: BIT^C^A^A^A
TYPE: 4A VALUE: 000000B0 (0000007c) NAME: WAIT^C^A^A^A
TYPE: 4A VALUE: 00000100 (000000cc) NAME: TRANSMIT
TYPE: 4A VALUE: 0000014C (00000118) NAME: BIT^D^A^A^A
TYPE: 4A VALUE: 00000168 (00000134) NAME: WAIT^D^A^A^A
TYPE: 4B VALUE: 00000184 (00000150) NAME: T1
TYPE: 4B VALUE: 00000184 (00000154) NAME: T2
TYPE: 4B VALUE: 00000184 (00000158) NAME: T3
TYPE: 4B VALUE: 00000184 (0000015c) NAME: RXTXMODE
TYPE: 4B VALUE: 00000184 (00000160) NAME: BITTICKS
TYPE: 4B VALUE: 00000184 (00000164) NAME: RXMASK
TYPE: 4B VALUE: 00000184 (00000168) NAME: RXBUFF
TYPE: 4B VALUE: 00000184 (0000016c) NAME: RXDATA
TYPE: 4B VALUE: 00000184 (00000170) NAME: RXBITS
TYPE: 4B VALUE: 00000184 (00000174) NAME: RXCNT
TYPE: 4B VALUE: 00000184 (00000178) NAME: RXCODE
TYPE: 4B VALUE: 00000184 (0000017c) NAME: TXMASK
TYPE: 4B VALUE: 00000184 (00000180) NAME: TXBUFF
TYPE: 4B VALUE: 00000184 (00000184) NAME: TXDATA
TYPE: 4B VALUE: 00000184 (00000188) NAME: TXBITS
TYPE: 4B VALUE: 00000184 (0000018c) NAME: TXCNT
TYPE: 4B VALUE: 00000184 (00000190) NAME: TXCODE
TYPE: 4E VALUE: 00000004 (00000000) NAME: RXPIN
TYPE: 4E VALUE: 00000008 (00000000) NAME: TXPIN
TYPE: 4E VALUE: 0000000C (00000000) NAME: MODE
TYPE: 4E VALUE: 00000010 (00000000) NAME: BAUDRATE
TYPE: 4E VALUE: 00000000 (00000000) NAME: OKAY
TYPE: 4E VALUE: 00000000 (00000000) NAME: RXBYTE
TYPE: 4E VALUE: 00000004 (00000000) NAME: MS
TYPE: 4E VALUE: 00000000 (00000000) NAME: RXBYTE
TYPE: 4E VALUE: 00000008 (00000000) NAME: T
TYPE: 4E VALUE: 00000000 (00000000) NAME: RXBYTE
TYPE: 4E VALUE: 00000004 (00000000) NAME: TXBYTE
TYPE: 4E VALUE: 00000004 (00000000) NAME: STRINGPTR
TYPE: 4E VALUE: 00000000 (00000000) NAME: STRLENGTH
TYPE: 4E VALUE: 00000004 (00000000) NAME: BUFPTR
TYPE: 4E VALUE: 00000000 (00000000) NAME: N
TYPE: 4E VALUE: 00000004 (00000000) NAME: VALUE
TYPE: 4E VALUE: 00000008 (00000000) NAME: I
TYPE: 4E VALUE: 0000000C (00000000) NAME: X
TYPE: 4E VALUE: 00000004 (00000000) NAME: VALUE
TYPE: 4E VALUE: 00000008 (00000000) NAME: DIGITS
TYPE: 4E VALUE: 00000004 (00000000) NAME: VALUE
TYPE: 4E VALUE: 00000008 (00000000) NAME: DIGITS
Distilled longs: 0
OBJ bytes: 786
_CLKMODE: 00
_CLKFREQ: 00B71B00
0000- 48 00 D0 02 D0 02 0D 00 84 01 00 00 AA 01 00 00 H...............
0010- BE 01 00 00 C8 01 00 00 DB 01 04 00 F8 01 00 00 ................
0020- 04 02 00 00 25 02 00 00 34 02 00 00 44 02 08 00 ....%...4...D...
0030- 90 02 00 00 B8 02 00 00 F0 A9 BC A0 10 A8 FC 80 ................
0040- 54 AA BC 08 01 B2 FC A0 55 B2 BC 2C 04 A8 FC 80 T.......U..,....
0050- 54 AA BC 08 01 BE FC A0 55 BE BC 2C 04 A8 FC 80 T.......U..,....
0060- 54 AE BC 08 04 A8 FC 80 54 B0 BC 08 04 A8 FC 80 T.......T.......
0070- 54 B4 BC 08 5A C0 BC A0 10 C0 FC 80 04 AE 7C 62 T...Z.........|b
0080- 02 AE 7C 61 5F E8 9B 68 5F EC AB 68 33 C8 FC A0 ..|a_..h_..h3...
0090- 64 BC BC 5C 01 AE 7C 62 F2 B3 3C 61 16 00 64 5C d..\..|b..<a..d\
00A0- 09 B8 FC A0 58 BA BC A0 01 BA FC 28 F1 BB BC 80 ....X......(....
00B0- 58 BA BC 80 64 BC BC 5C 5D A8 BC A0 F1 A9 BC 84 X...d..\].......
00C0- 00 A8 7C C1 1F 00 4C 5C F2 B3 3C 61 01 B6 FC 30 ..|...L\..<a...0
00D0- 1E B8 FC E4 17 B6 FC 28 FF B6 FC 60 01 AE 7C 62 .......(...`..|b
00E0- FF B6 D4 6C F0 AB BC 08 5A AA BC 80 55 B6 3C 00 ...l....Z...U.<.
00F0- 5A AA BC 84 01 AA FC 80 0F AA FC 60 F0 AB 3C 08 Z..........`..<.
0100- 16 00 7C 5C 5E C8 BC 5C F0 A9 BC A0 08 A8 FC 80 ..|\^..\........
0110- 54 AA BC 08 04 A8 FC 80 54 AC BC 08 56 AA 3C 86 T.......T...V.<.
0120- 33 00 68 5C 60 AC BC 80 56 C2 BC 00 60 AC BC 84 3.h\`...V...`...
0130- 01 AC FC 80 0F AC FC 60 54 AC 3C 08 00 C3 FC 68 .......`T.<....h
0140- 02 C2 FC 2C 01 C2 FC 68 0B C4 FC A0 F1 C7 BC A0 ...,...h........
0150- 04 AE 7C 62 02 AE 7C 61 01 C2 E0 6C 01 C2 FC 29 ..|b..|a...l...)
0160- 5F E8 AB 70 5F EC 97 74 58 C6 BC 80 5E C8 BC 5C _..p_..tX...^..\
0170- 63 A8 BC A0 F1 A9 BC 84 00 A8 7C C1 4D 00 4C 5C c.........|.M.L\
0180- 46 C4 FC E4 33 00 7C 5C 01 05 02 43 35 37 01 1A F...3.|\...C57..
0190- 53 67 37 21 1E 35 C0 70 F6 5D 8B 24 C9 20 34 C7 Sg7!.5.p.].$. 4.
01A0- 34 43 28 36 EC 8B 44 35 92 80 35 FA 61 32 8B 44 4C(6..D5..5.a2.D
01B0- 35 90 0A 08 8B 44 35 92 98 36 ED 21 43 35 38 09 5....D5..6.!C58.
01C0- 1A 32 00 05 04 35 FE 0A 02 04 77 32 62 3E 44 40 .2...5....w2b>D@
01D0- FB 0A 0B 44 98 24 61 44 36 EC 37 23 E8 45 32 3F ...D.$aD6.7#.E2?
01E0- 91 69 00 05 04 62 80 35 FE 3F 91 68 ED 35 C0 39 .i...b.5.?.h.5.9
01F0- 03 E8 F6 F6 64 FA F2 0B 02 04 67 32 00 05 04 62 ....d.....g2...b
0200- 80 35 F9 0A 02 04 75 32 4C 48 36 EC 37 23 E8 FB .5....u2LH6.7#..
0210- 0B 02 04 74 64 48 99 34 48 36 EC 37 23 E8 49 58 ...tdH.4H6.7#.IX
0220- 37 02 E8 0A 03 01 05 06 32 64 16 61 60 08 08 01 7.......2d.a`...
0230- 66 AE 80 05 07 09 78 32 66 AE A0 61 60 08 08 01 f.....x2f..a`...
0240- 66 A6 80 05 07 09 78 32 64 37 1E FC 6D 64 35 F9 f.....x2d7..md5.
0250- 0A 0A 64 6C EC E9 65 01 38 2D 05 07 3B 3B 9A CA ..dl..e.8-..;;..
0260- 00 69 38 0A 08 2D 64 68 FE 0A 16 01 64 68 F6 38 .i8..-dh....dh.8
0270- 30 EC 6C 68 36 FC F4 EC 05 07 68 66 57 62 1C 04 0.lh6.....hfWb..
0280- 0C 60 68 36 FC F2 0A 05 01 38 30 05 07 38 0A 6A .`h6.....80..8.j
0290- 56 09 53 32 37 02 68 ED 37 00 E3 66 43 68 08 1B V.S27.h.7..fCh..
02A0- 01 35 39 02 B3 37 01 66 C1 37 23 E8 38 30 38 39 .59..7.f.7#.8089
02B0- 12 38 41 38 46 12 0F 05 07 09 65 32 37 04 68 ED .8A8F.....e27.h.
02C0- 66 43 68 08 0D 01 36 66 C1 36 E8 38 30 EC 05 07 fCh...6f.6.80...
02D0- 09 73 32 00 C3 53 54 41 52 54 04 53 54 4F 50 00 .s2..START.STOP.
02E0- 52 58 46 4C 55 53 48 00 52 58 43 48 45 43 4B 00 RXFLUSH.RXCHECK.
02F0- 52 58 54 49 4D 45 01 52 58 00 54 58 01 53 54 52 RXTIME.RX.TX.STR
0300- 01 57 42 55 46 01 44 45 43 01 48 45 58 02 42 49 .WBUF.DEC.HEX.BI
0310- 4E 02 N.
********************************************
* Full-Duplex Serial Driver v1.2 *
* Author: Chip Gracey, Jeff Martin *
* Copyright (c) 2006-2009 Parallax, Inc. *
* See end of file for terms of use. *
********************************************
Changes, introduced for Zerocat Chipflasher:
* Fix memory access to cog flag, remove initialized data.
* New: PUB wbuf(bufptr) : n
* PUB str(stringptr) -> PUB str(stringptr) : strlength
Object "../../firmware2/src/FullDuplexSerial" Interface:
PUB start(rxpin, txpin, mode, baudrate) :
PUB stop
PUB rxflush
PUB rxcheck :
PUB rxtime(ms) :
PUB rx :
PUB tx(txbyte)
PUB str(stringptr) :
PUB wbuf(bufptr) :
PUB dec(value)
PUB hex(value, digits)
PUB bin(value, digits)
Program: 180 Longs
Variable: 18 Longs
___________________________________________
PUB start(rxpin, txpin, mode, baudrate) :
Start serial driver - starts a cog
returns false if no cog available
mode bit 0 = invert rx
mode bit 1 = invert tx
mode bit 2 = open-drain/source tx
mode bit 3 = ignore tx echo on rx
_________
PUB stop
Stop serial driver - frees a cog
____________
PUB rxflush
Flush receive buffer
_______________
PUB rxcheck :
Check if byte received (never waits)
returns -1 if no byte received, $00..$FF if byte
__________________
PUB rxtime(ms) :
Wait ms milliseconds for a byte to be received
returns -1 if no byte received, $00..$FF if byte
__________
PUB rx :
Receive byte (may wait for byte)
returns $00..$FF
_______________
PUB tx(txbyte)
Send byte (may wait for room in buffer)
______________________
PUB str(stringptr) :
Send string
____________________
PUB wbuf(bufptr) :
Send buffer content, first two bytes (word) specifies length of data queue
_______________
PUB dec(value)
Print a decimal number
_______________________
PUB hex(value, digits)
Print a hexadecimal number
_______________________
PUB bin(value, digits)
Print a binary number
******************************************************************************
TERMS OF USE: MIT License
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
******************************************************************************