https://github.com/brette-0/uhla
NES/Famicom High Level Assembler built for something more.
https://github.com/brette-0/uhla
assembly cross-platform emulator famicom game game-development gamedev gamedev-tool homebrew language library macro microcode nes nintendo performance retro scripting
Last synced: 25 days ago
JSON representation
NES/Famicom High Level Assembler built for something more.
- Host: GitHub
- URL: https://github.com/brette-0/uhla
- Owner: brette-0
- Created: 2025-03-26T19:43:54.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-12-20T23:17:16.000Z (5 months ago)
- Last Synced: 2025-12-22T21:35:45.078Z (5 months ago)
- Topics: assembly, cross-platform, emulator, famicom, game, game-development, gamedev, gamedev-tool, homebrew, language, library, macro, microcode, nes, nintendo, performance, retro, scripting
- Language: C#
- Homepage:
- Size: 15.6 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Universal High Level Assembler (UHLA)
> UHLA is currently in an alpha state. The current in-dev features can be found at the bottom of the document.
UHLA is a macro-oriented high level assembler using principles from higher level languages to allow an orthodox scripting pipeline for rich conditional assembly. As a result of new compile time features, UHLA offers the powerful macro scripting capabilities targeting all the supported architectures, producing code optimal in both the generic and edge case contexts. It's targeted for new Assembly developers with a friendlier, clean, C-imitative syntax with optional safety nets for beginners and total control with config scripts and pragmas for the expert.
Supporting over 20 languages, anyone can easily get started on their Windows, Linux or Mac computer with a deeply configurable and completely portable executable. Written in C# UHLA focuses on the feature set of the language, ensuring the code-base is easily changeable for anyone seeking to contribute or fork! Be it adding/changing hardware support, appealing a language add/change, documentation suggestions or a contribution to the standard library Numinous will always be an open source tool.
### Core
| Member | Completion | Core Test | Full Test | Error Handling |
| ------------- | ---------- | --------- | --------- | -------------- |
| `Core` | ? | ✕ | ✕ | ✕ |
| `Types` | ? | ✓ | ✓ | ✓ |
| `Language` | ? | ✓ | ✕ | ✕ |
| `Terminal` | 66% | ✓ | ✓ | |
| `Lexer` | 80% | ✕ | ✕ | ✕ |
| `Linker` | 50% | ✓ | ✓ | ✓ |
| `Database` | 40% | ✓ | ✕ | ✕ |
| `Evaluation` | 40% | ✕ | ✕ | ✕ |
| `ObjectToken` | 100% | ✓ | ✓ | ✓ |
| `EvalToken` | 100% | ✓ | ✓ | ✓ |
### Architectures
| Arhcitecture | Completion | Core Test | Full Test | Error Handling | Library |
| ------------ | ---------- | --------- | --------- | -------------- | ------- |
| NMOS 6502 | ? | ✕ | ✕ | ✕ | ✕ |
| Ricoh 2a03 | ? | ✕ | ✕ | ✕ | ✕ |
### Download:
- Windows
- Linux
- Mac
### Extensions:
- [Jetbrains Rider]()
- [Visual Studio]()
- [Visual Studio Code]()
### Documents:
- [**Assembler Guide**]()
- [**Assembly Guide**]()
- [**Library Docs**]()
- [**Contributing**]()