mirror of
https://github.com/rzzzwilson/pymlac.git
synced 2025-06-10 09:32:41 +00:00
Changed PTR ROM contents for debug
This commit is contained in:
133
pymlac/Memory.py
133
pymlac/Memory.py
@@ -18,71 +18,76 @@ class Memory(object):
|
||||
ROM_END = ROM_START + ROM_SIZE - 1
|
||||
|
||||
# this PTR bootstrap from "Loading The PDS-1" (loading.pdf)
|
||||
PTR_ROM_IMAGE = [ 0060077, # start lac base ;40 get load address
|
||||
0020010, # dac 10 ;41 put into auto-inc reg
|
||||
0104076, # lwc 076 ;42 -0100+1 into AC
|
||||
0020020, # dac 20 ;43 put into memory
|
||||
0001061, # hon ;44 start PTR
|
||||
0100011, # wait cal ;45 clear AC+LINK
|
||||
0002400, # hsf ;46 skip if PTR has data
|
||||
0010046, # jmp .-1 ;47 wait until is data
|
||||
0001051, # hrb ;50 read PTR -> AC
|
||||
0074075, # sam what ;51 skip if AC == 2
|
||||
0010045, # jmp wait ;52 wait until PTR return 0
|
||||
0002400, # loop hsf ;53 skip if PTR has data
|
||||
0010053, # jmp .-1 ;54 wait until is data
|
||||
0001051, # hrb ;55 read PTR -> AC
|
||||
0003003, # ral 3 ;56 move byte into high AC
|
||||
0003003, # ral 3 ;57
|
||||
0003002, # ral 2 ;60
|
||||
0102400, # hsn ;61 wait until PTR moves
|
||||
0010061, # jmp .-1 ;62
|
||||
0002400, # hsf ;63 skip if PTR has data
|
||||
0010063, # jmp .-1 ;64 wait until is data
|
||||
0001051, # hrb ;65 read PTR -> AC
|
||||
0120010, # dac *10 ;66 store word, inc pointer
|
||||
0102400, # hsn ;67 wait until PTR moves
|
||||
0010067, # jmp .-1 ;70
|
||||
0100011, # cal ;71 clear AC & LINK
|
||||
0030020, # isz 20 ;72 inc mem and skip zero
|
||||
0010053, # jmp loop ;73 if not finished, jump
|
||||
0110076, # jmp *go ;74 execute loader
|
||||
0000002, # what data 2 ;75
|
||||
0003700, # go word 03700H;76
|
||||
0003677 # base word 03677H;77
|
||||
PTR_ROM_IMAGE = [ # org 040
|
||||
0060077, # start lac base ;40 get load address
|
||||
0020010, # dac 010 ;41 put into auto-inc reg
|
||||
0104076, # lwc 076 ;42 -0100+1 into AC
|
||||
0020020, # dac 020 ;43 put into memory
|
||||
0001061, # hon ;44 start PTR
|
||||
0100011, # wait cal ;45 clear AC+LINK
|
||||
0002400, # hsf ;46 skip if PTR has data
|
||||
0010046, # jmp .-1 ;47 wait until is data
|
||||
0001051, # hrb ;50 read PTR -> AC
|
||||
0074075, # sam what ;51 skip if AC == 2
|
||||
0010045, # jmp wait ;52 wait until PTR return 0
|
||||
0002400, # loop hsf ;53 skip if PTR has data
|
||||
0010053, # jmp .-1 ;54 wait until is data
|
||||
0001051, # hrb ;55 read PTR -> AC
|
||||
0003003, # ral 3 ;56 move byte into high AC
|
||||
0003003, # ral 3 ;57
|
||||
0003002, # ral 2 ;60
|
||||
0102400, # hsn ;61 wait until PTR moves
|
||||
0010061, # jmp .-1 ;62
|
||||
0002400, # hsf ;63 skip if PTR has data
|
||||
0010063, # jmp .-1 ;64 wait until is data
|
||||
0001051, # hrb ;65 read PTR -> AC
|
||||
0120010, # dac *010 ;66 store word, inc pointer
|
||||
0102400, # hsn ;67 wait until PTR moves
|
||||
0010067, # jmp .-1 ;70
|
||||
0100011, # cal ;71 clear AC & LINK
|
||||
0030020, # isz 020 ;72 inc mem and skip zero
|
||||
0010053, # jmp loop ;73 if not finished, jump
|
||||
# DEBUG don't goto 03700
|
||||
0000000, # hlt ; 0110076, # jmp *go ;74 execute loader
|
||||
# DEBUG don't goto 03700
|
||||
0000002, # what data 2 ;75
|
||||
0003700, # go data 03700 ;76
|
||||
0003677, # base data 03677 ;77
|
||||
]
|
||||
TTY_ROM_IMAGE = [ 0060077, # start lac base ;40 get load address
|
||||
0020010, # dac 10 ;41 put into auto-inc reg
|
||||
0104076, # lwc 076 ;42 -076 into AC (loader size)
|
||||
0020020, # dac 20 ;43 put into memory
|
||||
0001032, # rcf ;44 clear TTY flag
|
||||
0100011, # wait cal ;45 clear AC+LINK
|
||||
0002040, # rsf ;46 skip if TTY has data
|
||||
0010046, # jmp .-1 ;47 wait until there is data
|
||||
0001031, # rrb ;50 read TTY -> AC
|
||||
0074075, # sam 75 ;51 first non-zero must be 02
|
||||
0010044, # jmp 044 ;52 wait until TTY return == 02
|
||||
0002040, # loop rsf ;53 skip if TTY has data
|
||||
0010053, # jmp .-1 ;54 wait until there is data
|
||||
0001033, # rrc ;55 read TTY -> AC
|
||||
0003003, # ral 3 ;56 move TTY byte into high AC
|
||||
0003003, # ral 3 ;57
|
||||
0003002, # ral 2 ;60
|
||||
0002040, # rsf ;61 wait until there is data
|
||||
0010061, # jmp .-1 ;62
|
||||
0001033, # rrc ;63 read TTY -> AC, clear flag
|
||||
0120010, # dac *10 ;64 store word, inc pointer
|
||||
0100011, # cal ;65 clear AC & LINK
|
||||
0030020, # isz 20 ;66 inc mem and skip if zero
|
||||
0010053, # jmp loop ;67 if not finished, next word
|
||||
0110076, # jmp *go ;70 else execute block loader
|
||||
0000000, # hlt ;71
|
||||
0000000, # hlt ;72
|
||||
0000000, # hlt ;73
|
||||
0000000, # hlt ;74
|
||||
0000002, # data 2 ;75
|
||||
0037700, # go word 037700 ;76 block loader base address
|
||||
0037677 # base word 037677 ;77 init value for 010 auto inc
|
||||
|
||||
TTY_ROM_IMAGE = [ # org 040
|
||||
0060077, # start lac base ;40 get load address
|
||||
0020010, # dac 10 ;41 put into auto-inc reg
|
||||
0104076, # lwc 076 ;42 -076 into AC (loader size)
|
||||
0020020, # dac 20 ;43 put into memory
|
||||
0001032, # rcf ;44 clear TTY flag
|
||||
0100011, # wait cal ;45 clear AC+LINK
|
||||
0002040, # rsf ;46 skip if TTY has data
|
||||
0010046, # jmp .-1 ;47 wait until there is data
|
||||
0001031, # rrb ;50 read TTY -> AC
|
||||
0074075, # sam 75 ;51 first non-zero must be 02
|
||||
0010044, # jmp 044 ;52 wait until TTY return == 02
|
||||
0002040, # loop rsf ;53 skip if TTY has data
|
||||
0010053, # jmp .-1 ;54 wait until there is data
|
||||
0001033, # rrc ;55 read TTY -> AC
|
||||
0003003, # ral 3 ;56 move TTY byte into high AC
|
||||
0003003, # ral 3 ;57
|
||||
0003002, # ral 2 ;60
|
||||
0002040, # rsf ;61 wait until there is data
|
||||
0010061, # jmp .-1 ;62
|
||||
0001033, # rrc ;63 read TTY -> AC, clear flag
|
||||
0120010, # dac *10 ;64 store word, inc pointer
|
||||
0100011, # cal ;65 clear AC & LINK
|
||||
0030020, # isz 20 ;66 inc mem and skip if zero
|
||||
0010053, # jmp loop ;67 if not finished, next word
|
||||
0110076, # jmp *go ;70 else execute block loader
|
||||
0000000, # data 0 ;71
|
||||
0000000, # data 0 ;72
|
||||
0000000, # data 0 ;73
|
||||
0000000, # data 0 ;74
|
||||
0000002, # data 2 ;75
|
||||
0037700, # go word 037700 ;76 block loader base address
|
||||
0037677 # base word 037677 ;77 init value for 010 auto inc
|
||||
]
|
||||
|
||||
# class instance variables
|
||||
|
||||
Reference in New Issue
Block a user