Mercurial > repos > simple16
diff src/cpu.h @ 43:6e7bfe83d2b0
Changed the design to vastly simplify the video hardware and support a 23-bit address space on the CPU
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Sat, 27 Aug 2016 22:38:31 -0700 |
parents | fb14515266f4 |
children | 51672bd41cdd |
line wrap: on
line diff
--- a/src/cpu.h Mon Apr 11 23:35:51 2016 -0700 +++ b/src/cpu.h Sat Aug 27 22:38:31 2016 -0700 @@ -18,8 +18,9 @@ typedef struct { uint8_t *base; - uint16_t start; - uint16_t end; + uint32_t start; + uint32_t end; + uint32_t mask; uint8_t flags; } memory_region; @@ -33,9 +34,13 @@ uint16_t regs[16]; uint16_t exception; uint16_t exception_pc; + uint16_t exception_pch; uint16_t exception_sr; uint16_t exception_ur; uint16_t vector_base; + uint32_t pc_msb; + uint32_t data_low_msb; + uint32_t data_high_msb; uint16_t prefetch; @@ -83,13 +88,13 @@ CMP, CALL, SWAP, - IN, - OUT, + LONGJMP, INI, OUTI, ADDI, ANDI, ORI, + XORI, LSI, CMPI, SINGLE_REG @@ -97,10 +102,11 @@ enum { RETI, - TRAP, TRAPI, GETEPC, SETEPC, + GETEPCH, + SETEPCH, GETESR, SETESR, GETEUR, @@ -108,7 +114,9 @@ GETENUM, SETENUM, GETVBR, - SETVBR + SETVBR, + GETDATABANKS, + SETDATABANKS, }; enum {