mirror of
https://github.com/hsoft/collapseos.git
synced 2024-11-02 22:30:55 +11:00
Compare commits
No commits in common. "39f3637c60e0f1a5c2ad292460467d2add300793" and "4de2ce3cebf4192989b14ed65e3af02149d86aeb" have entirely different histories.
39f3637c60
...
4de2ce3ceb
@ -559,14 +559,16 @@ handleLDrr:
|
|||||||
handleRST:
|
handleRST:
|
||||||
ld a, (INS_CURARG1+1)
|
ld a, (INS_CURARG1+1)
|
||||||
; verify that A is either 0x08, 0x10, 0x18, 0x20, 0x28, 0x30 or 0x38.
|
; verify that A is either 0x08, 0x10, 0x18, 0x20, 0x28, 0x30 or 0x38.
|
||||||
; Good news: the relevant bits (bits 5:3) are already in place. We only
|
; Good news: they're all multiples of 8.
|
||||||
; have to verify that they're surrounded by zeroes.
|
; to verify that we're within range, we to 8-bit rotation. If any of
|
||||||
ld c, 0b11000111
|
; the first 3 bytes are set (thus not a multiple of 8), the cp 8
|
||||||
and c
|
; later will yield NC because those bits will now be upwards.
|
||||||
jr nz, .error
|
rrca \ rrca \ rrca
|
||||||
; We're in range. good.
|
cp 8
|
||||||
ld a, (INS_CURARG1+1)
|
jr nc, .error
|
||||||
or c
|
; good, we have a proper arg. Now let's get those 3 bits in position
|
||||||
|
rlca \ rlca \ rlca
|
||||||
|
or 0b11000111
|
||||||
ld (INS_UPCODE), a
|
ld (INS_UPCODE), a
|
||||||
ld c, 1
|
ld c, 1
|
||||||
ret
|
ret
|
||||||
|
@ -1,27 +1,12 @@
|
|||||||
# TI-84+
|
# TI-84+
|
||||||
|
|
||||||
The TI-84+ is a machine with many advantages, one being that it's very popular.
|
**This is a work-in-progress**
|
||||||
It also has a lot of flash memory and RAM.
|
|
||||||
|
|
||||||
Its builtin keyboard and screen, however, are hard to use, especially the
|
|
||||||
screen. With a tiny font, the best we can get is a 24x10 console.
|
|
||||||
|
|
||||||
There is, however, a built-in USB controller that might prove very handy.
|
|
||||||
|
|
||||||
## Recipe
|
## Recipe
|
||||||
|
|
||||||
This recipe gets the Collapse OS shell to run on the TI-84+, using its LCD
|
This recipe gets the Collapse OS shell to run on the TI-84+, using its LCD
|
||||||
screen as output and its builtin keyboard as input.
|
screen as output and its builtin keyboard as input.
|
||||||
|
|
||||||
## Gathering parts
|
|
||||||
|
|
||||||
* [zasm][zasm]
|
|
||||||
* A TI-84+ (TI-83+ compatibility is being worked on. See issue #41)
|
|
||||||
* A USB cable
|
|
||||||
* [tilp][tilp]
|
|
||||||
* [mktiupgrade][mktiupgrade]
|
|
||||||
* Optional: [z80e][z80e] to emulate
|
|
||||||
|
|
||||||
## Build the ROM
|
## Build the ROM
|
||||||
|
|
||||||
Running `make` will result in `os.rom` being created.
|
Running `make` will result in `os.rom` being created.
|
||||||
@ -89,7 +74,6 @@ a "normal" key. The presses must be sequential.
|
|||||||
Keys that aren't a digit, a letter, a symbol that is part of 7-bit ASCII or one
|
Keys that aren't a digit, a letter, a symbol that is part of 7-bit ASCII or one
|
||||||
of the two mode key have no effect.
|
of the two mode key have no effect.
|
||||||
|
|
||||||
[zasm]: ../../tools/emul
|
|
||||||
[knightos]: https://knightos.org/
|
[knightos]: https://knightos.org/
|
||||||
[z80e]: https://github.com/KnightOS/z80e
|
[z80e]: https://github.com/KnightOS/z80e
|
||||||
[mktiupgrade]: https://github.com/KnightOS/mktiupgrade
|
[mktiupgrade]: https://github.com/KnightOS/mktiupgrade
|
||||||
|
Loading…
Reference in New Issue
Block a user