mirror of
https://github.com/catseye/SixtyPical.git
synced 2025-04-07 23:37:23 +00:00
Arrange license info in repo to follow REUSE 3.0 convention.
This commit is contained in:
parent
5ecc4e6f56
commit
5f8802b305
17
.reuse/dep5
Normal file
17
.reuse/dep5
Normal 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
|
@ -1,6 +1,12 @@
|
||||
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
|
||||
--------------
|
||||
|
||||
|
27
LICENSES/LicenseRef-BSD-2-Clause-X-SixtyPical.txt
Normal file
27
LICENSES/LicenseRef-BSD-2-Clause-X-SixtyPical.txt
Normal 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
10
LICENSES/Unlicense.txt
Normal 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/>
|
@ -1,6 +1,12 @@
|
||||
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_
|
||||
| _See also:_ [Bubble Escape 2K](https://codeberg.org/catseye/Bubble-Escape#bubble-escape)
|
||||
∘ [SITU-SOL](https://git.catseye.tc/SITU-SOL/)
|
||||
|
6
TODO.md
6
TODO.md
@ -1,6 +1,12 @@
|
||||
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
|
||||
--------
|
||||
|
||||
|
@ -1,6 +1,12 @@
|
||||
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.
|
||||
|
||||
### 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
|
||||
|
@ -1,6 +1,12 @@
|
||||
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)
|
||||
|
||||
The intent of SixtyPical is to have a very low-level language that
|
||||
|
@ -1,6 +1,12 @@
|
||||
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
|
||||
stage of development. There are small features that could be added, but
|
||||
they are minor compared to the main features
|
||||
|
@ -1,6 +1,12 @@
|
||||
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.
|
||||
|
||||
### `raw`
|
||||
|
@ -1,6 +1,12 @@
|
||||
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,
|
||||
both its static semantics (the capabilities and limits of the static
|
||||
analyses it defines) and its runtime semantics (with reference to the
|
||||
|
@ -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
|
||||
in subdirectories by machine architecture.
|
||||
|
||||
|
@ -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
|
||||
specifically for the Apple II series of computers.
|
||||
|
||||
|
@ -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_text @ $C051
|
||||
byte ds_full @ $C052
|
||||
|
@ -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"
|
||||
|
||||
define cout routine
|
||||
|
@ -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 <https://unlicense.org/>
|
||||
; 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
|
||||
|
@ -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 <https://unlicense.org/>
|
||||
// SPDX-License-Identifier: Unlicense
|
||||
|
||||
byte VSYNC @ $00
|
||||
byte VBLANK @ $01
|
||||
byte WSYNC @ $02
|
||||
|
@ -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 <https://unlicense.org/>
|
||||
; SPDX-License-Identifier: Unlicense
|
||||
;
|
||||
; to build and run in Stella:
|
||||
; ophis smiley.oph -o smiley.bin
|
||||
|
@ -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
|
||||
specifically for the Commodore 64.
|
||||
|
||||
|
@ -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"
|
||||
|
||||
// ----------------------------------------------------------------
|
||||
|
@ -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.
|
||||
|
||||
// Define where the screen starts in memory:
|
||||
|
@ -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
|
||||
|
||||
//
|
||||
|
@ -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"
|
||||
|
||||
word screen @ 1024
|
||||
|
@ -1,6 +1,12 @@
|
||||
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,
|
||||
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
|
@ -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 <https://unlicense.org/>
|
||||
// SPDX-License-Identifier: Unlicense
|
||||
|
||||
// ----- Types -----
|
||||
|
||||
|
@ -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 <https://unlicense.org/>
|
||||
; SPDX-License-Identifier: Unlicense
|
||||
|
||||
; ----- BEGIN petulant.p65 -----
|
||||
|
||||
|
@ -1,6 +1,12 @@
|
||||
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
|
||||
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
|
@ -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 <https://unlicense.org/>
|
||||
; SPDX-License-Identifier: Unlicense
|
||||
|
||||
; ----- BEGIN 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,
|
||||
// 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.
|
||||
|
||||
|
@ -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 <https://unlicense.org/>
|
||||
; SPDX-License-Identifier: Unlicense
|
||||
|
||||
; ----- BEGIN ribos2.p65 -----
|
||||
|
||||
|
@ -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
|
||||
|
||||
define main routine
|
||||
|
@ -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
|
||||
the rudiments of SixtyPical.
|
||||
|
||||
|
@ -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
|
||||
are intentionally invalid (for demonstration purposes)
|
||||
and are expected to elicit an error message from a
|
||||
|
@ -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.
|
||||
|
||||
// Define where the screen starts in memory:
|
||||
|
@ -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.
|
||||
|
||||
define chrout routine
|
||||
|
@ -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
|
||||
|
||||
word delta
|
||||
|
@ -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"
|
||||
|
||||
define prbyte routine
|
||||
|
@ -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.
|
||||
|
||||
define chrout routine
|
||||
|
@ -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 (
|
||||
|
@ -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):
|
||||
|
@ -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
|
||||
|
||||
|
@ -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 (
|
||||
|
@ -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 (
|
||||
|
@ -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."""
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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 (
|
||||
|
@ -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
|
||||
|
@ -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 (
|
||||
|
@ -1,6 +1,12 @@
|
||||
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
|
||||
static analysis rules.
|
||||
|
||||
|
@ -1,6 +1,12 @@
|
||||
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
|
||||
a SixtyPical analyzer to construct a callgraph of which routines call which
|
||||
other routines, and its ability to discover which routines will never be
|
||||
|
@ -1,6 +1,12 @@
|
||||
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
|
||||
SixtyPical to 6502 machine code.
|
||||
|
||||
|
@ -1,6 +1,12 @@
|
||||
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
|
||||
static analysis rules, with regard to flow of control.
|
||||
|
||||
|
@ -1,6 +1,12 @@
|
||||
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
|
||||
ability to detect which routines make tail calls to other routines,
|
||||
and thus can be re-arranged to simply "fall through" to them.
|
||||
|
@ -1,6 +1,12 @@
|
||||
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
|
||||
static analysis rules, with regard to storage (load, store, tables, etc.)
|
||||
|
||||
|
@ -1,6 +1,12 @@
|
||||
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
|
||||
the Sixtypical language, disgregarding execution, static analysis, etc.
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user