Skip to content

Commit 3857c4b

Browse files
Add .agents/rules
1 parent 5103bdf commit 3857c4b

1 file changed

Lines changed: 24 additions & 0 deletions

File tree

.agents/rules/project.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# VC83 BASIC
2+
3+
## About the project
4+
5+
VC83 BASIC is a BASIC interpreter written in 6502 assembly language and targeting classic 8-bit
6+
microcomputers such as the Apple II as well as newly-designed retrocomputers.
7+
8+
## Coding
9+
10+
When working on this project,
11+
keep in mind the very limited space available: the core interpreter needs to fit into just 8K, with
12+
platform-specific extensions the total size can go up to 10K, 12K, or 16K, depending on the platform.
13+
The specific version that must fit into 8K is the apple2 (not apple2_lc) binary. The code size limitation
14+
means that we may sometimes have to select algorithms that are most space-efficient, even if they are
15+
slower.
16+
17+
## Testing
18+
19+
Please run tests to verify your work, and add new tests as necessary. There are two types of tests. Unit
20+
tests are written in C. To run the unit tests, use `make test`. There are also functional tests that use
21+
the `expect` utility to send commands to the interpeter, as well as enter and run BASIC programs, and verify
22+
the output. Run these tests using `make expect_test`.
23+
Do not try to run the interpreter from the shell and interact with it; this does not work well. Use `expect`
24+
either by updating or creating functional test, or run yourself from the shell.

0 commit comments

Comments
 (0)