- 7 seg demo
http://techlib.com/area_50/Readers/Karen/micro.htm
Layer 1
MK14 simulator
I need:
ram
rom
cpu
display
keyboard
glue logic
The Display
The display is at 0x0800+x where x is the digit
Write into the address.
keep displaying until the next write to the display.
onWrite()
get address()
update display()
The keyboard
When the cpu reads from the Keyboard address, then return if the key is pressed.
Either track key up and down. Difficult:- Could use the mouse
The CPU
I need the registers
AC
E
p0,p1,p2,p3
Functions:
reset
instructionInterpreter - See Paul Robinson
helper functions
/* http://www.techlib.com/area_50/Readers/Karen/micro.htm#PIC14 */
/*
; Page 2 - SCIOS ROM table
ORG H'1000'
SCIOS DT H'00', H'CF', H'FF', H'90', H'1E', H'37', H'C2', H'0C'
DT H'33', H'C7', H'FF', H'C0', H'F2', H'01', H'C0', H'EB'
DT H'31', H'C0', H'E7', H'35', H'C0', H'E7', H'32', H'C0'
DT H'E3', H'36', H'C0', H'E4', H'00', H'07', H'C0', H'DE'
DT H'08', H'05', H'3F', H'C8', H'D9', H'40', H'C8', H'D7'
DT H'06', H'C8', H'D5', H'35', H'C8', H'CC', H'31', H'C8'
DT H'CA', H'C4', H'0F', H'36', H'C8', H'C6', H'C4', H'00'
DT H'32', H'C8', H'C2', H'C7', H'01', H'33', H'CA', H'0C'
DT H'37', H'CA', H'0E', H'C4', H'00', H'CA', H'02', H'CA'
DT H'03', H'C4', H'01', H'37', H'90', H'6D', H'C2', H'0E'
DT H'90', H'B3', H'C5', H'01', H'01', H'C4', H'01', H'CB'
DT H'D5', H'C4', H'01', H'07', H'8F', H'08', H'C3', H'D5'
DT H'50', H'98', H'07', H'8F', H'18', H'C4', H'00', H'07'
DT H'90', H'05', H'C4', H'00', H'07', H'8F', H'18', H'8F'
DT H'20', H'C3', H'D5', H'F3', H'D5', H'9C', H'E0', H'BB'
DT H'D6', H'9C', H'D7', H'3F', H'C4', H'08', H'CB', H'D5'
DT H'06', H'D4', H'20', H'98', H'FB', H'8F', H'1C', H'19'
DT H'8F', H'1C', H'BB', H'D5', H'9C', H'F2', H'40', H'CD'
DT H'01', H'90', H'E9', H'C6', H'FE', H'32', H'03', H'FB'
DT H'D8', H'C9', H'01', H'3F', H'08', H'AA', H'0E', H'90'
DT H'36', H'C2', H'0E', H'35', H'C2', H'0C', H'31', H'C2'
DT H'0D', H'C9', H'00', H'90', H'34', H'E4', H'06', H'98'
DT H'9D', H'E4', H'05', H'98', H'22', H'AA', H'0C', H'9C'
DT H'1E', H'90', H'E2', H'C4', H'FF', H'CA', H'11', H'CA'
DT H'0F', H'C2', H'0E', H'35', H'C2', H'0C', H'31', H'C1'
DT H'00', H'CA', H'0D', H'C4', H'3F', H'33', H'3F', H'90'
DT H'DC', H'C4', H'1A', H'33', H'3F', H'90', H'EA', H'C4'
DT H'FF', H'CA', H'0F', H'C2', H'0E', H'35', H'C2', H'0C'
DT H'31', H'C1', H'00', H'CA', H'0D', H'C4', H'3F', H'33'
DT H'3F', H'90', H'C2', H'C4', H'04', H'CA', H'09', H'AA'
DT H'0F', H'9C', H'06', H'C4', H'00', H'CA', H'0D', H'CA'
DT H'11', H'02', H'C2', H'0D', H'F2', H'0D', H'CA', H'0D'
DT H'BA', H'09', H'9C', H'F5', H'C2', H'0D', H'58', H'CA'
DT H'0D', H'90', H'96', H'3F', H'06', H'5B', H'4F', H'66'
DT H'6D', H'7D', H'07', H'7F', H'67', H'77', H'7C', H'39'
DT H'5E', H'79', H'71', H'C4', H'04', H'CA', H'09', H'AA'
DT H'0F', H'9C', H'06', H'C4', H'00', H'CA', H'0E', H'CA'
DT H'0C', H'02', H'C2', H'0C', H'F2', H'0C', H'CA', H'0C'
DT H'C2', H'0E', H'F2', H'0E', H'CA', H'0E', H'BA', H'09'
DT H'9C', H'EF', H'C2', H'0C', H'58', H'CA', H'0C', H'3F'
DT H'C4', H'01', H'35', H'C4', H'0B', H'31', H'C2', H'0D'
DT H'D4', H'0F', H'01', H'C1', H'80', H'CA', H'00', H'C2'
DT H'0D', H'1C', H'1C', H'1C', H'1C', H'01', H'C1', H'80'
DT H'CA', H'01', H'03', H'C4', H'01', H'35', H'C4', H'0B'
DT H'31', H'C2', H'0C', H'D4', H'0F', H'01', H'C1', H'80'
DT H'CA', H'04', H'C2', H'0C', H'1C', H'1C', H'1C', H'1C'
DT H'01', H'C1', H'80', H'CA', H'05', H'06', H'D4', H'80'
DT H'98', H'09', H'02', H'C4', H'00', H'CA', H'03', H'C6'
DT H'02', H'90', H'DE', H'C6', H'FE', H'C4', H'00', H'CA'
DT H'0B', H'C4', H'0D', H'35', H'C4', H'FF', H'CA', H'10'
DT H'C4', H'0A', H'CA', H'09', H'C4', H'00', H'CA', H'0A'
DT H'31', H'AA', H'10', H'01', H'C2', H'80', H'C9', H'80'
DT H'8F', H'00', H'C1', H'80', H'E4', H'FF', H'9C', H'4C'
DT H'BA', H'09', H'9C', H'ED', H'C2', H'0A', H'98', H'0A'
DT H'C2', H'0B', H'9C', H'D8', H'C2', H'0A', H'CA', H'0B'
DT H'90', H'D2', H'C2', H'0B', H'98', H'CE', H'01', H'40'
DT H'D4', H'20', H'9C', H'28', H'C4', H'80', H'50', H'9C'
DT H'1B', H'C4', H'40', H'50', H'9C', H'19', H'C4', H'0F'
DT H'50', H'F4', H'07', H'01', H'C0', H'80', H'01', H'C7'
DT H'02', H'3F', H'90', H'A9', H'0A', H'0B', H'0C', H'0D'
DT H'00', H'00', H'0E', H'0F', H'60', H'90', H'EF', H'60'
DT H'F4', H'08', H'90', H'EA', H'60', H'E4', H'04', H'98'
DT H'08', H'3F', H'90', H'91', H'58', H'CA', H'0A', H'90'
DT H'AF', H'C4', H'00', H'37', H'C4', H'4B', H'33', H'3F'
*/
/********************************************************************/
/* ROM (SCIOS) Image */
/********************************************************************/
/*
unsigned char ROMImage[] =
*/