diff --git a/.reuse/dep5 b/.reuse/dep5 new file mode 100644 index 0000000..f8bf92d --- /dev/null +++ b/.reuse/dep5 @@ -0,0 +1,17 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ + +Files: + .gitignore + bin/sixtypical + eg/rudiments/errorful/*.60p + eg/rudiments/*.60p + eg/*/.gitignore + eg/*/*.png + eg/*/*.prg + eg/*/*.sh + images/* + src/sixtypical/__init__.py + test.sh + tests/appliances/* +Copyright: Chris Pressey, the original author of this work, has dedicated it to the public domain. +License: Unlicense diff --git a/HISTORY.md b/HISTORY.md index 11229b1..46dfdc3 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,6 +1,12 @@ History of SixtyPical ===================== + + 0.21-2023.0309 -------------- diff --git a/LICENSES/LicenseRef-BSD-2-Clause-X-SixtyPical.txt b/LICENSES/LicenseRef-BSD-2-Clause-X-SixtyPical.txt new file mode 100644 index 0000000..310a73a --- /dev/null +++ b/LICENSES/LicenseRef-BSD-2-Clause-X-SixtyPical.txt @@ -0,0 +1,27 @@ +Copyright (c) 2014-2024, Chris Pressey, Cat's Eye Technologies. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notices, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above copyright + notices, this list of conditions, and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. diff --git a/LICENSES/Unlicense.txt b/LICENSES/Unlicense.txt new file mode 100644 index 0000000..cde4ac6 --- /dev/null +++ b/LICENSES/Unlicense.txt @@ -0,0 +1,10 @@ +This is free and unencumbered software released into the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or distribute this software, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means. + +In jurisdictions that recognize copyright laws, the author or authors of this software dedicate any and all copyright interest in the software to the public domain. We make this dedication for the benefit of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of relinquishment in perpetuity of all present and future rights to this software under copyright law. + +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 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. + +For more information, please refer to diff --git a/README.md b/README.md index 607a7f5..84c4561 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,12 @@ SixtyPical ========== + + _Version 0.21_ | _See also:_ [Bubble Escape 2K](https://codeberg.org/catseye/Bubble-Escape#bubble-escape) ∘ [SITU-SOL](https://git.catseye.tc/SITU-SOL/) diff --git a/TODO.md b/TODO.md index 8be7282..e04ec84 100644 --- a/TODO.md +++ b/TODO.md @@ -1,6 +1,12 @@ TODO for SixtyPical =================== + + Language -------- diff --git a/doc/6502 Opcodes.md b/doc/6502 Opcodes.md index 003baa6..d957033 100644 --- a/doc/6502 Opcodes.md +++ b/doc/6502 Opcodes.md @@ -1,6 +1,12 @@ 6502 Opcodes ============ + + As used or unused in SixtyPical. ### ld ### @@ -75,41 +81,41 @@ As used or unused in SixtyPical. ### if ### - if z → BEQ LABEL + if z → BEQ LABEL if not z → BNE LABEL if n → BMI LABEL - if not n → BPL LABEL + if not n → BPL LABEL if c → BCS LABEL - if not c → BCC LABEL + if not c → BCC LABEL if v → BVS LABEL - if not v → BVC LABEL + if not v → BVC LABEL ### 6502 instructions unsupported ### - ASL Shift Left One Bit (Memory or Accumulator) - LSR Shift Right One Bit (Memory or Accumulator) + ASL Shift Left One Bit (Memory or Accumulator) + LSR Shift Right One Bit (Memory or Accumulator) - BIT Test Bits in Memory with Accumulator - BRK Force Break + BIT Test Bits in Memory with Accumulator + BRK Force Break - CLD Clear Decimal Mode - CLI Clear interrupt Disable Bit - CLV Clear Overflow Flag + CLD Clear Decimal Mode + CLI Clear interrupt Disable Bit + CLV Clear Overflow Flag - NOP No Operation + NOP No Operation - JMP Jump to New Location // but may be generated as part of `if` + JMP Jump to New Location // but may be generated as part of `if` - PHA Push Accumulator on Stack - PHP Push Processor Status on Stack - PLA Pull Accumulator from Stack - PLP Pull Processor Status from Stack + PHA Push Accumulator on Stack + PHP Push Processor Status on Stack + PLA Pull Accumulator from Stack + PLP Pull Processor Status from Stack - RTI Return from Interrupt - RTS Return from Subroutine + RTI Return from Interrupt + RTS Return from Subroutine - SED Set Decimal Mode - SEI Set Interrupt Disable Status - - TSX Transfer Stack Pointer to Index X - TXS Transfer Index X to Stack Pointer + SED Set Decimal Mode + SEI Set Interrupt Disable Status + + TSX Transfer Stack Pointer to Index X + TXS Transfer Index X to Stack Pointer diff --git a/doc/Design Goals.md b/doc/Design Goals.md index e8847c6..0982b01 100644 --- a/doc/Design Goals.md +++ b/doc/Design Goals.md @@ -1,6 +1,12 @@ Design Goals for SixtyPical =========================== + + (draft) The intent of SixtyPical is to have a very low-level language that diff --git a/doc/Future directions for SixtyPical.md b/doc/Future directions for SixtyPical.md index 4327bf6..49e312a 100644 --- a/doc/Future directions for SixtyPical.md +++ b/doc/Future directions for SixtyPical.md @@ -1,6 +1,12 @@ Future directions for SixtyPical ================================ + + [SixtyPical](https://codeberg.org/catseye/SixtyPical) has reached a mature stage of development. There are small features that could be added, but they are minor compared to the main features diff --git a/doc/Output Formats.md b/doc/Output Formats.md index d01363d..9ed25b4 100644 --- a/doc/Output Formats.md +++ b/doc/Output Formats.md @@ -1,6 +1,12 @@ Output Formats ============== + + `sixtypical` can generate an output file in a number of formats. ### `raw` diff --git a/doc/SixtyPical.md b/doc/SixtyPical.md index 5608fcd..d10f601 100644 --- a/doc/SixtyPical.md +++ b/doc/SixtyPical.md @@ -1,6 +1,12 @@ SixtyPical ========== + + This document describes the SixtyPical programming language version 0.20, both its static semantics (the capabilities and limits of the static analyses it defines) and its runtime semantics (with reference to the diff --git a/eg/README.md b/eg/README.md index 289839c..9024147 100644 --- a/eg/README.md +++ b/eg/README.md @@ -1,3 +1,9 @@ + + This directory contains SixtyPical example programs, categorized in subdirectories by machine architecture. diff --git a/eg/apple2/README.md b/eg/apple2/README.md index 77bd7d8..9c6b2b4 100644 --- a/eg/apple2/README.md +++ b/eg/apple2/README.md @@ -1,3 +1,9 @@ + + This directory contains SixtyPical example programs specifically for the Apple II series of computers. diff --git a/eg/apple2/lores.60p b/eg/apple2/lores.60p index c68e6dd..ded8534 100644 --- a/eg/apple2/lores.60p +++ b/eg/apple2/lores.60p @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: Chris Pressey, the author of this work, has dedicated it to the public domain. +// For more information, please refer to +// SPDX-License-Identifier: Unlicense + byte ds_graphics @ $C050 byte ds_text @ $C051 byte ds_full @ $C052 diff --git a/eg/apple2/print.60p b/eg/apple2/print.60p index 9dd0b5e..0531373 100644 --- a/eg/apple2/print.60p +++ b/eg/apple2/print.60p @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: Chris Pressey, the author of this work, has dedicated it to the public domain. +// For more information, please refer to +// SPDX-License-Identifier: Unlicense + // Write ">AB>" to "standard output" define cout routine diff --git a/eg/atari2600/atari-2600-example.oph b/eg/atari2600/atari-2600-example.oph index 836a64a..5637fdf 100644 --- a/eg/atari2600/atari-2600-example.oph +++ b/eg/atari2600/atari-2600-example.oph @@ -4,7 +4,9 @@ ; plus an example of reading the joystick. ; By Chris Pressey, November 2, 2012. ; -; This work is in the public domain. See the file UNLICENSE for more info. +; SPDX-FileCopyrightText: Chris Pressey, the author of this work, has dedicated it to the public domain. +; For more information, please refer to +; SPDX-License-Identifier: Unlicense ; ; Based on Chris Cracknell's Atari 2600 clock (also in the public domain): ; http://everything2.com/title/An+example+of+Atari+2600+source+code diff --git a/eg/atari2600/smiley.60p b/eg/atari2600/smiley.60p index eebf314..dba5d49 100644 --- a/eg/atari2600/smiley.60p +++ b/eg/atari2600/smiley.60p @@ -1,6 +1,10 @@ // smiley.60p - SixtyPical translation of smiley.oph (2018), // which is itself a stripped-down version of atari-2600-example.oph +// SPDX-FileCopyrightText: Chris Pressey, the author of this work, has dedicated it to the public domain. +// For more information, please refer to +// SPDX-License-Identifier: Unlicense + byte VSYNC @ $00 byte VBLANK @ $01 byte WSYNC @ $02 diff --git a/eg/atari2600/smiley.oph b/eg/atari2600/smiley.oph index 19d4335..e195ce8 100644 --- a/eg/atari2600/smiley.oph +++ b/eg/atari2600/smiley.oph @@ -2,7 +2,9 @@ ; smiley.oph (2018) ; stripped-down version of atari-2600-example.oph (2012) ; -; This work is in the public domain. See the file UNLICENSE for more info. +; SPDX-FileCopyrightText: Chris Pressey, the author of this work, has dedicated it to the public domain. +; For more information, please refer to +; SPDX-License-Identifier: Unlicense ; ; to build and run in Stella: ; ophis smiley.oph -o smiley.bin diff --git a/eg/c64/README.md b/eg/c64/README.md index b63c514..e3eb4c5 100644 --- a/eg/c64/README.md +++ b/eg/c64/README.md @@ -1,3 +1,9 @@ + + This directory contains SixtyPical example programs specifically for the Commodore 64. diff --git a/eg/c64/demo-game/demo-game.60p b/eg/c64/demo-game/demo-game.60p index 11fcc8d..ee29866 100644 --- a/eg/c64/demo-game/demo-game.60p +++ b/eg/c64/demo-game/demo-game.60p @@ -2,6 +2,10 @@ // * Demo Game for SixtyPical * // **************************** +// Copyright (c) 2014-2024, Chris Pressey, Cat's Eye Technologies. +// This file is distributed under a 2-clause BSD license. See LICENSES/ dir. +// SPDX-License-Identifier: LicenseRef-BSD-2-Clause-X-SixtyPical + include "joystick.60p" // ---------------------------------------------------------------- diff --git a/eg/c64/hearts.60p b/eg/c64/hearts.60p index 3a69adf..9c544f8 100644 --- a/eg/c64/hearts.60p +++ b/eg/c64/hearts.60p @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: Chris Pressey, the author of this work, has dedicated it to the public domain. +// For more information, please refer to +// SPDX-License-Identifier: Unlicense + // Displays 256 hearts at the top of the Commodore 64's screen. // Define where the screen starts in memory: diff --git a/eg/c64/intr1.60p b/eg/c64/intr1.60p index b817d18..4f3bee0 100644 --- a/eg/c64/intr1.60p +++ b/eg/c64/intr1.60p @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: Chris Pressey, the author of this work, has dedicated it to the public domain. +// For more information, please refer to +// SPDX-License-Identifier: Unlicense + byte vic_border @ 53280 // diff --git a/eg/c64/joystick-demo.60p b/eg/c64/joystick-demo.60p index faeb949..713b0a3 100644 --- a/eg/c64/joystick-demo.60p +++ b/eg/c64/joystick-demo.60p @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: Chris Pressey, the author of this work, has dedicated it to the public domain. +// For more information, please refer to +// SPDX-License-Identifier: Unlicense + include "joystick.60p" word screen @ 1024 diff --git a/eg/c64/petulant/readme.txt b/eg/c64/petulant/README.md similarity index 77% rename from eg/c64/petulant/readme.txt rename to eg/c64/petulant/README.md index 6ad011d..f7b909b 100644 --- a/eg/c64/petulant/readme.txt +++ b/eg/c64/petulant/README.md @@ -1,6 +1,12 @@ The PETulant Cursor =================== + + This is a tiny (44 bytes long) machine-language demo for the Commodore 64, somewhat in the style of later "display hacks" for the Amiga -- surprising and silly ways to play with the user interface. @@ -10,8 +16,8 @@ So as not to not spoil the fun, try running it before reading the source. To run it, make the file PETULANT.PRG accessible to your favourite Commodore 64 (or Commodore 64 emulator) in your favourite way, then - LOAD "PETULANT.PRG",8,1 - SYS 679 + LOAD "PETULANT.PRG",8,1 + SYS 679 For further fun, try changing the text colour (hold the C= or CTRL key while pressing a number) or the background colour (POKE 53281 with a number from @@ -27,6 +33,6 @@ makes it much more obvious when control has returned to BASIC immediate mode Enjoy! --Chris Pressey -April 1, 2008 -Chicago, IL +-Chris Pressey +April 1, 2008 +Chicago, IL diff --git a/eg/c64/petulant/petulant.60p b/eg/c64/petulant/petulant.60p index be818e1..18c156c 100644 --- a/eg/c64/petulant/petulant.60p +++ b/eg/c64/petulant/petulant.60p @@ -2,7 +2,10 @@ // Originally written by Chris Pressey sometime in the late 1980's // Rewritten in P65 assembly and released March 2008 // Rewritten in SixtyPical in March 2018 -// This work is part of the public domain. + +// SPDX-FileCopyrightText: Chris Pressey, the author of this work, has dedicated it to the public domain. +// For more information, please refer to +// SPDX-License-Identifier: Unlicense // ----- Types ----- diff --git a/eg/c64/petulant/petulant.p65 b/eg/c64/petulant/petulant.p65 index 6fec4dd..d3b553d 100644 --- a/eg/c64/petulant/petulant.p65 +++ b/eg/c64/petulant/petulant.p65 @@ -1,7 +1,10 @@ ; petulant.p65 - The PETulant Cursor, a "display hack" for the Commodore 64 ; Originally written by Chris Pressey sometime in the late 1980's ; Rewritten in P65 assembly and released March 2008 -; This work is part of the public domain. + +; SPDX-FileCopyrightText: Chris Pressey, the author of this work, has dedicated it to the public domain. +; For more information, please refer to +; SPDX-License-Identifier: Unlicense ; ----- BEGIN petulant.p65 ----- diff --git a/eg/c64/ribos/readme.txt b/eg/c64/ribos/README.md similarity index 86% rename from eg/c64/ribos/readme.txt rename to eg/c64/ribos/README.md index 65af99c..f3f111f 100644 --- a/eg/c64/ribos/readme.txt +++ b/eg/c64/ribos/README.md @@ -1,6 +1,12 @@ Ribos ===== + + This little demo is intended to be a well-commented example of how to program a raster interrupt in 6502 assembly language on a Commodore 64. @@ -18,9 +24,9 @@ How to Run the Demo (using the VICE C64 emulator, x64) 1. Mount this project's directory as drive 8: Make sure - Peripheral settings > Device #8 > Enable IEC Device + `Peripheral settings > Device #8 > Enable IEC Device` is checked, then select - Peripheral settings > Device #8 > File system directory... + `Peripheral settings > Device #8 > File system directory...` and enter the path to the project directory. 2. LOAD "RIBOS.PRG",8,1 @@ -74,6 +80,6 @@ points. What I learned in the process is written into the comments. Happy raster-interrupting! --Chris Pressey -April 10, 2007 -Vancouver, BC +-Chris Pressey +April 10, 2007 +Vancouver, BC diff --git a/eg/c64/ribos/ribos.p65 b/eg/c64/ribos/ribos.p65 index 297aea3..34f9785 100644 --- a/eg/c64/ribos/ribos.p65 +++ b/eg/c64/ribos/ribos.p65 @@ -2,8 +2,10 @@ ; Demonstration of the VIC-II raster interrupt on the Commodore 64: ; Alter the border colour in the middle part of the screen only. ; Original (hardware IRQ vector) version. -; By Chris Pressey, Cat's Eye Technologies. -; This work has been placed in the public domain. + +; SPDX-FileCopyrightText: Chris Pressey, the author of this work, has dedicated it to the public domain. +; For more information, please refer to +; SPDX-License-Identifier: Unlicense ; ----- BEGIN ribos.p65 ----- diff --git a/eg/c64/ribos/ribos2.60p b/eg/c64/ribos/ribos2.60p index 0f8a361..918f93e 100644 --- a/eg/c64/ribos/ribos2.60p +++ b/eg/c64/ribos/ribos2.60p @@ -2,8 +2,10 @@ // Demonstration of the VIC-II raster interrupt on the Commodore 64: // Alter the border colour in the middle part of the screen only, // Simplified (KERNAL IRQ vector) version. -// By Chris Pressey, Cat's Eye Technologies. -// This work has been placed in the public domain. + +// SPDX-FileCopyrightText: Chris Pressey, the author of this work, has dedicated it to the public domain. +// For more information, please refer to +// SPDX-License-Identifier: Unlicense // For comments, see ribos2.p65. diff --git a/eg/c64/ribos/ribos2.p65 b/eg/c64/ribos/ribos2.p65 index c80b2fa..c0f7f66 100644 --- a/eg/c64/ribos/ribos2.p65 +++ b/eg/c64/ribos/ribos2.p65 @@ -2,8 +2,10 @@ ; Demonstration of the VIC-II raster interrupt on the Commodore 64: ; Alter the border colour in the middle part of the screen only, ; Simplified (KERNAL IRQ vector) version. -; By Chris Pressey, Cat's Eye Technologies. -; This work has been placed in the public domain. + +; SPDX-FileCopyrightText: Chris Pressey, the author of this work, has dedicated it to the public domain. +; For more information, please refer to +; SPDX-License-Identifier: Unlicense ; ----- BEGIN ribos2.p65 ----- diff --git a/eg/c64/screen1.60p b/eg/c64/screen1.60p index a855d51..b453cc8 100644 --- a/eg/c64/screen1.60p +++ b/eg/c64/screen1.60p @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: Chris Pressey, the author of this work, has dedicated it to the public domain. +// For more information, please refer to +// SPDX-License-Identifier: Unlicense + byte screen @ 1024 define main routine diff --git a/eg/rudiments/README.md b/eg/rudiments/README.md index 547eb63..71e6b70 100644 --- a/eg/rudiments/README.md +++ b/eg/rudiments/README.md @@ -1,3 +1,9 @@ + + This directory contains example sources which demonstrate the rudiments of SixtyPical. diff --git a/eg/rudiments/errorful/README.md b/eg/rudiments/errorful/README.md index e5b307a..8fd6e87 100644 --- a/eg/rudiments/errorful/README.md +++ b/eg/rudiments/errorful/README.md @@ -1,3 +1,9 @@ + + This directory contains example SixtyPical sources which are intentionally invalid (for demonstration purposes) and are expected to elicit an error message from a diff --git a/eg/vic20/hearts.60p b/eg/vic20/hearts.60p index ffc4369..1107272 100644 --- a/eg/vic20/hearts.60p +++ b/eg/vic20/hearts.60p @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: Chris Pressey, the author of this work, has dedicated it to the public domain. +// For more information, please refer to +// SPDX-License-Identifier: Unlicense + // Displays 256 hearts at the top of the VIC-20's screen. // Define where the screen starts in memory: diff --git a/include/c64/chrout.60p b/include/c64/chrout.60p index 568d8b4..7852e2a 100644 --- a/include/c64/chrout.60p +++ b/include/c64/chrout.60p @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: Chris Pressey, the original author of this work, has dedicated it to the public domain. +// For more information, please refer to +// SPDX-License-Identifier: Unlicense + // Implementation of `chrout` for the Commodore 64 platform. define chrout routine diff --git a/include/c64/joystick.60p b/include/c64/joystick.60p index faf41c1..d25f7ba 100644 --- a/include/c64/joystick.60p +++ b/include/c64/joystick.60p @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: Chris Pressey, the original author of this work, has dedicated it to the public domain. +// For more information, please refer to +// SPDX-License-Identifier: Unlicense + byte joy2 @ $dc00 word delta diff --git a/include/stdlib/prbyte.60p b/include/stdlib/prbyte.60p index 548f030..53e7b6a 100644 --- a/include/stdlib/prbyte.60p +++ b/include/stdlib/prbyte.60p @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: Chris Pressey, the original author of this work, has dedicated it to the public domain. +// For more information, please refer to +// SPDX-License-Identifier: Unlicense + byte table[16] hexchars : "0123456789ABCDEF" define prbyte routine diff --git a/include/vic20/chrout.60p b/include/vic20/chrout.60p index 15476b6..29d3581 100644 --- a/include/vic20/chrout.60p +++ b/include/vic20/chrout.60p @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: Chris Pressey, the original author of this work, has dedicated it to the public domain. +// For more information, please refer to +// SPDX-License-Identifier: Unlicense + // Implementation of `chrout` for the Commodore VIC-20 platform. define chrout routine diff --git a/src/sixtypical/analyzer.py b/src/sixtypical/analyzer.py index 9dcca6f..6f45ffa 100644 --- a/src/sixtypical/analyzer.py +++ b/src/sixtypical/analyzer.py @@ -1,3 +1,7 @@ +# Copyright (c) 2014-2024, Chris Pressey, Cat's Eye Technologies. +# This file is distributed under a 2-clause BSD license. See LICENSES/ dir. +# SPDX-License-Identifier: LicenseRef-BSD-2-Clause-X-SixtyPical + # encoding: UTF-8 from sixtypical.ast import ( diff --git a/src/sixtypical/ast.py b/src/sixtypical/ast.py index bfaf621..79f6e54 100644 --- a/src/sixtypical/ast.py +++ b/src/sixtypical/ast.py @@ -1,3 +1,7 @@ +# Copyright (c) 2014-2024, Chris Pressey, Cat's Eye Technologies. +# This file is distributed under a 2-clause BSD license. See LICENSES/ dir. +# SPDX-License-Identifier: LicenseRef-BSD-2-Clause-X-SixtyPical + # encoding: UTF-8 class AST(object): diff --git a/src/sixtypical/callgraph.py b/src/sixtypical/callgraph.py index 745a17d..0995e3f 100644 --- a/src/sixtypical/callgraph.py +++ b/src/sixtypical/callgraph.py @@ -1,3 +1,7 @@ +# Copyright (c) 2014-2024, Chris Pressey, Cat's Eye Technologies. +# This file is distributed under a 2-clause BSD license. See LICENSES/ dir. +# SPDX-License-Identifier: LicenseRef-BSD-2-Clause-X-SixtyPical + from sixtypical.ast import Program from sixtypical.model import RoutineType, VectorType diff --git a/src/sixtypical/compiler.py b/src/sixtypical/compiler.py index f72da61..c31511a 100644 --- a/src/sixtypical/compiler.py +++ b/src/sixtypical/compiler.py @@ -1,3 +1,7 @@ +# Copyright (c) 2014-2024, Chris Pressey, Cat's Eye Technologies. +# This file is distributed under a 2-clause BSD license. See LICENSES/ dir. +# SPDX-License-Identifier: LicenseRef-BSD-2-Clause-X-SixtyPical + # encoding: UTF-8 from sixtypical.ast import ( diff --git a/src/sixtypical/context.py b/src/sixtypical/context.py index a92c513..ecb42c1 100644 --- a/src/sixtypical/context.py +++ b/src/sixtypical/context.py @@ -1,3 +1,7 @@ +# Copyright (c) 2014-2024, Chris Pressey, Cat's Eye Technologies. +# This file is distributed under a 2-clause BSD license. See LICENSES/ dir. +# SPDX-License-Identifier: LicenseRef-BSD-2-Clause-X-SixtyPical + # encoding: UTF-8 from sixtypical.model import ( diff --git a/src/sixtypical/emitter.py b/src/sixtypical/emitter.py index 1e7672f..49ac612 100644 --- a/src/sixtypical/emitter.py +++ b/src/sixtypical/emitter.py @@ -1,3 +1,7 @@ +# Copyright (c) 2014-2024, Chris Pressey, Cat's Eye Technologies. +# This file is distributed under a 2-clause BSD license. See LICENSES/ dir. +# SPDX-License-Identifier: LicenseRef-BSD-2-Clause-X-SixtyPical + """Binary machine code emitter. Used in SixtyPical to emit 6502 machine code, but not specific to SixtyPical, or 6502. Not even necessarily machine code - though some parts are written around the assumptions of 8-bit architectures.""" diff --git a/src/sixtypical/fallthru.py b/src/sixtypical/fallthru.py index 66d95e2..f8594e0 100644 --- a/src/sixtypical/fallthru.py +++ b/src/sixtypical/fallthru.py @@ -1,3 +1,7 @@ +# Copyright (c) 2014-2024, Chris Pressey, Cat's Eye Technologies. +# This file is distributed under a 2-clause BSD license. See LICENSES/ dir. +# SPDX-License-Identifier: LicenseRef-BSD-2-Clause-X-SixtyPical + # encoding: UTF-8 from copy import copy diff --git a/src/sixtypical/gen6502.py b/src/sixtypical/gen6502.py index d3c14c7..427b954 100644 --- a/src/sixtypical/gen6502.py +++ b/src/sixtypical/gen6502.py @@ -1,3 +1,7 @@ +# Copyright (c) 2014-2024, Chris Pressey, Cat's Eye Technologies. +# This file is distributed under a 2-clause BSD license. See LICENSES/ dir. +# SPDX-License-Identifier: LicenseRef-BSD-2-Clause-X-SixtyPical + """Emittables for 6502 machine code.""" from sixtypical.emitter import Emittable, Byte, Label, Offset, LowAddressByte, HighAddressByte diff --git a/src/sixtypical/model.py b/src/sixtypical/model.py index 716cbca..0ba1a72 100644 --- a/src/sixtypical/model.py +++ b/src/sixtypical/model.py @@ -1,3 +1,7 @@ +# Copyright (c) 2014-2024, Chris Pressey, Cat's Eye Technologies. +# This file is distributed under a 2-clause BSD license. See LICENSES/ dir. +# SPDX-License-Identifier: LicenseRef-BSD-2-Clause-X-SixtyPical + """Data/storage model for SixtyPical.""" from collections import namedtuple diff --git a/src/sixtypical/outputter.py b/src/sixtypical/outputter.py index b3828ef..fff5015 100644 --- a/src/sixtypical/outputter.py +++ b/src/sixtypical/outputter.py @@ -1,3 +1,7 @@ +# Copyright (c) 2014-2024, Chris Pressey, Cat's Eye Technologies. +# This file is distributed under a 2-clause BSD license. See LICENSES/ dir. +# SPDX-License-Identifier: LicenseRef-BSD-2-Clause-X-SixtyPical + """Executable file writer.""" from sixtypical.emitter import Emitter, Byte, Word diff --git a/src/sixtypical/parser.py b/src/sixtypical/parser.py index 15c39b4..14dd80c 100644 --- a/src/sixtypical/parser.py +++ b/src/sixtypical/parser.py @@ -1,3 +1,7 @@ +# Copyright (c) 2014-2024, Chris Pressey, Cat's Eye Technologies. +# This file is distributed under a 2-clause BSD license. See LICENSES/ dir. +# SPDX-License-Identifier: LicenseRef-BSD-2-Clause-X-SixtyPical + # encoding: UTF-8 from sixtypical.ast import ( diff --git a/src/sixtypical/scanner.py b/src/sixtypical/scanner.py index 40dfcfe..dd81e6c 100644 --- a/src/sixtypical/scanner.py +++ b/src/sixtypical/scanner.py @@ -1,3 +1,7 @@ +# Copyright (c) 2014-2024, Chris Pressey, Cat's Eye Technologies. +# This file is distributed under a 2-clause BSD license. See LICENSES/ dir. +# SPDX-License-Identifier: LicenseRef-BSD-2-Clause-X-SixtyPical + # encoding: UTF-8 import re diff --git a/src/sixtypical/symtab.py b/src/sixtypical/symtab.py index 99dacec..d1269e4 100644 --- a/src/sixtypical/symtab.py +++ b/src/sixtypical/symtab.py @@ -1,3 +1,7 @@ +# Copyright (c) 2014-2024, Chris Pressey, Cat's Eye Technologies. +# This file is distributed under a 2-clause BSD license. See LICENSES/ dir. +# SPDX-License-Identifier: LicenseRef-BSD-2-Clause-X-SixtyPical + # encoding: UTF-8 from sixtypical.model import ( diff --git a/tests/SixtyPical Analysis.md b/tests/SixtyPical Analysis.md index ffa89a8..4a389c2 100644 --- a/tests/SixtyPical Analysis.md +++ b/tests/SixtyPical Analysis.md @@ -1,6 +1,12 @@ SixtyPical Analysis =================== + + This is a test suite, written in [Falderal][] format, for the SixtyPical static analysis rules. diff --git a/tests/SixtyPical Callgraph.md b/tests/SixtyPical Callgraph.md index 6aa91b9..efe5e74 100644 --- a/tests/SixtyPical Callgraph.md +++ b/tests/SixtyPical Callgraph.md @@ -1,6 +1,12 @@ SixtyPical Callgraph ==================== + + This is a test suite, written in [Falderal][] format, for the ability of a SixtyPical analyzer to construct a callgraph of which routines call which other routines, and its ability to discover which routines will never be diff --git a/tests/SixtyPical Compilation.md b/tests/SixtyPical Compilation.md index cac6d9c..075d439 100644 --- a/tests/SixtyPical Compilation.md +++ b/tests/SixtyPical Compilation.md @@ -1,6 +1,12 @@ SixtyPical Compilation ====================== + + This is a test suite, written in [Falderal][] format, for compiling SixtyPical to 6502 machine code. diff --git a/tests/SixtyPical Control Flow.md b/tests/SixtyPical Control Flow.md index 5572529..2987938 100644 --- a/tests/SixtyPical Control Flow.md +++ b/tests/SixtyPical Control Flow.md @@ -1,6 +1,12 @@ SixtyPical Analysis - Control Flow ================================== + + This is a test suite, written in [Falderal][] format, for the SixtyPical static analysis rules, with regard to flow of control. diff --git a/tests/SixtyPical Fallthru.md b/tests/SixtyPical Fallthru.md index 22c5376..62f9409 100644 --- a/tests/SixtyPical Fallthru.md +++ b/tests/SixtyPical Fallthru.md @@ -1,6 +1,12 @@ SixtyPical Fallthru =================== + + This is a test suite, written in [Falderal][] format, for SixtyPical's ability to detect which routines make tail calls to other routines, and thus can be re-arranged to simply "fall through" to them. diff --git a/tests/SixtyPical Storage.md b/tests/SixtyPical Storage.md index 5222fc8..0687b79 100644 --- a/tests/SixtyPical Storage.md +++ b/tests/SixtyPical Storage.md @@ -1,6 +1,12 @@ SixtyPical Analysis - Storage ============================= + + This is a test suite, written in [Falderal][] format, for the SixtyPical static analysis rules, with regard to storage (load, store, tables, etc.) diff --git a/tests/SixtyPical Syntax.md b/tests/SixtyPical Syntax.md index f164a73..4575983 100644 --- a/tests/SixtyPical Syntax.md +++ b/tests/SixtyPical Syntax.md @@ -1,6 +1,12 @@ SixtyPical Syntax ================= + + This is a test suite, written in [Falderal][] format, for the syntax of the Sixtypical language, disgregarding execution, static analysis, etc.