I used the MOV A,A MOV B,B, MOV C,C, etc. opcodes and remaped them.
The new instructions I added are:
SBcc - Short conditional branch
======
Branches +31 / -32 conditionally using 1 byte following the opcode
(4 conditions) (2 byte opcode)
BR - Branch
======
Branches +127 -128 using 1 byte following the opcode (2 byte opcode)
Bcc - Conditional branch
======
Branches +4095 / - 4096 relative conditionally (8 conditions) (3
byte opcode)
Rcall - Relative CALL
======
CALL relative +32767 / -32768 (3 byte opcode)
STP - Set Page
======
Set the Extended address page (bits 23-16) from the contents of A.
Each 16-bit register has it's own extended address page (HL, DE, BC, SP,
PC, plus one for indirect opcodes such as STA, LDA, SHLD, LHLD)
The current page directs indirect (HL), (DE), (BC) accesses to occur
in a different 64K region
GTP - Get Page
Get the Extended address page (bits 23-16) into A
LPUSH
======
Push 24 bit versions of HL, DE, BC, SP
LPOP
======
Pop 24 bit versions of HL, DE, BC, SP
LRET
======
Return from a subroutine using 3 byte address POPed into PC from stack
Ken
On 5/2/16 2:38 PM, Stephen Adolph wrote:
I recall now... I knew I had none of the answers but I knew you would!
So, what did you do to create the new instructions?
On Mon, May 2, 2016 at 5:29 PM, Ken Pettit <[email protected]> wrote:
I already have that. It supports 16M address space plus I already patched
the ROM so the ISR functions properly jump to the the lower 64K region and
return to the upper regions if needed.
Ken
On 5/2/16 1:32 PM, Stephen Adolph wrote:
ok, here is a proposal. Let's get a small FPGA and make an 80c85V2
that includes extra instructions...make it retro compatible.
On Mon, May 2, 2016 at 4:19 PM, John R. Hogerhuis <[email protected]>
wrote:
On Monday, May 2, 2016, Bruce H McIntosh <[email protected]> wrote:
On 2016-05-01 03:03, Hiraghm wrote:
I know awhile back folks were talking about a CP/M port for the Model
T.
Earlier today I was watching some Youtube videos on CP/M, which
reminded
me of OS/9, and that got me wondering.
OS9 is re-entrant and position independent, multi-user and
multi-tasking.
The original OS9 was designed to operate in 64k of ram.
OS/9 had a lot of stuff that relied utterly upon the 6809 CPU's
architectural quirks. It was eventually ported to the 68000 and 80386.
The
8085 might be a bit of a stretch.
https://en.wikipedia.org/wiki/OS-9
And it would be slow. You would have to use some expensive tricks to
simulate position independent code.
CP/M is way more doable and opens up access to a lot of compilers and
other
applications. The roadmap and hardware is all there for the cp/m project.
Just need the people and gumption to get it done.
-- John.