Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hazzaclark/lib68k
Motorola 680x0 Standalone Emulation Library
https://github.com/hazzaclark/lib68k
68000 c90 m68k m68k-assembly motorola-68000
Last synced: 5 days ago
JSON representation
Motorola 680x0 Standalone Emulation Library
- Host: GitHub
- URL: https://github.com/hazzaclark/lib68k
- Owner: hazzaclark
- License: bsd-2-clause
- Created: 2024-08-11T15:58:17.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2025-02-02T23:21:41.000Z (9 days ago)
- Last Synced: 2025-02-02T23:25:10.522Z (9 days ago)
- Topics: 68000, c90, m68k, m68k-assembly, motorola-68000
- Language: C
- Homepage:
- Size: 306 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# lib68k
Motorola 680x0 Standalone Emulation Library![image](https://github.com/user-attachments/assets/9ad47554-e6a1-4380-9e8b-47e53ebf5483)
# Motive:
The motive behind this repository is to provide a surrogate means of aiding in relevant Motorola 68000 developments.
Such is the case with one of the many ambitions, to create a dedicated OS Kernel specifically for this series of microprocessors
Created using ANSI C99 standard, this project aims to promote an ease of use means of creating a library that emulates the likeness of these microprocessors
# Usage:
```
git clone this repositorymake clean
make
```the following output will vary depending on system:
### Windows:
```
lib68k.a
```### UNIX:
```
lib68k.so
```the makefile in question is universal, allowing for ease of use compiling on other systems
# Example:
Below is an example provided to showcase how the ``OPCODE_HANDLER_TABLE`` is able to store and evaluate respective Opcodes and Operands
You can find the provided example Assembly code [here](https://github.com/hazzaclark/lib68k/blob/main/hello.asm)
![image](https://github.com/user-attachments/assets/d425f711-eaed-4545-bc08-4b3917d41955)
# NOTE:
Some of the Opcodes and their extended addressing capabilities such as IMM, EA, DI, PI, etc - are all reserved for an eventual expansion on this Library.
As of right now, I wanted to focus on getting everything working with 68000 emulation to prioritise [mdemu](https://github.com/hazzaclark/mdemu/blob/main) developments
# Sources:
[Motorola 680x0 Programmer Manual](https://www.nxp.com/docs/en/reference-manual/M68000PRM.pdf)
[Motorola 680x0 User Manual](https://www.nxp.com/docs/en/reference-manual/MC68000UM.pdf)
[68000 Memory Map](https://www.mwftr.com/ucF08/LEC05-68K-1.pdf)
[68000 ISA](http://wpage.unina.it/rcanonic/didattica/ce1/docs/68000.pdf)