Arrange license info in repo to follow REUSE 3.0 convention.

This commit is contained in:
Chris Pressey 2024-02-02 12:10:23 +00:00
parent 5ecc4e6f56
commit 5f8802b305
58 changed files with 350 additions and 44 deletions

17
.reuse/dep5 Normal file
View File

@ -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

View File

@ -1,6 +1,12 @@
History of SixtyPical History of 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
-->
0.21-2023.0309 0.21-2023.0309
-------------- --------------

View File

@ -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.

10
LICENSES/Unlicense.txt Normal file
View File

@ -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 <http://unlicense.org/>

View File

@ -1,6 +1,12 @@
SixtyPical 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
-->
_Version 0.21_ _Version 0.21_
| _See also:_ [Bubble Escape 2K](https://codeberg.org/catseye/Bubble-Escape#bubble-escape) | _See also:_ [Bubble Escape 2K](https://codeberg.org/catseye/Bubble-Escape#bubble-escape)
∘ [SITU-SOL](https://git.catseye.tc/SITU-SOL/) ∘ [SITU-SOL](https://git.catseye.tc/SITU-SOL/)

View File

@ -1,6 +1,12 @@
TODO for SixtyPical TODO 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
-->
Language Language
-------- --------

View File

@ -1,6 +1,12 @@
6502 Opcodes 6502 Opcodes
============ ============
<!--
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
-->
As used or unused in SixtyPical. As used or unused in SixtyPical.
### ld ### ### ld ###
@ -75,41 +81,41 @@ As used or unused in SixtyPical.
### if ### ### if ###
if z → BEQ LABEL if z → BEQ LABEL
if not z → BNE LABEL if not z → BNE LABEL
if n → BMI LABEL if n → BMI LABEL
if not n → BPL LABEL if not n → BPL LABEL
if c → BCS LABEL if c → BCS LABEL
if not c → BCC LABEL if not c → BCC LABEL
if v → BVS LABEL if v → BVS LABEL
if not v → BVC LABEL if not v → BVC LABEL
### 6502 instructions unsupported ### ### 6502 instructions unsupported ###
ASL Shift Left One Bit (Memory or Accumulator) ASL Shift Left One Bit (Memory or Accumulator)
LSR Shift Right One Bit (Memory or Accumulator) LSR Shift Right One Bit (Memory or Accumulator)
BIT Test Bits in Memory with Accumulator BIT Test Bits in Memory with Accumulator
BRK Force Break BRK Force Break
CLD Clear Decimal Mode CLD Clear Decimal Mode
CLI Clear interrupt Disable Bit CLI Clear interrupt Disable Bit
CLV Clear Overflow Flag 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 PHA Push Accumulator on Stack
PHP Push Processor Status on Stack PHP Push Processor Status on Stack
PLA Pull Accumulator from Stack PLA Pull Accumulator from Stack
PLP Pull Processor Status from Stack PLP Pull Processor Status from Stack
RTI Return from Interrupt RTI Return from Interrupt
RTS Return from Subroutine RTS Return from Subroutine
SED Set Decimal Mode SED Set Decimal Mode
SEI Set Interrupt Disable Status SEI Set Interrupt Disable Status
TSX Transfer Stack Pointer to Index X TSX Transfer Stack Pointer to Index X
TXS Transfer Index X to Stack Pointer TXS Transfer Index X to Stack Pointer

View File

@ -1,6 +1,12 @@
Design Goals for SixtyPical Design Goals 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
-->
(draft) (draft)
The intent of SixtyPical is to have a very low-level language that The intent of SixtyPical is to have a very low-level language that

View File

@ -1,6 +1,12 @@
Future directions for SixtyPical Future directions 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
-->
[SixtyPical](https://codeberg.org/catseye/SixtyPical) has reached a mature [SixtyPical](https://codeberg.org/catseye/SixtyPical) has reached a mature
stage of development. There are small features that could be added, but stage of development. There are small features that could be added, but
they are minor compared to the main features they are minor compared to the main features

View File

@ -1,6 +1,12 @@
Output Formats Output Formats
============== ==============
<!--
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
-->
`sixtypical` can generate an output file in a number of formats. `sixtypical` can generate an output file in a number of formats.
### `raw` ### `raw`

View File

@ -1,6 +1,12 @@
SixtyPical 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
-->
This document describes the SixtyPical programming language version 0.20, This document describes the SixtyPical programming language version 0.20,
both its static semantics (the capabilities and limits of the static both its static semantics (the capabilities and limits of the static
analyses it defines) and its runtime semantics (with reference to the analyses it defines) and its runtime semantics (with reference to the

View File

@ -1,3 +1,9 @@
<!--
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
-->
This directory contains SixtyPical example programs, categorized This directory contains SixtyPical example programs, categorized
in subdirectories by machine architecture. in subdirectories by machine architecture.

View File

@ -1,3 +1,9 @@
<!--
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
-->
This directory contains SixtyPical example programs This directory contains SixtyPical example programs
specifically for the Apple II series of computers. specifically for the Apple II series of computers.

View File

@ -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 <https://unlicense.org/>
// SPDX-License-Identifier: Unlicense
byte ds_graphics @ $C050 byte ds_graphics @ $C050
byte ds_text @ $C051 byte ds_text @ $C051
byte ds_full @ $C052 byte ds_full @ $C052

View File

@ -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 <https://unlicense.org/>
// SPDX-License-Identifier: Unlicense
// Write ">AB>" to "standard output" // Write ">AB>" to "standard output"
define cout routine define cout routine

View File

@ -4,7 +4,9 @@
; plus an example of reading the joystick. ; plus an example of reading the joystick.
; By Chris Pressey, November 2, 2012. ; 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 <https://unlicense.org/>
; SPDX-License-Identifier: Unlicense
; ;
; Based on Chris Cracknell's Atari 2600 clock (also in the public domain): ; Based on Chris Cracknell's Atari 2600 clock (also in the public domain):
; http://everything2.com/title/An+example+of+Atari+2600+source+code ; http://everything2.com/title/An+example+of+Atari+2600+source+code

View File

@ -1,6 +1,10 @@
// smiley.60p - SixtyPical translation of smiley.oph (2018), // smiley.60p - SixtyPical translation of smiley.oph (2018),
// which is itself a stripped-down version of atari-2600-example.oph // 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 <https://unlicense.org/>
// SPDX-License-Identifier: Unlicense
byte VSYNC @ $00 byte VSYNC @ $00
byte VBLANK @ $01 byte VBLANK @ $01
byte WSYNC @ $02 byte WSYNC @ $02

View File

@ -2,7 +2,9 @@
; smiley.oph (2018) ; smiley.oph (2018)
; stripped-down version of atari-2600-example.oph (2012) ; 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 <https://unlicense.org/>
; SPDX-License-Identifier: Unlicense
; ;
; to build and run in Stella: ; to build and run in Stella:
; ophis smiley.oph -o smiley.bin ; ophis smiley.oph -o smiley.bin

View File

@ -1,3 +1,9 @@
<!--
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
-->
This directory contains SixtyPical example programs This directory contains SixtyPical example programs
specifically for the Commodore 64. specifically for the Commodore 64.

View File

@ -2,6 +2,10 @@
// * Demo Game for SixtyPical * // * 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" include "joystick.60p"
// ---------------------------------------------------------------- // ----------------------------------------------------------------

View File

@ -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 <https://unlicense.org/>
// SPDX-License-Identifier: Unlicense
// Displays 256 hearts at the top of the Commodore 64's screen. // Displays 256 hearts at the top of the Commodore 64's screen.
// Define where the screen starts in memory: // Define where the screen starts in memory:

View File

@ -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 <https://unlicense.org/>
// SPDX-License-Identifier: Unlicense
byte vic_border @ 53280 byte vic_border @ 53280
// //

View File

@ -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 <https://unlicense.org/>
// SPDX-License-Identifier: Unlicense
include "joystick.60p" include "joystick.60p"
word screen @ 1024 word screen @ 1024

View File

@ -1,6 +1,12 @@
The PETulant Cursor The PETulant Cursor
=================== ===================
<!--
SPDX-FileCopyrightText: Chris Pressey, the author of this work, has dedicated it to the public domain.
For more information, please refer to <https://unlicense.org/>
SPDX-License-Identifier: Unlicense
-->
This is a tiny (44 bytes long) machine-language demo for the Commodore 64, 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 somewhat in the style of later "display hacks" for the Amiga -- surprising
and silly ways to play with the user interface. 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 To run it, make the file PETULANT.PRG accessible to your favourite Commodore
64 (or Commodore 64 emulator) in your favourite way, then 64 (or Commodore 64 emulator) in your favourite way, then
LOAD "PETULANT.PRG",8,1 LOAD "PETULANT.PRG",8,1
SYS 679 SYS 679
For further fun, try changing the text colour (hold the C= or CTRL key while 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 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! Enjoy!
-Chris Pressey -Chris Pressey
April 1, 2008 April 1, 2008
Chicago, IL Chicago, IL

View File

@ -2,7 +2,10 @@
// Originally written by Chris Pressey sometime in the late 1980's // Originally written by Chris Pressey sometime in the late 1980's
// Rewritten in P65 assembly and released March 2008 // Rewritten in P65 assembly and released March 2008
// Rewritten in SixtyPical in March 2018 // 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 <https://unlicense.org/>
// SPDX-License-Identifier: Unlicense
// ----- Types ----- // ----- Types -----

View File

@ -1,7 +1,10 @@
; petulant.p65 - The PETulant Cursor, a "display hack" for the Commodore 64 ; petulant.p65 - The PETulant Cursor, a "display hack" for the Commodore 64
; Originally written by Chris Pressey sometime in the late 1980's ; Originally written by Chris Pressey sometime in the late 1980's
; Rewritten in P65 assembly and released March 2008 ; 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 <https://unlicense.org/>
; SPDX-License-Identifier: Unlicense
; ----- BEGIN petulant.p65 ----- ; ----- BEGIN petulant.p65 -----

View File

@ -1,6 +1,12 @@
Ribos Ribos
===== =====
<!--
SPDX-FileCopyrightText: Chris Pressey, the author of this work, has dedicated it to the public domain.
For more information, please refer to <https://unlicense.org/>
SPDX-License-Identifier: Unlicense
-->
This little demo is intended to be a well-commented example of how to 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. 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: 1. Mount this project's directory as drive 8:
Make sure Make sure
Peripheral settings > Device #8 > Enable IEC Device `Peripheral settings > Device #8 > Enable IEC Device`
is checked, then select 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. and enter the path to the project directory.
2. LOAD "RIBOS.PRG",8,1 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! Happy raster-interrupting!
-Chris Pressey -Chris Pressey
April 10, 2007 April 10, 2007
Vancouver, BC Vancouver, BC

View File

@ -2,8 +2,10 @@
; Demonstration of the VIC-II raster interrupt on the Commodore 64: ; Demonstration of the VIC-II raster interrupt on the Commodore 64:
; Alter the border colour in the middle part of the screen only. ; Alter the border colour in the middle part of the screen only.
; Original (hardware IRQ vector) version. ; 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 <https://unlicense.org/>
; SPDX-License-Identifier: Unlicense
; ----- BEGIN ribos.p65 ----- ; ----- BEGIN ribos.p65 -----

View File

@ -2,8 +2,10 @@
// Demonstration of the VIC-II raster interrupt on the Commodore 64: // Demonstration of the VIC-II raster interrupt on the Commodore 64:
// Alter the border colour in the middle part of the screen only, // Alter the border colour in the middle part of the screen only,
// Simplified (KERNAL IRQ vector) version. // 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 <https://unlicense.org/>
// SPDX-License-Identifier: Unlicense
// For comments, see ribos2.p65. // For comments, see ribos2.p65.

View File

@ -2,8 +2,10 @@
; Demonstration of the VIC-II raster interrupt on the Commodore 64: ; Demonstration of the VIC-II raster interrupt on the Commodore 64:
; Alter the border colour in the middle part of the screen only, ; Alter the border colour in the middle part of the screen only,
; Simplified (KERNAL IRQ vector) version. ; 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 <https://unlicense.org/>
; SPDX-License-Identifier: Unlicense
; ----- BEGIN ribos2.p65 ----- ; ----- BEGIN ribos2.p65 -----

View File

@ -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 <https://unlicense.org/>
// SPDX-License-Identifier: Unlicense
byte screen @ 1024 byte screen @ 1024
define main routine define main routine

View File

@ -1,3 +1,9 @@
<!--
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
-->
This directory contains example sources which demonstrate This directory contains example sources which demonstrate
the rudiments of SixtyPical. the rudiments of SixtyPical.

View File

@ -1,3 +1,9 @@
<!--
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
-->
This directory contains example SixtyPical sources which This directory contains example SixtyPical sources which
are intentionally invalid (for demonstration purposes) are intentionally invalid (for demonstration purposes)
and are expected to elicit an error message from a and are expected to elicit an error message from a

View File

@ -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 <https://unlicense.org/>
// SPDX-License-Identifier: Unlicense
// Displays 256 hearts at the top of the VIC-20's screen. // Displays 256 hearts at the top of the VIC-20's screen.
// Define where the screen starts in memory: // Define where the screen starts in memory:

View File

@ -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 <https://unlicense.org/>
// SPDX-License-Identifier: Unlicense
// Implementation of `chrout` for the Commodore 64 platform. // Implementation of `chrout` for the Commodore 64 platform.
define chrout routine define chrout routine

View File

@ -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 <https://unlicense.org/>
// SPDX-License-Identifier: Unlicense
byte joy2 @ $dc00 byte joy2 @ $dc00
word delta word delta

View File

@ -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 <https://unlicense.org/>
// SPDX-License-Identifier: Unlicense
byte table[16] hexchars : "0123456789ABCDEF" byte table[16] hexchars : "0123456789ABCDEF"
define prbyte routine define prbyte routine

View File

@ -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 <https://unlicense.org/>
// SPDX-License-Identifier: Unlicense
// Implementation of `chrout` for the Commodore VIC-20 platform. // Implementation of `chrout` for the Commodore VIC-20 platform.
define chrout routine define chrout routine

View File

@ -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 # encoding: UTF-8
from sixtypical.ast import ( from sixtypical.ast import (

View File

@ -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 # encoding: UTF-8
class AST(object): class AST(object):

View File

@ -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.ast import Program
from sixtypical.model import RoutineType, VectorType from sixtypical.model import RoutineType, VectorType

View File

@ -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 # encoding: UTF-8
from sixtypical.ast import ( from sixtypical.ast import (

View File

@ -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 # encoding: UTF-8
from sixtypical.model import ( from sixtypical.model import (

View File

@ -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, """Binary machine code emitter. Used in SixtyPical to emit 6502 machine code,
but not specific to SixtyPical, or 6502. Not even necessarily 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.""" though some parts are written around the assumptions of 8-bit architectures."""

View File

@ -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 # encoding: UTF-8
from copy import copy from copy import copy

View File

@ -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.""" """Emittables for 6502 machine code."""
from sixtypical.emitter import Emittable, Byte, Label, Offset, LowAddressByte, HighAddressByte from sixtypical.emitter import Emittable, Byte, Label, Offset, LowAddressByte, HighAddressByte

View File

@ -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.""" """Data/storage model for SixtyPical."""
from collections import namedtuple from collections import namedtuple

View File

@ -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.""" """Executable file writer."""
from sixtypical.emitter import Emitter, Byte, Word from sixtypical.emitter import Emitter, Byte, Word

View File

@ -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 # encoding: UTF-8
from sixtypical.ast import ( from sixtypical.ast import (

View File

@ -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 # encoding: UTF-8
import re import re

View File

@ -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 # encoding: UTF-8
from sixtypical.model import ( from sixtypical.model import (

View File

@ -1,6 +1,12 @@
SixtyPical Analysis SixtyPical Analysis
=================== ===================
<!--
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
-->
This is a test suite, written in [Falderal][] format, for the SixtyPical This is a test suite, written in [Falderal][] format, for the SixtyPical
static analysis rules. static analysis rules.

View File

@ -1,6 +1,12 @@
SixtyPical Callgraph SixtyPical Callgraph
==================== ====================
<!--
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
-->
This is a test suite, written in [Falderal][] format, for the ability of 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 a SixtyPical analyzer to construct a callgraph of which routines call which
other routines, and its ability to discover which routines will never be other routines, and its ability to discover which routines will never be

View File

@ -1,6 +1,12 @@
SixtyPical Compilation SixtyPical Compilation
====================== ======================
<!--
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
-->
This is a test suite, written in [Falderal][] format, for compiling This is a test suite, written in [Falderal][] format, for compiling
SixtyPical to 6502 machine code. SixtyPical to 6502 machine code.

View File

@ -1,6 +1,12 @@
SixtyPical Analysis - Control Flow SixtyPical Analysis - Control Flow
================================== ==================================
<!--
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
-->
This is a test suite, written in [Falderal][] format, for the SixtyPical This is a test suite, written in [Falderal][] format, for the SixtyPical
static analysis rules, with regard to flow of control. static analysis rules, with regard to flow of control.

View File

@ -1,6 +1,12 @@
SixtyPical Fallthru SixtyPical Fallthru
=================== ===================
<!--
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
-->
This is a test suite, written in [Falderal][] format, for SixtyPical's This is a test suite, written in [Falderal][] format, for SixtyPical's
ability to detect which routines make tail calls to other routines, ability to detect which routines make tail calls to other routines,
and thus can be re-arranged to simply "fall through" to them. and thus can be re-arranged to simply "fall through" to them.

View File

@ -1,6 +1,12 @@
SixtyPical Analysis - Storage SixtyPical Analysis - Storage
============================= =============================
<!--
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
-->
This is a test suite, written in [Falderal][] format, for the SixtyPical This is a test suite, written in [Falderal][] format, for the SixtyPical
static analysis rules, with regard to storage (load, store, tables, etc.) static analysis rules, with regard to storage (load, store, tables, etc.)

View File

@ -1,6 +1,12 @@
SixtyPical Syntax SixtyPical Syntax
================= =================
<!--
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
-->
This is a test suite, written in [Falderal][] format, for the syntax of This is a test suite, written in [Falderal][] format, for the syntax of
the Sixtypical language, disgregarding execution, static analysis, etc. the Sixtypical language, disgregarding execution, static analysis, etc.