Skip to content

DNSGeek/PETProject-OpenSource

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PETProject v0.1 — A C64-native BASIC and 6502 assembly IDE
===========================================================

Download the IDE from https://gopherbrokesoftware.com/petproject

PETProject is an integrated development environment that runs directly on
a stock Commodore 64 with a 1541 disk drive.  No special hardware is
required (REU optional, used only for the BASIC scripting subsystem).

FEATURES
  - Full-screen PETSCII editor with gap-buffer storage
  - Syntax highlighting for BASIC 2.0
  - Load / save plain text and tokenized BASIC files
  - F8 module picker: Assemble, Disassemble, Renumber, Disk Utility
  - Inline 6502 two-pass assembler (MODASM)
  - 6502 disassembler (MODDIS)
  - BASIC line renumber (MODREN)
  - Disk utility — directory browser, delete, rename, format (MODDSK)
  - Search and replace (MODSFR, CTRL+F)
  - BASIC scripting engine with extended keywords (MODSCT/MODSCR/MODSCRH)
    (requires REU for script tokenization and IDE snapshot)

BUILDING
  Requirements: ca65 and ld65 (cc65 toolchain)

  1. Build the editor and all modules:
       bash make_petproject.sh
     or, to build modules only:
       bash build_modules.sh

  2. Create the .d64 disk image:
       python3 make_disk.py --build-dir build --name petproject --id pp petproject.d64

  See make_petproject.sh for the full ca65/ld65 invocations.

SOURCE LAYOUT
  editor.asm      Main editor (entry point, main loop, rendering, input)
  colorize.asm    Syntax colorizer (included by editor.asm)
  loadsave.asm    File I/O (included by editor.asm)
  modules.asm     Module loader framework (included by editor.asm)
  petproject.cfg  Linker config for the editor PRG

  modasm.asm      Assembler module (loads at $A000)
  moddis.asm      Disassembler module (loads at $A000)
  modren.asm      Renumber module (loads at $C000)
  moddsk.asm      Disk utility module (loads at $C000)
  modsfr.asm      Search/replace module (loads at $C000)
  moddet.asm      Detokenizer module — hidden, called on BASIC file load
  modtok.asm      Tokenizer module — hidden, called on BASIC file save
  modsct.asm      Script tokenizer — hidden, called by Run Script
  modscr.asm      Script runner stub (loads at $A000)
  modscrh.asm     Script handler (loads at $C000, stays resident during script)
  module.cfg      Default linker config for $C000 modules
  modasm.cfg      Linker config for $A000 modules (modasm, moddis, modscr)
  moddis.cfg      Linker config for moddis (same start, smaller CODE region)
  modsfr.cfg      Linker config for modsfr (extended, includes BSS)
  modscr.cfg      Linker config alias for modscr
  modsct.cfg      Linker config alias for modsct

  make_disk.py    Python script to create the .d64 disk image
  make_petproject.sh  Full build script (edit paths before use)
  build_modules.sh    Build all modules only

USAGE
  Boot from the .d64 image in VICE or on real hardware:
    LOAD"*",8   (or use the autostart feature of your emulator)

  Editor keys:
    F1            Settings (colors, drive number)
    F2            Page Up
    F3            Load file
    F4            Page Down
    F5            Save file
    F6            Load SEQ (text / source code) file
    F7            Quit to BASIC
    F8            Module picker (Assemble / Disassemble / Renumber / Disk Utility / Run Script)
    CTRL+F        Search and replace
    CTRL+R        Run script (shortcut for F8 > Run Script)
    CTRL+N        New file (clear buffer)
    CTRL+L        Force full screen redraw
    Cursor keys   Navigate
    INST/DEL      Delete character left of cursor

LICENSE
  MIT License — see LICENSE.txt

CREDITS
  PETProject was designed and built by Thomas Knox / Gopher Broke Software.

About

The open source repo for PETProject, the C64 IDE.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors