Documentation for “Zerocat Chipflasher” as of Wed, 24 Jun 2026 07:28:28 +0200
Repository: git://zerocat.org/zerocat/projects/chipflasher.git
Version: v3.0.0-0-b445ef922
Branch: master

txline.spin.terminal.html

Propeller Spin/PASM Compiler 'OpenSpin' (c)2012-2016 Parallax Inc. DBA Parallax Semiconductor.
Version 1.00.78
Compiling...
txline.spin
|-linespec.spin
Done.
Program size is 1020 bytes

______________________________________________________________________________
********************************************************* File starts here ***
Zerocat Chipflasher --- Flash free firmware, kick the Management Engine.

Copyright (C) 2020, 2021, 2022, 2025, 2026  Kai Mertens 

File txline.spin --- PASM code. Print Motorola S-record or Hex-dump line to buffer.

This file is part of Zerocat Chipflasher.

See end of file for terms of use.

******************************************************************************


# Object Summary

Object "txline" Interface:

PUB  start : 
PUB  print(tline, pdest, psrc, index, startaddr, cut, sinfo) : 
PUB  stop

Program:  251 Longs
Variable: 11 Longs


# Loaded Objects

* linespec


# Included Files


## ./ascii.spin


### Constants

* ASCII Control Characters
* Printable Characters
* Printable, Reserved Characters


# Constants

* ENUM FID_type
* Masks, Sizes for _lineSREC
* Sizes for _lineHEXD
* Shared Masks, Sizes


# Globals

* stack[]
* Cog ID Byte


# Functions

_____________
PUB  start : 

 Launch PASM code in new cog.
 Return FALSE if no cog could be started, otherwise TRUE.

_______________________________________________________________
PUB  print(tline, pdest, psrc, index, startaddr, cut, sinfo) : 

 tline == 0: Print one Motorola-S (binary payload) line into buffer.
 tline == 1: Print one hex-dump (binary payload) line into buffer. Parameter sinfo is ignored.

 Line ending is: CR, LF
 Returns number of bytes that have been written to pdest.


_________
PUB  stop

 Stop cog by ID.


# Data: _txline

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

  _txline

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

  _lineSREC

      Stack Usage:

      stack[0]    job flag, ready flag
      stack[1]    pdest
      stack[2]    psrc
      stack[3]    index
      stack[4]    startaddr
      stack[5]    cut
      stack[6]    sinfo
      stack[7]    result, i.e.: number of bytes written to pdest

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

  _lineHEXD

      Stack Usage:

      stack[0]    start flag, ready flag
      stack[1]    pdest
      stack[2]    psrc
      stack[3]    index
      stack[4]    startaddr
      stack[5]    cut
      stack[6]    --ignored--
      stack[7]    result, i.e.: number of bytes written to pdest

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  clrbuf

      _p      destination pointer, will be incremented
      _x      length of buffer in bytes: _line
      _c      byte value: #" "

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  printhex

      _digits     number of hexadecimal digits
      _value      decimal value to print
      _p          print destination, this pointer will be incremented
      _c          temporary value

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

  Named registers, initialized

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

  Named registers, reserved space, not initialized



******************************************************************************
Terms of Use:

Zerocat Chipflasher is free software: you can redistribute it and/or
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.

Zerocat Chipflasher is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
General Public License for more details.

You should have received a copy of the GNU General Public License along
with Zerocat Chipflasher.  If not, see <http://www.gnu.org/licenses/>.

************************************************************** End of File ***