Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
72 commits
Select commit Hold shift + click to select a range
affbd62
Replace DOS line endings; strip trailing spaces.
gerph Nov 24, 2023
e33331c
Add Unicorn-like interface.
gerph Nov 25, 2023
453e5b6
Move the entire emulation system into a package.
gerph Nov 25, 2023
65335c1
Fix up tests to run with the new structure.
gerph Nov 25, 2023
9e8a67a
Make the executable code executable.
gerph Nov 25, 2023
b24b2cd
Move execution hooks to just before execution.
gerph Nov 25, 2023
005547f
Fix for BRK not dispatching to the IRQ handler.
gerph Nov 25, 2023
472abbb
Standardise instruction exceptions.
gerph Nov 25, 2023
ef80517
Update Registers to have a useful __repr__.
gerph Nov 25, 2023
777a57d
Fix for readBytes/writeBytes interface not terminating.
gerph Nov 25, 2023
deb9acc
Fix PyBeebicorn's handling of register writes; hooks can now reset PC.
gerph Nov 25, 2023
c22fca4
Minor clean up to the dispatch handler.
gerph Nov 25, 2023
718043b
Add console handling - RDCH is able to work.
gerph Nov 25, 2023
77cbeb6
Fix for timeout being None not being handled.
gerph Nov 25, 2023
c4bf2e6
Removed stray debug in PyBeebicorn.
gerph Nov 25, 2023
f66c406
Update the PyBeebU to handle lack of input.
gerph Nov 25, 2023
d89e473
Update the handling of backspace to delete characters.
gerph Nov 25, 2023
9658662
Add support for memory access hooks.
gerph Nov 25, 2023
00184d8
Add support for Escape in the RDCH function.
gerph Nov 26, 2023
7154399
Update the console.py module with full version from Pyromaniac.
gerph Nov 28, 2023
b62b89d
Add support for disassembling the 6502 code as it executes.
gerph Dec 4, 2023
49f46a3
Add code coverage for the tests that we have.
gerph Dec 5, 2023
c8df945
Add github workflow to run the coverage/tests on pushes.
gerph Dec 5, 2023
afe9090
Rework the OSInterfaces in the example program.
gerph Dec 7, 2023
5e8ec79
Add an OSCLI handler to allow exiting.
gerph Dec 7, 2023
d368369
Add OSBYTE and OSWORD hooked classes.
gerph Dec 8, 2023
17d5702
Move all the host interfaces for the BBC MOS to a package.
gerph Dec 8, 2023
7b7ceae
Add initial support for filesystem interfaces.
gerph Dec 9, 2023
710238f
Rework the base OS interfaces to be more flexible.
gerph Dec 9, 2023
2204c0a
Initial implementation of OSGBPB.
gerph Dec 10, 2023
50d21d0
Allow the cursor key decoding to work when no timeout present.
gerph Dec 11, 2023
8181172
Initial support for Python 3.
gerph Dec 11, 2023
fe4cd25
Add dispatcher for the remaining OSGBPB calls.
gerph Dec 11, 2023
f35e493
Added base implementation of the OSFSC interface.
gerph Dec 12, 2023
ee17e65
Add rudimetary host filesystem module and implementation of load/save.
gerph Dec 16, 2023
88aa903
Implement remaining OSFILE interfaces for host filesystem.
gerph Dec 18, 2023
587abc6
Add simple implementation of host stream open and output.
gerph Dec 18, 2023
046a41b
Fix for incorrect data mode for ADC indexed Y access.
gerph Dec 18, 2023
73ff734
Add simple implementation of the OSARGS calls.
gerph Dec 18, 2023
2bcfd52
Update Makefile to clean away .pyc files.
gerph Dec 19, 2023
6f366a8
Move host.py to hosttty.py.
gerph Dec 19, 2023
f9391ca
Add hosttty support for INKEY(+ve).
gerph Dec 19, 2023
dca7658
Add support for EOF to host FS implementation.
gerph Dec 19, 2023
ce3919f
Fix for OSARGS not triggering.
gerph Dec 20, 2023
51d96ab
Update OSRDCH to allow buffer and *exec to be used.
gerph Dec 20, 2023
bfbe5a7
Rename PyBeebicorn to Emulation; replace 'regs, memory' with 'pb'.
gerph Dec 22, 2023
9e57509
Add MOS interfaces to call code; implement *CAT.
gerph Dec 23, 2023
e343cf4
Add support for *DIR.
gerph Dec 23, 2023
d69f5bc
Fix for Python 3 support in the Host/base.py module.
gerph Dec 23, 2023
8849c81
Update documentation to reflect current state.
gerph Dec 23, 2023
e6c0e36
Fixes for the Coverage runs.
gerph Dec 23, 2023
30cf7b9
Updated Python 3 support to cover filesystem interfaces.
gerph Dec 23, 2023
5c155b0
Merge branch 'master' into make-into-pluggable-system
gerph Dec 23, 2023
312c229
Allow *Exec to work with the host readline; ctrl-c=>escape in RDCH.
gerph Jun 13, 2024
29b1111
Update CI to run on PRs
gerph Jan 11, 2026
a023dc2
Add PR/issue templates to guide contributors
gerph Jan 11, 2026
50d6a98
Add renovate (mend.io) processing of this fork
gerph Jan 11, 2026
20e586a
Update dependency coverage to v7
renovate[bot] Jan 11, 2026
0f48d39
Switch to Python 3.
gerph Jan 11, 2026
6bc3538
Run on Ubuntu 24.
gerph Jan 11, 2026
92c0728
Update actions/checkout action to v6
renovate[bot] Jan 11, 2026
d44f1a1
Merge pull request #1 from gerph/renovate/actions-checkout-6.x
gerph Jan 11, 2026
72b4b42
Merge pull request #2 from gerph/renovate/coverage-7.x
gerph Jan 11, 2026
dee1032
Fix for missing brackets on print statement.
gerph Jan 25, 2026
7e5cf40
Update dependency coverage to v7.13.2
renovate[bot] Jan 25, 2026
3462a6f
Merge pull request #4 from gerph/renovate/coverage-7.x
gerph Jan 25, 2026
9c87f4e
Update dependency coverage to v7.13.3
renovate[bot] Feb 3, 2026
8b41f05
Merge pull request #5 from gerph/renovate/coverage-7.x
gerph Feb 3, 2026
bdf6523
Update dependency coverage to v7.13.4
renovate[bot] Feb 9, 2026
0c1418f
Merge pull request #6 from gerph/renovate/coverage-7.x
gerph Feb 9, 2026
e8e1ac8
Update dependency coverage to v7.13.5
renovate[bot] Mar 17, 2026
b26df46
Merge pull request #7 from gerph/renovate/coverage-7.x
gerph Mar 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 29 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
---
name: Bug report
about: Something that's not right about the project
title: ''
labels: bug
assignees: ''

---

## Problem statement

<!-- Explain what you think is wrong -->


## Environment

<!-- Give details about the environment in which you are running, for
example, the OS version, hardware, devices or applications that
are related to the issue -->


## Expected result

<!-- Explain what you expect to happen -->


## Reproduction steps

<!-- Explain how to reproduce, or which test the failure is in -->
30 changes: 30 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: enhancement
assignees: ''

---

## Is your feature request related to a problem?

<!-- Give a clear description of what you're trying to address with
this request.
For example, "I'm always frustrated when [...]",
"It is hard to [...]"
-->

## Describe the solution you'd like

<!-- Give a clear description of how you the request might be
addressed. If you have ideas about how it could be implemented,
separate them from user interface changes.
-->

## Additional context

<!-- If you have some context, like places where this would have
helped, screenshots or mock ups of an interface, or the sort
of results you'd like to see, include them here.
-->
17 changes: 17 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Changes

<!-- Describe the changes you've made in this section.
Try to explain why they're needed and what they do.
Your reviewers will use this to decide whether the
change is sufficient and correct.
You can include pictures or diagrams in here
(see mermaid documentation on GitHub).
-->

# Testing

<!-- Describe the testing you have done manually to
satisfy yourself that the change works as intended.
If automated tests have been updated, state this.
Include output or pictures if necessary.
-->
35 changes: 35 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
---
# Automatic testing
#

name: Tests

# Controls when the action will run. Triggers the workflow on:
# * push on any branch.
# * tag creation for tags beginning with a 'v'
# * pull requests
on:
push:
branches: ["*"]
tags: ["v*"]
pull_request:
types: [opened, reopened, synchronize]
branches: ["*"]

jobs:
coverage:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v6

- name: Prepare packages
run: |
sudo apt-get install -y python3 virtualenv
virtualenv -p python3 venv
source venv/bin/activate && \
pip install -r requirements.txt

- name: Run the coverage tests
run: |
source venv/bin/activate && \
timeout 180 make coverage
10 changes: 10 additions & 0 deletions CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
##
# CODEOWNERS - define who is responsible for parts of the sources
#
# See:
# https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners
# https://docs.gitlab.com/user/project/codeowners/reference/
#

# Default code owners - automatically assigned for reviews
* @gerph
95 changes: 0 additions & 95 deletions CPU/Memory.py

This file was deleted.

64 changes: 0 additions & 64 deletions CPU/Registers.py

This file was deleted.

30 changes: 0 additions & 30 deletions Debugging/Writeback.py

This file was deleted.

39 changes: 21 additions & 18 deletions DisassembleTest.py
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,18 +1,21 @@
'''
Created on 12 Oct 2011

@author: chris.whitworth
'''

import Disassembler
import ROMs.TestData as TestData

DecoderTablePath = "insts.csv"

def main():
disassembler = Disassembler.Disassembler(DecoderTablePath)
disassembler.disassemble(TestData.testROM1)


if __name__ == '__main__':
main()
#!/usr/bin/env python
'''
Created on 12 Oct 2011

@author: chris.whitworth
'''

import os

import pybeeb.Disassembler
import ROMs.TestData as TestData

DecodeFilename = os.path.join(os.path.dirname(pybeeb.__file__), "insts.csv")

def main():
disassembler = pybeeb.Disassembler.Disassembler(DecodeFilename)
disassembler.disassemble(TestData.testROM1)


if __name__ == '__main__':
main()
Loading