Updated
This commit is contained in:
51
OperatingSystem/monitor_v2/include/addresses.s
Normal file
51
OperatingSystem/monitor_v2/include/addresses.s
Normal file
@@ -0,0 +1,51 @@
|
||||
CS_BANK equ 0000000b
|
||||
CS_DIP equ 0000001b
|
||||
CS_CTC_0 equ 0000100b
|
||||
CS_CTC_1 equ 0000101b
|
||||
CS_CTC_2 equ 0000110b
|
||||
CS_CTC_3 equ 0000111b
|
||||
CS_SIO_A_D equ 0001000b
|
||||
CS_SIO_A_C equ 0001001b
|
||||
CS_SIO_B_D equ 0001010b
|
||||
CS_SIO_B_C equ 0001011b
|
||||
|
||||
IO_RTC_SEC0 equ 00100000b
|
||||
IO_RTC_SEC1 equ 00100001b
|
||||
IO_RTC_MIN0 equ 00100010b
|
||||
IO_RTC_MIN1 equ 00100011b
|
||||
IO_RTC_HOUR equ 00100100b
|
||||
IO_RTC_AMPM equ 00100101b
|
||||
IO_RTC_DAY0 equ 00100110b
|
||||
IO_RTC_DAY1 equ 00100111b
|
||||
IO_RTC_MON0 equ 00101000b
|
||||
IO_RTC_MON1 equ 00101001b
|
||||
IO_RTC_YERR0 equ 00101010b
|
||||
IO_RTC_YEAR1 equ 00101011b
|
||||
IO_RTC_WEEK equ 00101100b
|
||||
IO_RTC_CTR_D equ 00101101b
|
||||
IO_RTC_CTR_E equ 00101110b
|
||||
IO_RTC_CTR_F equ 00101111b
|
||||
|
||||
IO_AY0_ADDR equ 01000000b ;64
|
||||
IO_AY0_DATA equ 01000001b ;65
|
||||
IO_AY1_ADDR equ 01000010b ;66
|
||||
IO_AY1_DATA equ 01000011b ;67
|
||||
|
||||
START_ROM equ 0x0000
|
||||
IO_REG0 equ 0x20
|
||||
|
||||
VDP_REG equ 0x81
|
||||
VDP_MEM equ 0x80
|
||||
|
||||
PROG_ROM_START equ 0x0100
|
||||
PROG_MEM_START equ 04000h
|
||||
|
||||
IO_PIO_0_A_D equ 0x60
|
||||
IO_PIO_0_A_C equ 0x61
|
||||
IO_PIO_0_B_D equ 0x62
|
||||
IO_PIO_0_B_C equ 0x63
|
||||
|
||||
IO_PIO_1_A_D equ 0x64 ;PS2
|
||||
IO_PIO_1_A_C equ 0x65
|
||||
IO_PIO_1_B_D equ 0x66
|
||||
IO_PIO_1_B_C equ 0x67
|
||||
4564
OperatingSystem/monitor_v2/include/basic.s
Normal file
4564
OperatingSystem/monitor_v2/include/basic.s
Normal file
File diff suppressed because it is too large
Load Diff
115
OperatingSystem/monitor_v2/include/bootldr.s
Normal file
115
OperatingSystem/monitor_v2/include/bootldr.s
Normal file
@@ -0,0 +1,115 @@
|
||||
; Z8C Bootloader
|
||||
; 2022 by Dennis Gunia
|
||||
|
||||
BTLDR_ENTRY:
|
||||
;ld SP, 0ffffh ; set stack pointer
|
||||
|
||||
;Setup Serial Interface
|
||||
LD A,01001111b ; External Trigger, Time Constant Follows
|
||||
OUT (CS_CTC_0),A
|
||||
IN A,(CS_DIP) ; Read BAUD from DIP-Switches
|
||||
OUT (CS_CTC_0),A
|
||||
LD A,00110000b ;write into WR0: error reset, select WR0
|
||||
OUT (CS_SIO_A_C),A
|
||||
LD a,018h ;write into WR0: channel reset
|
||||
OUT (CS_SIO_A_C),A
|
||||
LD a,004h ;write into WR0: select WR4
|
||||
OUT (CS_SIO_A_C),A
|
||||
;LD a,04h ;write into WR4: clkx1,1 stop bit, no parity
|
||||
LD a,01000100b ;write into WR4: clkx16,1 stop bit, no parity
|
||||
OUT (CS_SIO_A_C),A
|
||||
LD a,005h ;write into WR0: select WR5
|
||||
OUT (CS_SIO_A_C),A
|
||||
LD a,11101000b ;DTR inactive, TX 8bit, BREAK off, TX on, RTS inactive
|
||||
OUT (CS_SIO_A_C),A
|
||||
LD a,01h ;write into WR0: select WR1
|
||||
OUT (CS_SIO_A_C),A
|
||||
LD a,00000100b ;no interrupt in CH B, special RX condition affects vect
|
||||
OUT (CS_SIO_A_C),A
|
||||
LD a,02h ;write into WR0: select WR2
|
||||
OUT (CS_SIO_A_C),A
|
||||
LD a,0h ;write into WR2: cmd line int vect (see int vec table)
|
||||
;bits D3,D2,D1 are changed according to RX condition
|
||||
OUT (CS_SIO_A_C),A
|
||||
LD a,003h ;write into WR0: select WR3
|
||||
OUT (CS_SIO_A_C),A
|
||||
LD a,0C1h ;RX 8bit, auto enable off, RX on
|
||||
OUT (CS_SIO_A_C),A
|
||||
|
||||
BTLDR_STARTUP_MSG:
|
||||
LD HL,[S_BTLDR_STARTUP_MSG]
|
||||
BTLDR_STARTUP_MSG_LOOP:
|
||||
LD A,(HL)
|
||||
OR A
|
||||
JR Z, BTLDR_INPUT
|
||||
CALL BTLDR_SUB_WRITEA
|
||||
INC HL
|
||||
JR BTLDR_STARTUP_MSG_LOOP
|
||||
BTLDR_INPUT:
|
||||
; Byte 1 & 2 = Length
|
||||
CALL BTLDR_SUB_INPUT_READ
|
||||
LD B, A
|
||||
CALL BTLDR_SUB_INPUT_READ
|
||||
LD C, A
|
||||
|
||||
; Byte 3 & 4 = Offset / Start address
|
||||
CALL BTLDR_SUB_INPUT_READ
|
||||
LD H, A
|
||||
CALL BTLDR_SUB_INPUT_READ
|
||||
LD L, A
|
||||
|
||||
; Byte 5+ = Payload
|
||||
BTLDR_INPUT_1:
|
||||
CALL BTLDR_SUB_INPUT_READ
|
||||
LD (HL),A ;Store byte
|
||||
DEC BC
|
||||
LD A,H
|
||||
OR A.L
|
||||
JR Z, BTLDR_DONE
|
||||
INC HL
|
||||
JR BTLDR_INPUT_1
|
||||
|
||||
BTLDR_DONE:
|
||||
RET
|
||||
|
||||
|
||||
; Strings
|
||||
S_BTLDR_STARTUP_MSG:
|
||||
db "Z8C BTLDR.S V0.1 by Dennis Gunia [RDY] ",0
|
||||
|
||||
|
||||
; Subroutines
|
||||
BTLDR_SUB_WRITEA:
|
||||
OUT (CS_SIO_A_D),A
|
||||
BTLDR_SUB_WRITEA_WAIT:
|
||||
XOR A
|
||||
INC A
|
||||
OUT (CS_SIO_A_C),A
|
||||
IN A,(CS_SIO_A_C)
|
||||
BIT 0,A
|
||||
JR Z, BTLDR_SUB_WRITEA_WAIT
|
||||
RET
|
||||
|
||||
BTLDR_SUB_RTS_OFF:
|
||||
ld a,005h ;write into WR0: select WR5
|
||||
out (CS_SIO_A_C),A
|
||||
ld a,0E8h ;DTR active, TX 8bit, BREAK off, TX on, RTS inactive
|
||||
out (CS_SIO_A_C),A
|
||||
ret
|
||||
BTLDR_SUB_RTS_ON:
|
||||
ld a,005h ;write into WR0: select WR5
|
||||
out (CS_SIO_A_C),A
|
||||
ld a,0EAh ;DTR active, TX 8bit, BREAK off, TX on, RTS active
|
||||
out (CS_SIO_A_C),A
|
||||
ret
|
||||
|
||||
BTLDR_SUB_INPUT_READ:
|
||||
CALL BTLDR_SUB_RTS_ON
|
||||
XOR A
|
||||
OUT (CS_SIO_A_C), a
|
||||
IN A, (CS_SIO_A_C)
|
||||
AND 1
|
||||
JR Z, BTLDR_SUB_INPUT_READ ;LOOP IF BUFFER EMPTY
|
||||
CALL BTLDR_SUB_RTS_OFF
|
||||
IN A, (CS_SIO_A_D)
|
||||
RET
|
||||
136
OperatingSystem/monitor_v2/include/console.s
Normal file
136
OperatingSystem/monitor_v2/include/console.s
Normal file
@@ -0,0 +1,136 @@
|
||||
;DIP SWICTHES
|
||||
;1843200 CLK / x16 SIO CLOCK MODE = 115200
|
||||
;MAX BAUD RATE = 115200
|
||||
;DIP VALUE = 115200/<BAUD>
|
||||
;
|
||||
;9600 -> 12 / 00110000
|
||||
;
|
||||
|
||||
CONSOLE_INIT:
|
||||
CONSOLE_INIT_CTC:
|
||||
;LD A,00001111b ; Set /16 Divider, CPU Trigger, Time COnstant Follows
|
||||
LD A,01001111b ; External Trigger, Time COnstant Follows
|
||||
OUT (CS_CTC_0),A
|
||||
IN A,(CS_DIP) ; Read BAUD from DIP-Switches
|
||||
;LD A,39
|
||||
OUT (CS_CTC_0),A
|
||||
CONSOLE_INIT_SIO:
|
||||
LD A,00110000b ;write into WR0: error reset, select WR0
|
||||
OUT (CS_SIO_A_C),A
|
||||
LD a,018h ;write into WR0: channel reset
|
||||
OUT (CS_SIO_A_C),A
|
||||
LD a,004h ;write into WR0: select WR4
|
||||
OUT (CS_SIO_A_C),A
|
||||
LD a,01000100b ;write into WR4: clkx16,1 stop bit, no parity
|
||||
OUT (CS_SIO_A_C),A
|
||||
LD a,005h ;write into WR0: select WR5
|
||||
OUT (CS_SIO_A_C),A
|
||||
LD a,11101000b ;DTR inactive, TX 8bit, BREAK off, TX on, RTS inactive
|
||||
OUT (CS_SIO_A_C),A
|
||||
LD a,01h ;write into WR0: select WR1
|
||||
OUT (CS_SIO_A_C),A
|
||||
LD a,00000100b ;no interrupt in CH B, special RX condition affects vect
|
||||
OUT (CS_SIO_A_C),A
|
||||
LD a,02h ;write into WR0: select WR2
|
||||
OUT (CS_SIO_A_C),A
|
||||
LD a,0h ;write into WR2: cmd line int vect (see int vec table)
|
||||
;bits D3,D2,D1 are changed according to RX condition
|
||||
OUT (CS_SIO_A_C),A
|
||||
LD a,003h ;write into WR0: select WR3
|
||||
OUT (CS_SIO_A_C),A
|
||||
LD a,0C1h ;RX 8bit, auto enable off, RX on
|
||||
OUT (CS_SIO_A_C),A
|
||||
;Channel A RX active
|
||||
RET
|
||||
|
||||
; A contains char
|
||||
; Destroys A
|
||||
print_char:
|
||||
push af
|
||||
out (CS_SIO_A_D),a
|
||||
call print_wait_out
|
||||
pop af
|
||||
;call print_char
|
||||
ret
|
||||
; HL contains pointer to string
|
||||
; Destroy A, HL
|
||||
|
||||
print_str:
|
||||
ld a, (hl)
|
||||
or a
|
||||
jr z,print_str_end
|
||||
call print_char
|
||||
inc hl
|
||||
jr print_str
|
||||
print_str_end:
|
||||
ret
|
||||
|
||||
print_clear:
|
||||
ld hl, [MSG_CLEAR]
|
||||
call print_str
|
||||
ret
|
||||
|
||||
print_newLine:
|
||||
ld a,10
|
||||
call print_char
|
||||
ld a,13
|
||||
call print_char
|
||||
ret
|
||||
; destroys a
|
||||
print_wait_out:
|
||||
; check for TX buffer empty
|
||||
sub a ;clear a, write into WR0: select RR0
|
||||
inc a ;select RR1
|
||||
out (CS_SIO_A_C),A
|
||||
in A,(CS_SIO_A_C) ;read RRx
|
||||
bit 0,A
|
||||
jr z,print_wait_out
|
||||
ret
|
||||
|
||||
print_a_hex:
|
||||
push af
|
||||
push bc
|
||||
push de
|
||||
call STRCONV_BYTES_TO_HEX
|
||||
ld a,b
|
||||
call print_char
|
||||
ld a,c
|
||||
call print_char
|
||||
pop de
|
||||
pop bc
|
||||
pop af
|
||||
|
||||
read_char:
|
||||
call A_RTS_ON
|
||||
nop
|
||||
xor a ; a = 0
|
||||
out (CS_SIO_A_C), a ; select reg 0
|
||||
in a, (CS_SIO_A_C) ; read reg 0
|
||||
and 1 ; mask D0 (recieve char available)
|
||||
call A_RTS_OFF
|
||||
ret Z ; return 0 if no char
|
||||
in a, (CS_SIO_A_D) ; read char if avail
|
||||
ret ; return
|
||||
|
||||
;MSG_CRSR_0:
|
||||
; db 0x1B, "[?25h",0
|
||||
;MSG_CRSR_1:
|
||||
; db 0x1B, "[?25l",0
|
||||
MSG_CLEAR:
|
||||
db 27, '[2J', 27, '[H',0
|
||||
|
||||
|
||||
|
||||
; Serial Util Functions
|
||||
A_RTS_OFF:
|
||||
ld a,005h ;write into WR0: select WR5
|
||||
out (CS_SIO_A_C),A
|
||||
ld a,068h ;DTR inactiveh, TX 8bit, BREAK off, TX on, RTS inactive
|
||||
out (CS_SIO_A_C),A
|
||||
ret
|
||||
A_RTS_ON:
|
||||
ld a,005h ;write into WR0: select WR5
|
||||
out (CS_SIO_A_C),A
|
||||
ld a,0EAh ;DTR active, TX 8bit, BREAK off, TX on, RTS active
|
||||
out (CS_SIO_A_C),A
|
||||
ret
|
||||
89
OperatingSystem/monitor_v2/include/conversions.s
Normal file
89
OperatingSystem/monitor_v2/include/conversions.s
Normal file
@@ -0,0 +1,89 @@
|
||||
; HL Contains Address to string
|
||||
; E is 0xFF if error
|
||||
; E is 0x00 if okay
|
||||
; A returns byte
|
||||
; A,DE are destroyed
|
||||
DHEX_TO_BYTE:
|
||||
PUSH HL ;Backup pointer
|
||||
; Load First Byte
|
||||
LD A,(HL) ;Load first char (high)
|
||||
CALL HEX_TO_BIN ;Conv chart to 4bit
|
||||
jr C, DHEX_TO_BYTE_FAILED ;If error jmp to DHEX_TO_BYTE_FAILED
|
||||
SLA A ;shift result to upper 4 bits
|
||||
SLA A
|
||||
SLA A
|
||||
SLA A
|
||||
LD D,A ;store result in D
|
||||
|
||||
INC HL ;next byte
|
||||
LD A,(HL) ;load 2nd char (lower)
|
||||
CALL HEX_TO_BIN ;Conv chart to 4bit
|
||||
jr C, DHEX_TO_BYTE_FAILED ;If error jmp to DHEX_TO_BYTE_FAILED
|
||||
OR D ;merge D with accumulator
|
||||
|
||||
POP HL ;restor original pointer
|
||||
LD E,0x00 ;set error to 0x00 = no error
|
||||
RET
|
||||
DHEX_TO_BYTE_FAILED:
|
||||
LD E,0xFF ;set error to oxFF
|
||||
;LD A,0x00
|
||||
POP HL
|
||||
RET
|
||||
|
||||
; REG A Contains CHAR-Low
|
||||
; If failed, Carry is set
|
||||
HEX_TO_BIN:
|
||||
SUB 48 ; 0 is 0
|
||||
jp PE, HEX_TO_INVALID_2; to low (SUB overflow)
|
||||
CP 10 ; Value is between 0 and 9
|
||||
JR C, HEX_TO_BIN_2
|
||||
SUB 7
|
||||
jp PE, HEX_TO_INVALID_2; to low (SUB overflow)
|
||||
HEX_TO_BIN_2:
|
||||
CP 16
|
||||
JR NC, HEX_TO_INVALID_2; if bigger than 15-> fail
|
||||
AND 0x0F
|
||||
RET
|
||||
HEX_TO_INVALID_2:
|
||||
SCF ;set carry flag
|
||||
RET
|
||||
|
||||
|
||||
;*****************
|
||||
; Convert Byte to Hex Char (ASCII)
|
||||
;*****************
|
||||
;Description: the StrLength function inline
|
||||
;
|
||||
;Inputs: A contains input byte
|
||||
;
|
||||
;Outputs: BC contains 2 Bytes of ASCII (HEX)
|
||||
;
|
||||
;Destroys: A, BC,
|
||||
STRCONV_BYTES_TO_HEX:
|
||||
PUSH AF;Backup A Register
|
||||
RRA
|
||||
RRA
|
||||
RRA
|
||||
RRA
|
||||
CALL STRCONV_BYTES_TO_HEX_1
|
||||
;LD A,D
|
||||
LD B,A
|
||||
POP AF ; Reload first Byte
|
||||
CALL STRCONV_BYTES_TO_HEX_1
|
||||
;LD A,D
|
||||
LD C,A
|
||||
RET
|
||||
|
||||
STRCONV_BYTES_TO_HEX_1:
|
||||
AND 0x0F
|
||||
ADD 48
|
||||
CP 58 ; Check if less than 58 (less than ASCII 9)
|
||||
;JR C, STRCONV_BYTES_TO_HEX_2
|
||||
RET C
|
||||
ADD 7 ; A-F
|
||||
RET
|
||||
STRCONV_BYTES_TO_HEX_2:
|
||||
;LD D,A
|
||||
RET
|
||||
|
||||
|
||||
78
OperatingSystem/monitor_v2/include/debug.s
Normal file
78
OperatingSystem/monitor_v2/include/debug.s
Normal file
@@ -0,0 +1,78 @@
|
||||
|
||||
|
||||
debug_init:
|
||||
ld A,VAR_CONSOLE_CONF ; Setup CTC
|
||||
out (IO_CTC0_C0),A ; Controll word, software reset, time constant follows, CLK/TRG starts timer
|
||||
ld A,VAR_CONSOLE_BAUD ; Setup timer const
|
||||
out (IO_CTC0_C0),A ; Load timer const into CTC (Setup Baud generator)
|
||||
;set up TX and RX:W
|
||||
ld a,00110000b ;write into WR0: error reset, select WR0
|
||||
out (IO_SIO0A_C),A
|
||||
ld a,018h ;write into WR0: channel reset
|
||||
out (IO_SIO0A_C),A
|
||||
ld a,004h ;write into WR0: select WR4
|
||||
out (IO_SIO0A_C),A
|
||||
ld a,04h ;44h write into WR4: clkx1,1 stop bit, no parity
|
||||
out (IO_SIO0A_C),A
|
||||
ld a,005h ;write into WR0: select WR5
|
||||
out (IO_SIO0A_C),A
|
||||
ld a,068h ;DTR active, TX 8bit, BREAK off, TX on, RTS inactive
|
||||
out (IO_SIO0A_C),A
|
||||
ld a,01h ;write into WR0: select WR1
|
||||
out (IO_SIO0A_C),A
|
||||
ld a,00000100b ;no interrupt in CH B, special RX condition affects vect
|
||||
out (IO_SIO0A_C),A
|
||||
;enable SIO channel A RX
|
||||
ld a,003h ;write into WR0: select WR3
|
||||
out (IO_SIO0A_C),A
|
||||
ld a,0C1h ;RX 8bit, auto enable off, RX on
|
||||
out (IO_SIO0A_C),A
|
||||
;Channel A RX active
|
||||
ld hl,[MSG_START_DBG]
|
||||
call debug_print_str
|
||||
ret
|
||||
|
||||
debug_print_char:
|
||||
out (IO_SIO0A_D),a
|
||||
call debug_wait_out
|
||||
ret
|
||||
|
||||
debug_print_str:
|
||||
ld a, (hl)
|
||||
or a
|
||||
ret z
|
||||
call debug_print_char
|
||||
inc hl
|
||||
jr debug_print_str
|
||||
|
||||
debug_print_newLine:
|
||||
ld a,10
|
||||
call debug_print_char
|
||||
ld a,13
|
||||
call debug_print_char
|
||||
ret
|
||||
|
||||
debug_wait_out:
|
||||
; check for TX buffer empty
|
||||
sub a ;clear a, write into WR0: select RR0
|
||||
inc a ;select RR1
|
||||
out (IO_SIO0A_C),A
|
||||
in A,(IO_SIO0A_C) ;read RRx
|
||||
bit 0,A
|
||||
jr z,debug_wait_out
|
||||
ret
|
||||
|
||||
MSG_START_DBG:
|
||||
db "Debug interface active!",13,10,0
|
||||
|
||||
debug_a_hex:
|
||||
push BC
|
||||
push AF
|
||||
call STRCONV_BYTES_TO_HEX
|
||||
ld a, b
|
||||
call debug_print_char
|
||||
ld a, c
|
||||
call debug_print_char
|
||||
pop AF
|
||||
pop BC
|
||||
ret
|
||||
322
OperatingSystem/monitor_v2/include/disassembler copy.s
Normal file
322
OperatingSystem/monitor_v2/include/disassembler copy.s
Normal file
@@ -0,0 +1,322 @@
|
||||
; HL contains start address
|
||||
; B contains length
|
||||
disassemble:
|
||||
call dasm_print16hex_addr ;print address (HL)
|
||||
call disassemble_table_seek
|
||||
xor a
|
||||
or b
|
||||
or c
|
||||
jr z, disassemble_err ;if bc==0000h
|
||||
|
||||
ld a,(hl) ;load first byte
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
call dasm_print8hex ;print value
|
||||
ld a,(hl)
|
||||
cp 0xC3 ;C3 JPnn
|
||||
jp z, dasm_C3
|
||||
|
||||
;start getting value
|
||||
|
||||
disassemble_err:
|
||||
ld a,(hl)
|
||||
call dasm_print8hex ;print value
|
||||
push hl
|
||||
ld hl, [dasm_UU]
|
||||
call print_str
|
||||
pop hl
|
||||
disassemble_continue:
|
||||
call print_newLine
|
||||
inc hl
|
||||
dec b
|
||||
jp nz, disassemble
|
||||
ret
|
||||
|
||||
|
||||
|
||||
;A contains char
|
||||
;BC contains returned position
|
||||
disassemble_table_seek:
|
||||
push hl
|
||||
ld c,a
|
||||
disassemble_table_seek_loop:
|
||||
ld a,(hl)
|
||||
cp c ; if match
|
||||
jr z, disassemble_table_found
|
||||
or a ; if null
|
||||
jp z, disassemble_table_notfound
|
||||
ld b,0
|
||||
ld c,4
|
||||
add hl,bc
|
||||
ld a,(hl)
|
||||
ld c,a
|
||||
add hl,bc
|
||||
inc hl
|
||||
jr disassemble_table_seek_loop
|
||||
|
||||
|
||||
disassemble_table_found
|
||||
ld b,H
|
||||
ld c,l
|
||||
pop hl
|
||||
ret
|
||||
|
||||
disassemble_table_notfound
|
||||
ld b,0
|
||||
ld c,0
|
||||
pop hl
|
||||
ret
|
||||
|
||||
|
||||
|
||||
dasm_C3: ;JP nn (276)
|
||||
inc hl
|
||||
ld e, (HL)
|
||||
inc hl
|
||||
ld d, (HL)
|
||||
inc hl
|
||||
;de now has jmp value
|
||||
push hl
|
||||
ld hl, [dasm_C3_str]
|
||||
call print_str
|
||||
ld h,d
|
||||
ld l,e
|
||||
call dasm_print16hex_addr
|
||||
pop hl
|
||||
jp disassemble_continue
|
||||
dasm_C3_str:
|
||||
db "JP ",0x00
|
||||
|
||||
dasm_JPccnn: ;JP nn (276)
|
||||
rra
|
||||
rra
|
||||
rra
|
||||
and 0x07
|
||||
call dasm_printFlags
|
||||
ld a, ","
|
||||
call print_char
|
||||
inc hl
|
||||
ld e, (HL)
|
||||
inc hl
|
||||
ld d, (HL)
|
||||
inc hl
|
||||
;de now has jmp value
|
||||
push hl
|
||||
ld hl, [dasm_C3_str]
|
||||
call print_str
|
||||
ld h,d
|
||||
ld l,e
|
||||
call dasm_print16hex_addr
|
||||
pop hl
|
||||
jp disassemble_continue
|
||||
|
||||
dasm_18: ;JR e
|
||||
inc hl
|
||||
ld e, (HL)
|
||||
inc hl
|
||||
;de now has jmp value
|
||||
push hl
|
||||
ld hl, [dasm_18_str]
|
||||
call print_str
|
||||
ld a,e
|
||||
call dasm_print8relhex
|
||||
pop hl
|
||||
jp disassemble_continue
|
||||
dasm_18_str:
|
||||
db "JR ",0x00
|
||||
|
||||
dasm_38: ;JR C,e
|
||||
inc hl
|
||||
ld e, (HL)
|
||||
inc hl
|
||||
;de now has jmp value
|
||||
push hl
|
||||
ld hl, [dasm_38_str]
|
||||
call print_str
|
||||
ld a,e
|
||||
call dasm_print8relhex
|
||||
pop hl
|
||||
jp disassemble_continue
|
||||
dasm_38_str:
|
||||
db "JR C, ",0x00
|
||||
|
||||
dasm_30: ;JR NC,e
|
||||
inc hl
|
||||
ld e, (HL)
|
||||
inc hl
|
||||
;de now has jmp value
|
||||
push hl
|
||||
ld hl, [dasm_30_str]
|
||||
call print_str
|
||||
ld a,e
|
||||
call dasm_print8relhex
|
||||
pop hl
|
||||
jp disassemble_continue
|
||||
dasm_30_str:
|
||||
db "JR NC, ",0x00
|
||||
|
||||
dasm_28: ;JR Z,e
|
||||
inc hl
|
||||
ld e, (HL)
|
||||
inc hl
|
||||
;de now has jmp value
|
||||
push hl
|
||||
ld hl, [dasm_28_str]
|
||||
call print_str
|
||||
ld a,e
|
||||
call dasm_print8relhex
|
||||
pop hl
|
||||
jp disassemble_continue
|
||||
dasm_28_str:
|
||||
db "JR Z, ",0x00
|
||||
|
||||
dasm_20: ;JR NZ,e
|
||||
inc hl
|
||||
ld e, (HL)
|
||||
inc hl
|
||||
;de now has jmp value
|
||||
push hl
|
||||
ld hl, [dasm_20_str]
|
||||
call print_str
|
||||
ld a,e
|
||||
call dasm_print8relhex
|
||||
pop hl
|
||||
jp disassemble_continue
|
||||
dasm_20_str:
|
||||
db "JR NZ, ",0x00
|
||||
|
||||
dasm_E9: ;JR NZ,e
|
||||
inc hl
|
||||
push hl
|
||||
ld hl, [dasm_20_str]
|
||||
call print_str
|
||||
pop hl
|
||||
jp disassemble_continue
|
||||
dasm_E9_str:
|
||||
db "JP (HL), ",0x00
|
||||
|
||||
dasm_E9: ;JP (HL)
|
||||
inc hl
|
||||
push hl
|
||||
ld hl, [dasm_E9_str]
|
||||
call print_str
|
||||
pop hl
|
||||
jp disassemble_continue
|
||||
dasm_E9_str:
|
||||
db "JP (HL)",0x00
|
||||
|
||||
dasm_E9: ;JP (IX)
|
||||
inc hl
|
||||
push hl
|
||||
ld hl, [dasm_E9_str]
|
||||
call print_str
|
||||
pop hl
|
||||
jp disassemble_continue
|
||||
dasm_E9_str:
|
||||
db "JP (IX)",0x00
|
||||
|
||||
dasm_E9: ;JP (IY)
|
||||
inc hl
|
||||
push hl
|
||||
ld hl, [dasm_E9_str]
|
||||
call print_str
|
||||
pop hl
|
||||
jp disassemble_continue
|
||||
dasm_E9_str:
|
||||
db "JP (IY)",0x00
|
||||
|
||||
|
||||
dasm_00: ;JP nn (276)
|
||||
inc hl
|
||||
push hl
|
||||
ld hl, [dasm_00_str]
|
||||
call print_str
|
||||
pop hl
|
||||
jp disassemble_continue
|
||||
dasm_00_str:
|
||||
db "NOP",0x00
|
||||
|
||||
dasm_FF: ;JP nn (276)
|
||||
inc hl
|
||||
push hl
|
||||
ld hl, [dasm_FF_str]
|
||||
call print_str
|
||||
pop hl
|
||||
jp disassemble_continue
|
||||
dasm_FF_str:
|
||||
db "---",0x00
|
||||
|
||||
|
||||
dasm_print16hex_addr:
|
||||
ld a,"$"
|
||||
call print_char
|
||||
ld a,h
|
||||
call print_a_hex
|
||||
ld a,l
|
||||
call print_a_hex
|
||||
ld a,"h"
|
||||
call print_char
|
||||
ld a," "
|
||||
call print_char
|
||||
ret
|
||||
|
||||
dasm_print8hex:
|
||||
call print_a_hex
|
||||
ld a,"h"
|
||||
call print_char
|
||||
ld a," "
|
||||
call print_char
|
||||
ret
|
||||
|
||||
dasm_print8relhex:
|
||||
push af
|
||||
and 0x80
|
||||
jp nz, dasm_print8relhex_neg
|
||||
ld a,"$"
|
||||
call print_char
|
||||
ld a,"+"
|
||||
call print_char
|
||||
pop af
|
||||
call print_a_hex
|
||||
ld a,"h"
|
||||
call print_char
|
||||
ret
|
||||
|
||||
dasm_print8relhex_neg:
|
||||
ld a,"$"
|
||||
call print_char
|
||||
ld a,"-"
|
||||
call print_char
|
||||
pop af
|
||||
neg
|
||||
call print_a_hex
|
||||
ld a,"h"
|
||||
call print_char
|
||||
ret
|
||||
|
||||
|
||||
dasm_printFlags:
|
||||
push hl
|
||||
ld hl, [dasm_printFlags_table]
|
||||
rlca
|
||||
ld b,0
|
||||
ld c,a
|
||||
add hl,bc
|
||||
call print_str
|
||||
ld a, " "
|
||||
call print_char
|
||||
pop hl
|
||||
ret
|
||||
|
||||
dasm_printFlags_table:
|
||||
db "NZ",0
|
||||
db "Z",0,0
|
||||
db "NC"
|
||||
db "C",0,0
|
||||
db "PO",0
|
||||
db "PE",0
|
||||
db "P",0,0
|
||||
db "M",0,0
|
||||
569
OperatingSystem/monitor_v2/include/disassembler.s
Normal file
569
OperatingSystem/monitor_v2/include/disassembler.s
Normal file
@@ -0,0 +1,569 @@
|
||||
var_opcode_start equ PRG_RAM_START ;16 bit pointer to opcode in mem
|
||||
var_opcode_table equ PRG_RAM_START+2 ;16 bit pointer to opcode in table
|
||||
var_opcode equ PRG_RAM_START+4 ;8 bit opcode value
|
||||
var_opcode_x equ PRG_RAM_START+5 ;8 bit opcode extension value
|
||||
var_opcode_length equ PRG_RAM_START+6 ;8 bit opcode length (in bytes)
|
||||
var_opcode_string equ PRG_RAM_START+7 ;16 bit pointer to opcode string
|
||||
var_opcode_pcount equ PRG_RAM_START+9 ;8 bit opcode param count
|
||||
var_bytes_count equ PRG_RAM_START+10 ;bytes to examine
|
||||
; HL contains start address
|
||||
; B contains length
|
||||
disassemble:
|
||||
ld a,b
|
||||
ld (var_bytes_count),a
|
||||
disassemble_next:
|
||||
|
||||
|
||||
ld (var_opcode_start), hl ;16 bit pointer to opcode in mem
|
||||
ld a,(hl) ;load opcode to find in A
|
||||
ld (var_opcode), a ;8 bit opcode value
|
||||
inc hl
|
||||
ld a,(hl) ;load opcode to find in A
|
||||
ld (var_opcode_x), a ;8 bit opcode extended value
|
||||
dec hl
|
||||
call disassemble_table_seek
|
||||
ld a,b
|
||||
or c
|
||||
jp z, disassemble_err ;if bc==0000h
|
||||
|
||||
ld (var_opcode_table), bc ;16 bit pointer to opcode in table
|
||||
|
||||
;load params
|
||||
inc bc
|
||||
inc bc
|
||||
inc bc
|
||||
inc bc
|
||||
ld a,(bc)
|
||||
ld (var_opcode_length),A ;8 bit opcode length (in bytes)
|
||||
inc bc
|
||||
ld a, (bc)
|
||||
ld e,a
|
||||
inc bc
|
||||
ld a, (bc)
|
||||
ld d,a
|
||||
ld (var_opcode_string),de ;16 bit pointer to opcode string
|
||||
inc bc
|
||||
ld a,(bc)
|
||||
ld (var_opcode_pcount),A ;8 bit opcode param count
|
||||
|
||||
;values are prepared. Continue with print
|
||||
|
||||
ld hl,(var_opcode_start) ;print address
|
||||
call dasm_print16hex_addr
|
||||
|
||||
ld a,(var_opcode_length)
|
||||
ld b, a
|
||||
|
||||
;print up to 4 opcode bytes
|
||||
ld hl,(var_opcode_start)
|
||||
|
||||
disassemble_print_opcode_raw
|
||||
ld a,(hl) ;load first byte
|
||||
call print_a_hex
|
||||
inc hl
|
||||
djnz disassemble_print_opcode_raw
|
||||
|
||||
ld a,"h"
|
||||
call print_char
|
||||
;fill empty spots
|
||||
ld a,(var_opcode_length)
|
||||
ld b,a
|
||||
ld a,6
|
||||
sub b
|
||||
ld b,a
|
||||
|
||||
disassemble_print_opcode_raw_fill:
|
||||
ld a," "
|
||||
call print_char
|
||||
ld a," "
|
||||
call print_char
|
||||
djnz disassemble_print_opcode_raw_fill
|
||||
ld a," "
|
||||
call print_char
|
||||
|
||||
push hl
|
||||
;print opcode
|
||||
ld hl,(var_opcode_string)
|
||||
call print_str
|
||||
|
||||
|
||||
;print params
|
||||
ld a,(var_opcode_pcount)
|
||||
or a
|
||||
jp z, disassemble_print_opcode_params_end ;skip if no params
|
||||
|
||||
ld hl,(var_opcode_table)
|
||||
ld bc, 8
|
||||
add hl,bc ;hl now has address of first param
|
||||
ld a,(var_opcode_pcount)
|
||||
ld b,a
|
||||
disassemble_print_opcode_params_loop:
|
||||
;ld a,(hl) ;load param
|
||||
;call print_a_hex
|
||||
ld a,(hl) ;load param
|
||||
|
||||
cp 0x01
|
||||
call z, param_01
|
||||
cp 0x02
|
||||
call z, param_02
|
||||
cp 0x03
|
||||
call z, param_03
|
||||
cp 0x04
|
||||
call z, param_04
|
||||
cp 0x05
|
||||
call z, param_05
|
||||
cp 0x06
|
||||
call z, param_06
|
||||
cp 0x07
|
||||
call z, param_07
|
||||
cp 0x08
|
||||
call z, param_08
|
||||
cp 0x09
|
||||
call z, param_09
|
||||
cp 0x10
|
||||
call z, param_10
|
||||
cp 0x11
|
||||
call z, param_11
|
||||
cp 0x12
|
||||
call z, param_12
|
||||
cp 0x13
|
||||
call z, param_13
|
||||
cp 0x0A
|
||||
call z, param_0A
|
||||
;strings
|
||||
cp 0x80
|
||||
call z, param_80
|
||||
cp 0x81
|
||||
call z, param_81
|
||||
inc hl
|
||||
djnz disassemble_print_opcode_params_loop
|
||||
disassemble_print_opcode_params_end:
|
||||
pop hl
|
||||
jr disassemble_continue
|
||||
|
||||
|
||||
disassemble_err:
|
||||
call dasm_print16hex_addr
|
||||
ld a,(hl)
|
||||
call dasm_print8hex ;print value
|
||||
inc hl
|
||||
push hl
|
||||
ld hl, [dasm_UU]
|
||||
call print_str
|
||||
pop hl
|
||||
|
||||
disassemble_continue:
|
||||
|
||||
call print_newLine
|
||||
;inc hl
|
||||
ld a,(var_bytes_count)
|
||||
dec a
|
||||
ld (var_bytes_count),a
|
||||
jp nz, disassemble_next
|
||||
ret
|
||||
|
||||
|
||||
|
||||
;A contains opcode
|
||||
;BC contains returned position
|
||||
disassemble_table_seek:
|
||||
push hl
|
||||
ld hl, [dasm_opcode_table]
|
||||
disassemble_table_seek_loop:
|
||||
ld a,(var_opcode)
|
||||
ld c,a
|
||||
ld a,(hl)
|
||||
cp 0xFF ; if null
|
||||
jp z, disassemble_table_notfound
|
||||
|
||||
;apply mask
|
||||
push af
|
||||
inc hl
|
||||
ld b,(hl) ;load mask
|
||||
dec hl
|
||||
ld a,c
|
||||
and b ;apply mask
|
||||
ld c,a
|
||||
pop af
|
||||
|
||||
cp c ; if match
|
||||
jr z, disassemble_table_first_match
|
||||
ld b,0
|
||||
ld c,7
|
||||
add hl,bc
|
||||
ld a,(hl)
|
||||
ld c,a
|
||||
add hl,bc
|
||||
inc hl
|
||||
jr disassemble_table_seek_loop
|
||||
|
||||
disassemble_table_first_match
|
||||
inc hl
|
||||
inc hl
|
||||
ld c,(hl) ;load opcode x from table
|
||||
inc hl
|
||||
ld a,(var_opcode_x) ;load current opcode x
|
||||
ld b,(hl) ;load mask
|
||||
and b ;apply mask
|
||||
cp c ;compare to table
|
||||
dec hl
|
||||
dec hl
|
||||
dec hl
|
||||
jr z, disassemble_table_found ;IF FOUND
|
||||
ld b,0 ;else continue with next
|
||||
|
||||
ld c,7
|
||||
add hl,bc
|
||||
ld a,(hl)
|
||||
ld c,a
|
||||
add hl,bc
|
||||
inc hl
|
||||
jr disassemble_table_seek_loop
|
||||
|
||||
disassemble_table_found
|
||||
ld b,H
|
||||
ld c,l
|
||||
pop hl
|
||||
ret
|
||||
|
||||
disassemble_table_notfound
|
||||
ld b,0
|
||||
ld c,0
|
||||
pop hl
|
||||
ret
|
||||
|
||||
|
||||
|
||||
|
||||
dasm_print16hex_addr:
|
||||
ld a,"$"
|
||||
call print_char
|
||||
ld a,h
|
||||
call print_a_hex
|
||||
ld a,l
|
||||
call print_a_hex
|
||||
ld a,"h"
|
||||
call print_char
|
||||
ld a," "
|
||||
call print_char
|
||||
ret
|
||||
|
||||
dasm_print8hex:
|
||||
call print_a_hex
|
||||
ld a,"h"
|
||||
call print_char
|
||||
ld a," "
|
||||
call print_char
|
||||
ret
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
param_01: ; 0x01 16bit address pointer
|
||||
push hl
|
||||
ld de,(var_opcode_start)
|
||||
inc de
|
||||
ld a,(de)
|
||||
ld l,a
|
||||
inc de
|
||||
ld a,(de)
|
||||
ld h,a
|
||||
|
||||
ld a,"$"
|
||||
call print_char
|
||||
ld a,h
|
||||
call print_a_hex
|
||||
ld a,l
|
||||
call print_a_hex
|
||||
ld a,"h"
|
||||
call print_char
|
||||
ld a," "
|
||||
call print_char
|
||||
call param_comma
|
||||
pop hl
|
||||
ret
|
||||
|
||||
param_02:
|
||||
push bc
|
||||
ld de,(var_opcode_start)
|
||||
ld a,(de)
|
||||
rra
|
||||
rra
|
||||
and 0x0E
|
||||
|
||||
push hl
|
||||
ld hl, [dasm_printFlags_table]
|
||||
ld b,0
|
||||
ld c,a
|
||||
add hl,bc
|
||||
call print_str
|
||||
ld a, " "
|
||||
call print_char
|
||||
pop hl
|
||||
pop bc
|
||||
ret
|
||||
|
||||
|
||||
param_03:
|
||||
ld de,(var_opcode_start)
|
||||
inc de
|
||||
ld a,(de)
|
||||
|
||||
push af
|
||||
and 0x80
|
||||
jp nz, param_03_neg
|
||||
ld a,"$"
|
||||
call print_char
|
||||
ld a,"+"
|
||||
call print_char
|
||||
pop af
|
||||
call print_a_hex
|
||||
ld a,"h"
|
||||
call print_char
|
||||
jr param_03_done
|
||||
|
||||
param_03_neg:
|
||||
ld a,"$"
|
||||
call print_char
|
||||
ld a,"-"
|
||||
call print_char
|
||||
pop af
|
||||
neg
|
||||
call print_a_hex
|
||||
ld a,"h"
|
||||
call print_char
|
||||
jr param_03_done
|
||||
|
||||
param_03_done:
|
||||
call param_comma
|
||||
ret
|
||||
|
||||
|
||||
param_04:
|
||||
ld de,(var_opcode_start)
|
||||
inc de
|
||||
ld a,(de)
|
||||
cp 0x4D
|
||||
jr z,param_04_i
|
||||
ld a,"N"
|
||||
call print_char
|
||||
ret
|
||||
param_04_i:
|
||||
ld a,"I"
|
||||
call print_char
|
||||
ret
|
||||
|
||||
param_05:
|
||||
push bc
|
||||
ld de,(var_opcode_start)
|
||||
ld a,(de)
|
||||
and 0x38
|
||||
; print hex char
|
||||
call dasm_print8hex
|
||||
pop bc
|
||||
ret
|
||||
|
||||
|
||||
param_06:
|
||||
push bc
|
||||
ld de,(var_opcode_start)
|
||||
ld a,(de)
|
||||
rra
|
||||
rra
|
||||
rra
|
||||
and 0x07
|
||||
call param_printRegister
|
||||
ld a," "
|
||||
call print_char
|
||||
ld a,","
|
||||
call print_char
|
||||
pop bc
|
||||
ret
|
||||
|
||||
param_07:
|
||||
push bc
|
||||
ld de,(var_opcode_start)
|
||||
ld a,(de)
|
||||
and 0x07
|
||||
|
||||
call param_printRegister
|
||||
pop bc
|
||||
ret
|
||||
|
||||
param_08:
|
||||
push bc
|
||||
ld de,(var_opcode_start)
|
||||
inc de
|
||||
ld a,(de)
|
||||
call dasm_print8hex
|
||||
pop bc
|
||||
ret
|
||||
|
||||
|
||||
param_0A:
|
||||
push hl
|
||||
ld de,(var_opcode_start)
|
||||
inc de
|
||||
inc de
|
||||
jr param_09_0A
|
||||
param_09:
|
||||
push hl
|
||||
ld de,(var_opcode_start)
|
||||
inc de
|
||||
param_09_0A:
|
||||
ld a,(de)
|
||||
ld l,a
|
||||
inc de
|
||||
ld a,(de)
|
||||
ld h,a
|
||||
ld a,h
|
||||
call print_a_hex
|
||||
ld a,l
|
||||
call print_a_hex
|
||||
pop hl
|
||||
ret
|
||||
|
||||
param_10:
|
||||
push bc
|
||||
ld de,(var_opcode_start)
|
||||
ld a,(de)
|
||||
rra
|
||||
rra
|
||||
rra
|
||||
and 0x07
|
||||
call param_printRegister
|
||||
pop bc
|
||||
ret
|
||||
|
||||
|
||||
param_11:
|
||||
push hl
|
||||
push bc
|
||||
ld de,(var_opcode_start)
|
||||
jr param_11_12
|
||||
param_12:
|
||||
push hl
|
||||
push bc
|
||||
ld de,(var_opcode_start)
|
||||
inc de
|
||||
|
||||
param_11_12:
|
||||
ld a,(de)
|
||||
rra
|
||||
rra
|
||||
rra
|
||||
and 0x06
|
||||
push af
|
||||
;check which table to use
|
||||
ld hl, (var_opcode_start)
|
||||
ld a,(hl)
|
||||
cp 0xDD
|
||||
jr z,param_11_12_ix
|
||||
cp 0xFD
|
||||
jr z,param_11_12_iy
|
||||
param_11_12_def:
|
||||
ld hl, [dasm_printRegister8_table]
|
||||
jr param_11_12_all
|
||||
param_11_12_ix:
|
||||
ld hl, [dasm_printRegisterIX_table]
|
||||
jr param_11_12_all
|
||||
param_11_12_iy:
|
||||
ld hl, [dasm_printRegisterIY_table]
|
||||
param_11_12_all:
|
||||
pop af
|
||||
ld b,0
|
||||
ld c,a
|
||||
add hl, bc
|
||||
ld a,(hl)
|
||||
call print_char
|
||||
inc hl
|
||||
ld a,(hl)
|
||||
call print_char
|
||||
pop bc
|
||||
pop hl
|
||||
ret
|
||||
|
||||
param_13:
|
||||
push hl
|
||||
push bc
|
||||
ld de,(var_opcode_start)
|
||||
ld a,(de)
|
||||
rra
|
||||
rra
|
||||
rra
|
||||
and 0x06
|
||||
push af
|
||||
;check which table to use
|
||||
ld hl, (var_opcode_start)
|
||||
ld a,(hl)
|
||||
ld hl, [dasm_printRegisterSP_table]
|
||||
jr param_11_12_all ;reuse code from 11_12
|
||||
|
||||
|
||||
param_81:
|
||||
push hl
|
||||
push bc
|
||||
ld hl, (var_opcode_string)
|
||||
ld b,2
|
||||
jr param_80_seek
|
||||
param_80:
|
||||
push hl
|
||||
push bc
|
||||
ld hl, (var_opcode_string)
|
||||
ld b,1
|
||||
param_80_seek:
|
||||
ld a,(hl)
|
||||
inc hl
|
||||
and a
|
||||
jr nz, param_80_seek
|
||||
;found
|
||||
dec b ;found but counter too high
|
||||
jp nz, param_80_seek
|
||||
|
||||
call print_str
|
||||
pop bc
|
||||
pop hl
|
||||
ret
|
||||
|
||||
|
||||
|
||||
param_printRegister:
|
||||
push hl
|
||||
cp 0x06
|
||||
jr z, param_printRegisterHL
|
||||
cp 0x07
|
||||
jr z, param_printRegisterA
|
||||
ld hl, [dasm_printRegister8_table]
|
||||
ld b,0
|
||||
ld c,a
|
||||
add hl,bc
|
||||
ld a, (hl)
|
||||
call print_char
|
||||
pop hl
|
||||
ret
|
||||
|
||||
param_printRegisterHL:
|
||||
ld hl, [dasm_printRegister8_table_HL]
|
||||
call print_str
|
||||
pop hl
|
||||
ret
|
||||
|
||||
param_printRegisterA:
|
||||
ld a,"A"
|
||||
call print_char
|
||||
pop hl
|
||||
ret
|
||||
|
||||
|
||||
param_comma:
|
||||
ld a,b
|
||||
cp 1
|
||||
ret z
|
||||
ld a," "
|
||||
call print_char
|
||||
ld a,","
|
||||
call print_char
|
||||
ret
|
||||
333
OperatingSystem/monitor_v2/include/disassembler_table.s
Normal file
333
OperatingSystem/monitor_v2/include/disassembler_table.s
Normal file
@@ -0,0 +1,333 @@
|
||||
;disassembler tables
|
||||
|
||||
dasm_opcode_table:
|
||||
;byte 0 = opcode
|
||||
;byte 1 = opcode mask
|
||||
;byte 2 = opcode extended
|
||||
;byte 3 = opcode extended mask
|
||||
;byte 4 = length
|
||||
;byte 5+6 = pointer to string
|
||||
;byte 7 = params = count of paramters
|
||||
;byte 8+ = paramters
|
||||
; 0x01 16bit address pointer
|
||||
; 0x02 flag bit 3-5
|
||||
; 0x03 relative jmp address
|
||||
; 0x04 RETI/RETN
|
||||
; 0x05 RST Vector
|
||||
; 0x06 register (r)
|
||||
; 0x07 register (r')
|
||||
; 0x08 8-Bit value
|
||||
; 0x09 16-Bit value
|
||||
; 0x0A 16-bit value with offset +1
|
||||
; 0x10 same as 0x06 without ","
|
||||
; 0x11 print 16 bit register from 1st byte
|
||||
; 0x12 print 16 bit register from 2nd byte
|
||||
; 0x13 push/pop register lookup
|
||||
; 0x80 print string suffix
|
||||
; 0x81 print string suffix 2
|
||||
defb 0x00, 0xFF, 0x00, 0x00, 1, [dasm_00], [dasm_00]>>8,0 ;NOP
|
||||
;General-Purpose Arithmetic and CPU Control Groups
|
||||
defb 0x27, 0xFF, 0x00, 0x00, 1, [dasm_27], [dasm_27]>>8, 0 ;DAA
|
||||
defb 0x2F, 0xFF, 0x00, 0x00, 1, [dasm_2F], [dasm_2F]>>8, 0 ;CPL
|
||||
defb 0xED, 0xFF, 0x44, 0xFF, 2, [dasm_ED_44], [dasm_ED_44]>>8, 0 ;NEG
|
||||
defb 0x3f, 0xFF, 0x00, 0x00, 1, [dasm_3F], [dasm_3F]>>8, 0 ;CCF
|
||||
defb 0x37, 0xFF, 0x00, 0x00, 1, [dasm_37], [dasm_37]>>8, 0 ;SCF
|
||||
;defb 0x00, 0xFF, 0x00, 0x00, 1, [dasm_00], [dasm_00]>>8,0 ;NOP -> already at top for performance reasons
|
||||
defb 0x76, 0xFF, 0x00, 0x00, 1, [dasm_76], [dasm_76]>>8, 0 ;HALT
|
||||
defb 0xF3, 0xFF, 0x00, 0x00, 1, [dasm_F3], [dasm_F3]>>8, 0 ;DI
|
||||
defb 0xFB, 0xFF, 0x00, 0x00, 1, [dasm_FB], [dasm_FB]>>8, 0 ;EI
|
||||
defb 0xED, 0xFF, 0x46, 0xFF, 2, [dasm_ED_46], [dasm_ED_46]>>8, 0 ;IM 0
|
||||
defb 0xED, 0xFF, 0x56, 0xFF, 2, [dasm_ED_56], [dasm_ED_56]>>8, 0 ;IM 1
|
||||
defb 0xED, 0xFF, 0x5E, 0xFF, 2, [dasm_ED_5E], [dasm_ED_5E]>>8, 0 ;IM 2
|
||||
|
||||
;Exchange, Block Transfer, and Search Group
|
||||
defb 0xEB, 0xFF, 0x00, 0x00, 1, [dasm_BE], [dasm_BE]>>8, 0 ;EX DE, HL
|
||||
defb 0x08, 0xFF, 0x00, 0x00, 1, [dasm_08], [dasm_08]>>8, 0 ;EX AF, AF′
|
||||
defb 0xD9, 0xFF, 0x00, 0x00, 1, [dasm_D9], [dasm_D9]>>8, 0 ;EXX
|
||||
defb 0xE3, 0xFF, 0x00, 0x00, 1, [dasm_E3], [dasm_E3]>>8, 0 ;EX (SP), HL
|
||||
defb 0xDD, 0xFF, 0xE3, 0xFF, 2, [dasm_DD_E3], [dasm_DD_E3]>>8, 0 ;EX (SP), IX
|
||||
defb 0xFD, 0xFF, 0xE3, 0xFF, 2, [dasm_FD_E3], [dasm_FD_E3]>>8, 0 ;EX (SP), IY
|
||||
defb 0xED, 0xFF, 0xA0, 0xFF, 2, [dasm_ED_A0], [dasm_ED_A0]>>8, 0 ;LDI
|
||||
defb 0xED, 0xFF, 0xB0, 0xFF, 2, [dasm_ED_B0], [dasm_ED_B0]>>8, 0 ;LDIR
|
||||
defb 0xED, 0xFF, 0xA8, 0xFF, 2, [dasm_ED_A8], [dasm_ED_A8]>>8, 0 ;LDD
|
||||
defb 0xED, 0xFF, 0xB8, 0xFF, 2, [dasm_ED_B8], [dasm_ED_B8]>>8, 0 ;LDDR
|
||||
defb 0xED, 0xFF, 0xA1, 0xFF, 2, [dasm_ED_A1], [dasm_ED_A1]>>8, 0 ;CPI
|
||||
defb 0xED, 0xFF, 0xB1, 0xFF, 2, [dasm_ED_B1], [dasm_ED_B1]>>8, 0 ;CPIR
|
||||
defb 0xED, 0xFF, 0xA9, 0xFF, 2, [dasm_ED_A9], [dasm_ED_A9]>>8, 0 ;CPD
|
||||
defb 0xED, 0xFF, 0xB9, 0xFF, 2, [dasm_ED_B9], [dasm_ED_B9]>>8, 0 ;CPDR
|
||||
|
||||
;JUMP Group
|
||||
defb 0xC3, 0xFF, 0x00, 0x00, 3, [dasm_C3], [dasm_C3]>>8,1, 0x01 ;JP nn
|
||||
defb 0xC2, 0xC7, 0x00, 0x00, 3, [dasm_C3], [dasm_C3]>>8,3, 0x02, 0x80, 0x01 ;JP cc,nn
|
||||
defb 0x18, 0xFF, 0x00, 0x00, 2, [dasm_18], [dasm_18]>>8,1, 0x03 ;JR e
|
||||
defb 0x38, 0xFF, 0x00, 0x00, 2, [dasm_38], [dasm_38]>>8,1, 0x03 ;JR C,e
|
||||
defb 0x30, 0xFF, 0x00, 0x00, 2, [dasm_30], [dasm_30]>>8,1, 0x03 ;JR NC,e
|
||||
defb 0x28, 0xFF, 0x00, 0x00, 2, [dasm_28], [dasm_28]>>8,1, 0x03 ;JR Z,e
|
||||
defb 0x20, 0xFF, 0x00, 0x00, 2, [dasm_20], [dasm_20]>>8,1, 0x03 ;JR NZ,e
|
||||
defb 0xE9, 0xFF, 0x00, 0x00, 2, [dasm_E9], [dasm_E9]>>8,0 ;JP (HL)
|
||||
defb 0xDD, 0xFF, 0xE9, 0xFF, 2, [dasm_DD], [dasm_DD]>>8,0 ;JP (IX)
|
||||
defb 0xFD, 0xFF, 0xE9, 0xFF, 2, [dasm_FD], [dasm_FD]>>8,0 ;JP (IY)
|
||||
defb 0x10, 0xFF, 0x00, 0x00, 2, [dasm_10], [dasm_10]>>8,1, 0x03 ;DJNZ, e
|
||||
;Call and Return Group
|
||||
defb 0xCD, 0xFF, 0x00, 0x00, 3, [dasm_CD], [dasm_CD]>>8,1, 0x01 ;CALL nn
|
||||
defb 0xC4, 0xC7, 0x00, 0x00, 3, [dasm_CD], [dasm_CD]>>8,2, 0x02, 0x01 ;CALL cc,nn
|
||||
defb 0xC9, 0xFF, 0x00, 0x00, 1, [dasm_C9], [dasm_C9]>>8,0 ;RET
|
||||
defb 0xC0, 0xC7, 0x00, 0x00, 1, [dasm_C9], [dasm_C9]>>8,1, 0x02 ;RET cc
|
||||
defb 0xED, 0xFF, 0x4D, 0xFF, 2, [dasm_ED_4D], [dasm_ED_4D]>>8,0 ;RETI
|
||||
defb 0xED, 0xFF, 0x45, 0xFF, 2, [dasm_ED_45], [dasm_ED_45]>>8,0 ;RETN
|
||||
|
||||
defb 0xC7, 0xC7, 0x00, 0x00, 1, [dasm_FF], [dasm_FF]>>8,1, 0x05 ;RST
|
||||
;8-Bit load group
|
||||
defb 0x0A, 0xFF, 0x00, 0x00, 1, [dasm_0A], [dasm_0A]>>8, 0 ;LD A, (BC)
|
||||
defb 0x1A, 0xFF, 0x00, 0x00, 1, [dasm_1A], [dasm_1A]>>8, 0 ;LD A, (DE)
|
||||
defb 0x3A, 0xFF, 0x00, 0x00, 3, [dasm_3A], [dasm_3A]>>8, 2, 0x09, 0x80 ;LD A, (nn)
|
||||
defb 0x02, 0xFF, 0x00, 0x00, 1, [dasm_02], [dasm_02]>>8, 0 ;LD (BC), A
|
||||
defb 0x12, 0xFF, 0x00, 0x00, 1, [dasm_12], [dasm_12]>>8, 0 ;LD (DE), A
|
||||
defb 0x32, 0xFF, 0x00, 0x00, 3, [dasm_32], [dasm_32]>>8, 2, 0x09, 0x80 ;LD (nn), A
|
||||
defb 0xED, 0xFF, 0x57, 0xFF, 2, [dasm__ED_57], [dasm__ED_57]>>8, 0 ;LD A, I
|
||||
defb 0xED, 0xFF, 0x5F, 0xFF, 2, [dasm__ED_5F], [dasm__ED_5F]>>8, 0 ;LD A, R
|
||||
defb 0xED, 0xFF, 0x47, 0xFF, 2, [dasm__ED_47], [dasm__ED_47]>>8, 0 ;LD I, A
|
||||
defb 0xED, 0xFF, 0x4F, 0xFF, 2, [dasm__ED_4F], [dasm__ED_4F]>>8, 0 ;LD R, A
|
||||
|
||||
defb 0x06, 0xC7, 0x00, 0x00, 2, [dasm__LD], [dasm__LD]>>8, 2, 0x06, 0x08 ;LD r, n
|
||||
defb 0x40, 0xC0, 0x00, 0x00, 1, [dasm__LD], [dasm__LD]>>8, 2, 0x06, 0x07 ;LD r, r' / LD r, (HL) / LD (HL), r
|
||||
|
||||
;8-Bit Arithmetic Group
|
||||
defb 0x80, 0xF8, 0x00, 0x00, 1, [dasm_80C6], [dasm_80C6]>>8, 1, 0x07 ;ADD A, r / ADD A, (HL)
|
||||
defb 0xC6, 0xFF, 0x00, 0x00, 2, [dasm_80C6], [dasm_80C6]>>8, 1, 0x08 ;ADD A, n
|
||||
defb 0xDD, 0xFF, 0x86, 0xFF, 3, [dasm_DD_86], [dasm_DD_86]>>8, 2, 0x08, 0x80 ;ADD A, (IX + d)
|
||||
defb 0xFD, 0xFF, 0x86, 0xFF, 3, [dasm_FD_86], [dasm_FD_86]>>8, 2, 0x08, 0x80 ;ADD A, (IY + d)
|
||||
defb 0xC8, 0xF8, 0x00, 0x00, 1, [dasm_C88E], [dasm_C88E]>>8, 1, 0x07 ;ADC A, r / ADC A, (HL)
|
||||
defb 0x8E, 0xF8, 0x00, 0x00, 2, [dasm_C88E], [dasm_C88E]>>8, 1, 0x08 ;ADC A, n
|
||||
defb 0xDD, 0xFF, 0x8E, 0xFF, 3, [dasm_DD_8E], [dasm_DD_8E]>>8, 2, 0x08, 0x80 ;ADC A, (IX + d)
|
||||
defb 0xFD, 0xFF, 0x8E, 0xFF, 3, [dasm_FD_8E], [dasm_FD_8E]>>8, 2, 0x08, 0x80 ;ADC A, (IY + d)
|
||||
defb 0x90, 0xF8, 0x00, 0x00, 1, [dasm__SUB], [dasm__SUB]>>8, 1, 0x07 ;SUB r / SUB A, (HL)
|
||||
defb 0xD6, 0xFF, 0x00, 0x00, 2, [dasm__SUB], [dasm__SUB]>>8, 1, 0x08 ;SUB n
|
||||
defb 0xDD, 0xFF, 0x96, 0xFF, 3, [dasm_DD_96], [dasm_DD_96]>>8, 2, 0x08, 0x80 ;SUB (IX + d)
|
||||
defb 0xFD, 0xFF, 0x96, 0xFF, 3, [dasm_FD_96], [dasm_FD_96]>>8, 2, 0x08, 0x80 ;SUB (IY + d)
|
||||
defb 0x94, 0xF8, 0x00, 0x00, 1, [dasm__SBC], [dasm__SBC]>>8, 1, 0x07 ;SBC A,r / SBC A, (HL)
|
||||
defb 0xDE, 0xFF, 0x00, 0x00, 2, [dasm__SBC], [dasm__SBC]>>8, 1, 0x08 ;SBC A,n
|
||||
defb 0xDD, 0xFF, 0x9E, 0xFF, 3, [dasm_DD_9E], [dasm_DD_9E]>>8, 2, 0x08, 0x80 ;SBC A,(IX + d)
|
||||
defb 0xFD, 0xFF, 0x9E, 0xFF, 3, [dasm_FD_9E], [dasm_FD_9E]>>8, 2, 0x08, 0x80 ;SBC A,(IY + d)
|
||||
defb 0xA0, 0xF8, 0x00, 0x00, 1, [dasm__AND], [dasm__AND]>>8, 1, 0x07 ;AND A,r / AND A, (HL)
|
||||
defb 0xE6, 0xFF, 0x00, 0x00, 2, [dasm__AND], [dasm__AND]>>8, 1, 0x08 ;AND A,n
|
||||
defb 0xDD, 0xFF, 0xA6, 0xFF, 3, [dasm_DD_A6], [dasm_DD_A6]>>8, 2, 0x08, 0x80 ;AND A,(IX + d)
|
||||
defb 0xFD, 0xFF, 0xA6, 0xFF, 3, [dasm_FD_A6], [dasm_FD_A6]>>8, 2, 0x08, 0x80 ;AND A,(IY + d)
|
||||
defb 0xB0, 0xF8, 0x00, 0x00, 1, [dasm__OR], [dasm__OR]>>8, 1, 0x07 ;OR A,r / OR A, (HL)
|
||||
defb 0xF6, 0xFF, 0x00, 0x00, 2, [dasm__OR], [dasm__OR]>>8, 1, 0x08 ;OR A,n
|
||||
defb 0xDD, 0xFF, 0xB6, 0xFF, 3, [dasm_DD_B6], [dasm_DD_B6]>>8, 2, 0x08, 0x80 ;OR A,(IX + d)
|
||||
defb 0xFD, 0xFF, 0xB6, 0xFF, 3, [dasm_FD_B6], [dasm_FD_B6]>>8, 2, 0x08, 0x80 ;OR A,(IY + d)
|
||||
defb 0xA8, 0xF8, 0x00, 0x00, 1, [dasm__XOR], [dasm__XOR]>>8, 1, 0x07 ;XOR A,r / XOR A, (HL)
|
||||
defb 0xEE, 0xFF, 0x00, 0x00, 2, [dasm__XOR], [dasm__XOR]>>8, 1, 0x08 ;XOR A,n
|
||||
defb 0xDD, 0xFF, 0xAE, 0xFF, 3, [dasm_DD_AE], [dasm_DD_AE]>>8, 2, 0x08, 0x80 ;XOR A,(IX + d)
|
||||
defb 0xFD, 0xFF, 0xAE, 0xFF, 3, [dasm_FD_AE], [dasm_FD_AE]>>8, 2, 0x08, 0x80 ;XOR A,(IY + d)
|
||||
defb 0xB8, 0xF8, 0x00, 0x00, 1, [dasm__CP], [dasm__CP]>>8, 1, 0x07 ;CP A,r / CP A, (HL)
|
||||
defb 0xFE, 0xFF, 0x00, 0x00, 2, [dasm__CP], [dasm__CP]>>8, 1, 0x08 ;CP A,n
|
||||
defb 0xDD, 0xFF, 0xBE, 0xFF, 3, [dasm_DD_BE], [dasm_DD_BE]>>8, 2, 0x08, 0x80 ;CP A,(IX + d)
|
||||
defb 0xFD, 0xFF, 0xBE, 0xFF, 3, [dasm_FD_BE], [dasm_FD_BE]>>8, 2, 0x08, 0x80 ;CP A,(IY + d)
|
||||
defb 0x04, 0xC7, 0x00, 0x00, 1, [dasm__INC], [dasm__INC]>>8, 1, 0x10 ;INC r / INC (HL)
|
||||
defb 0xDD, 0xFF, 0x34, 0xFF, 3, [dasm_DD_34], [dasm_DD_34]>>8, 2, 0x08, 0x80 ;INC (IX + d)
|
||||
defb 0xFD, 0xFF, 0x34, 0xFF, 3, [dasm_FD_34], [dasm_FD_34]>>8, 2, 0x08, 0x80 ;INC (IY + d)
|
||||
defb 0x05, 0xC7, 0x00, 0x00, 1, [dasm__DEC], [dasm__DEC]>>8, 1, 0x10 ;DEC r / DEC (HL)
|
||||
defb 0xDD, 0xFF, 0x35, 0xFF, 3, [dasm_DD_35], [dasm_DD_35]>>8, 2, 0x08, 0x80 ;DEC (IX + d)
|
||||
defb 0xFD, 0xFF, 0x35, 0xFF, 3, [dasm_FD_35], [dasm_FD_35]>>8, 2, 0x08, 0x80 ;DEC (IY + d)
|
||||
;16-Bit Arithmetic Group
|
||||
defb 0x09, 0xCF, 0x00, 0x00, 1, [dasm_09], [dasm_09]>>8, 1, 0x11 ;ADD HL, ss
|
||||
defb 0xED, 0xFF, 0x4A, 0xCF, 2, [dasm_ED_4A], [dasm_ED_4A]>>8, 1, 0x12 ;ADC HL, ss
|
||||
defb 0xED, 0xFF, 0x42, 0xCF, 2, [dasm_ED_42], [dasm_ED_42]>>8, 1, 0x12 ;SBC HL, ss
|
||||
defb 0xDD, 0xFF, 0x09, 0xCF, 2, [dasm_DD_09], [dasm_DD_09]>>8, 1, 0x12 ;ADD IX, ss
|
||||
defb 0xFD, 0xFF, 0x09, 0xCF, 2, [dasm_FD_09], [dasm_FD_09]>>8, 1, 0x12 ;ADD IY, ss
|
||||
defb 0x03, 0xCF, 0x00, 0x00, 1, [dasm_03], [dasm_03]>>8, 1, 0x11 ;INC ss
|
||||
defb 0xDD, 0xFF, 0x23, 0xFF, 2, [dasm_DD_23], [dasm_DD_23]>>8, 0 ;INC IX
|
||||
defb 0xFD, 0xFF, 0x23, 0xFF, 2, [dasm_FD_23], [dasm_FD_23]>>8, 0 ;INC IY
|
||||
defb 0x0B, 0xCF, 0x00, 0x00, 1, [dasm_0B], [dasm_0B]>>8, 1, 0x11 ;DEC ss
|
||||
defb 0xDD, 0xFF, 0x2B, 0xFF, 2, [dasm_DD_2B], [dasm_DD_2B]>>8, 0 ;DEC IX
|
||||
defb 0xFD, 0xFF, 0x2B, 0xFF, 2, [dasm_FD_2B], [dasm_FD_2B]>>8, 0 ;DEC IY
|
||||
;16-Bit Load Group
|
||||
defb 0x01, 0xCF, 0x00, 0x00, 3, [dasm_01], [dasm_01]>>8, 3, 0x11, 0x80, 0x09 ;LD dd, nn
|
||||
defb 0xDD, 0xFF, 0x21, 0xFF, 4, [dasm_DD_01], [dasm_DD_01]>>8, 1, 0x0A ;LD IX, nn
|
||||
defb 0xFD, 0xFF, 0x21, 0xFF, 4, [dasm_FD_01], [dasm_FD_01]>>8, 1, 0x0A ;LD IY, nn
|
||||
defb 0x2A, 0xFF, 0x00, 0x00, 3, [dasm_2A], [dasm_2A]>>8, 2, 0x09, 0x80 ;LD HL, (nn)
|
||||
defb 0xED, 0xFF, 0x4B, 0xCF, 4, [dasm_ED_4B], [dasm_ED_4B]>>8, 4, 0x12, 0x80, 0x0A, 0x81 ;LD dd, (nn)
|
||||
defb 0xDD, 0xFF, 0x2A, 0xFF, 4, [dasm_DD_2A], [dasm_DD_2A]>>8, 1, 0x0A ;LD IX, (nn)
|
||||
defb 0xFD, 0xFF, 0x2A, 0xFF, 4, [dasm_FD_2A], [dasm_FD_2A]>>8, 1, 0x0A ;LD IY, (nn)
|
||||
defb 0x22, 0xFF, 0x00, 0x00, 3, [dasm_22], [dasm_22]>>8, 2, 0x0A, 0x80 ;LD (nn), HL
|
||||
defb 0xED, 0xFF, 0x43, 0xCF, 4, [dasm_ED_43], [dasm_ED_43]>>8, 3, 0x0A, 0x80, 0x12 ;LD (nn), dd
|
||||
defb 0xDD, 0xFF, 0x22, 0xCF, 4, [dasm_DD_22], [dasm_DD_22]>>8, 2, 0x0A, 0x80 ;LD (nn), IX
|
||||
defb 0xFD, 0xFF, 0x22, 0xCF, 4, [dasm_FD_22], [dasm_FD_22]>>8, 2, 0x0A, 0x80 ;LD (nn), IY
|
||||
defb 0xF9, 0xFF, 0x00, 0x00, 1, [dasm_F9], [dasm_F9]>>8, 0 ;LD SP, HL
|
||||
defb 0xDD, 0xFF, 0xF9, 0xFF, 2, [dasm_DD_F9], [dasm_DD_F9]>>8, 0 ;LD SP, IX
|
||||
defb 0xFD, 0xFF, 0xF9, 0xFF, 2, [dasm_FD_F9], [dasm_FD_F9]>>8, 0 ;LD SP, IY
|
||||
defb 0xC5, 0xCF, 0x00, 0x00, 1, [dasm_E5], [dasm_E5]>>8, 1, 0x13 ;PUSH qq
|
||||
defb 0xDD, 0xFF, 0xE5, 0xFF, 2, [dasm_DD_E5], [dasm_DD_E5]>>8, 0 ;PUSH IX
|
||||
defb 0xFD, 0xFF, 0xE5, 0xFF, 2, [dasm_FD_E5], [dasm_FD_E5]>>8, 0 ;PUSH IY
|
||||
defb 0xC1, 0xCF, 0x00, 0x00, 1, [dasm_E1], [dasm_E1]>>8, 1, 0x13 ;POP qq
|
||||
defb 0xDD, 0xFF, 0xE1, 0xFF, 2, [dasm_DD_E1], [dasm_DD_E1]>>8, 0 ;POP IX
|
||||
defb 0xFD, 0xFF, 0xE1, 0xFF, 2, [dasm_FD_E1], [dasm_FD_E1]>>8, 0 ;POP IY
|
||||
|
||||
|
||||
dasm_00: db "NOP",0x00
|
||||
;JUMP Group
|
||||
dasm_C3: db "JP ",0x00,", ",0x00
|
||||
dasm_18: db "JR ",0x00
|
||||
dasm_38: db "JR C, ",0x00
|
||||
dasm_30: db "JR NC, ",0x00
|
||||
dasm_28: db "JR Z, ",0x00
|
||||
dasm_20: db "JR NZ, ",0x00
|
||||
dasm_E9: db "JP (HL) ",0x00
|
||||
dasm_DD: db "JP (IX) ",0x00
|
||||
dasm_FD: db "JP (IY) ",0x00
|
||||
dasm_10: db "DJNZ ",0x00
|
||||
;Call and Return Group
|
||||
dasm_CD: db "CALL ",0x00
|
||||
dasm_C9: db "RET ",0x00
|
||||
dasm_ED_4D: db "RETI",0x00
|
||||
dasm_ED_45: db "RETN",0x00
|
||||
dasm_FF: db "RST ",0x00
|
||||
;8-Bit load group
|
||||
dasm_0A: db "LD A,(BC)",0x00
|
||||
dasm_1A: db "LD A,(DE)",0x00
|
||||
dasm_3A: db "LD A,(",0x00, "h)",0x00
|
||||
dasm_02: db "LD (BC), A",0x00
|
||||
dasm_12: db "LD (DE), A",0x00
|
||||
dasm_32: db "LD (",0x00, "h), A",0x00
|
||||
dasm__LD: db "LD ",0x00
|
||||
dasm__ED_57: db "LD A, I",0x00
|
||||
dasm__ED_5F: db "LD A, R",0x00
|
||||
dasm__ED_47: db "LD I, A",0x00
|
||||
dasm__ED_4F: db "LD R, A",0x00
|
||||
;General-Purpose Arithmetic and CPU Control Groups
|
||||
dasm_27: db "DAA",0x00
|
||||
dasm_2F: db "CPL",0x00
|
||||
dasm_ED_44: db "NEG",0x00
|
||||
dasm_3F: db "CCF",0x00
|
||||
dasm_37: db "SCF",0x00
|
||||
dasm_76: db "HALT",0x00
|
||||
dasm_F3: db "DI",0x00
|
||||
dasm_FB: db "EI",0x00
|
||||
dasm_ED_46: db "IM 0",0x00
|
||||
dasm_ED_56: db "IM 1",0x00
|
||||
dasm_ED_5E: db "IM 2",0x00
|
||||
;Exchange, Block Transfer, and Search Group
|
||||
dasm_BE: db "EX DE, HL",0x00
|
||||
dasm_08: db "EX AF, AF′",0x00
|
||||
dasm_D9: db "EXX",0x00
|
||||
dasm_E3: db "EX (SP), HL",0x00
|
||||
dasm_DD_E3: db "EX (SP), IX",0x00
|
||||
dasm_FD_E3: db "EX (SP), IY",0x00
|
||||
dasm_ED_A0: db "LDI",0x00
|
||||
dasm_ED_B0: db "LDIR",0x00
|
||||
dasm_ED_A8: db "LDD",0x00
|
||||
dasm_ED_B8: db "LDDR",0x00
|
||||
dasm_ED_A1: db "CPI",0x00
|
||||
dasm_ED_B1: db "CPIR",0x00
|
||||
dasm_ED_A9: db "CPD",0x00
|
||||
dasm_ED_B9: db "CPDR",0x00
|
||||
;8-Bit Arithmetic Group
|
||||
dasm_80C6: db "ADD A, ", 0x00
|
||||
dasm_DD_86: db "ADD A, (IX+", 0x00, "h)",0x00
|
||||
dasm_FD_86: db "ADD A, (IY+", 0x00, "h)",0x00
|
||||
dasm_C88E: db "ADC A, ", 0x00
|
||||
dasm_DD_8E: db "ADC A, (IX+", 0x00, "h)",0x00
|
||||
dasm_FD_8E: db "ADC A, (IY+", 0x00, "h)",0x00
|
||||
dasm__SUB: db "SUB ", 0x00
|
||||
dasm_DD_96: db "SUB (IX+", 0x00, "h)",0x00
|
||||
dasm_FD_96: db "SUB (IY+", 0x00, "h)",0x00
|
||||
dasm__SBC: db "SBC A, ", 0x00
|
||||
dasm_DD_9E: db "SBC A,(IX+", 0x00, "h)",0x00
|
||||
dasm_FD_9E: db "SBC A,(IY+", 0x00, "h)",0x00
|
||||
dasm__AND: db "AND ", 0x00
|
||||
dasm_DD_A6: db "AND (IX+", 0x00, "h)",0x00
|
||||
dasm_FD_A6: db "AND (IY+", 0x00, "h)",0x00
|
||||
dasm__OR: db "OR ", 0x00
|
||||
dasm_DD_B6: db "OR (IX+", 0x00, "h)",0x00
|
||||
dasm_FD_B6: db "OR (IY+", 0x00, "h)",0x00
|
||||
dasm__XOR: db "XOR ", 0x00
|
||||
dasm_DD_AE: db "XOR (IX+", 0x00, "h)",0x00
|
||||
dasm_FD_AE: db "XOR (IY+", 0x00, "h)",0x00
|
||||
dasm__CP: db "CP ", 0x00
|
||||
dasm_DD_BE: db "CP (IX+", 0x00, "h)",0x00
|
||||
dasm_FD_BE: db "CP (IY+", 0x00, "h)",0x00
|
||||
dasm__INC: db "INC ", 0x00
|
||||
dasm_DD_34: db "INC (IX+", 0x00, "h)",0x00
|
||||
dasm_FD_34: db "INC (IY+", 0x00, "h)",0x00
|
||||
dasm__DEC: db "DEC ", 0x00
|
||||
dasm_DD_35: db "DEC (IX+", 0x00, "h)",0x00
|
||||
dasm_FD_35: db "DEC (IY+", 0x00, "h)",0x00
|
||||
;16-Bit Arithmetic Group
|
||||
dasm_09: db "ADD HL, ",0x00
|
||||
dasm_ED_4A: db "ADC HL, ",0x00
|
||||
dasm_ED_42: db "SBC HL, ",0x00
|
||||
dasm_DD_09: db "ADD IX, ",0x00
|
||||
dasm_FD_09: db "ADD IY, ",0x00
|
||||
dasm_03: db "INC ",0x00
|
||||
dasm_DD_23: db "INC IX, ",0x00
|
||||
dasm_FD_23: db "INC IY, ",0x00
|
||||
dasm_0B: db "DEC ",0x00
|
||||
dasm_DD_2B: db "DEC IX, ",0x00
|
||||
dasm_FD_2B: db "DEC IY, ",0x00
|
||||
;16-Bit Load Group
|
||||
dasm_01: db "LD ",0x00, ", ",0x00
|
||||
dasm_DD_01: db "LD IX, ",0x00
|
||||
dasm_FD_01: db "LD IY, ",0x00
|
||||
dasm_2A: db "LD HL, (",0x00,"h)",0x00
|
||||
dasm_ED_4B: db "LD ",0x00,", (",0x00,"h)",0x00
|
||||
dasm_DD_2A: db "LD IX, (",0x00,"h)",0x00
|
||||
dasm_FD_2A: db "LD IY, (",0x00,"h)",0x00
|
||||
dasm_22: db "LD (",0x00,"h), HL",0x00
|
||||
dasm_ED_43: db "LD (",0x00,"h), ",0x00
|
||||
dasm_DD_22: db "LD (",0x00,"h), IX",0x00
|
||||
dasm_FD_22: db "LD (",0x00,"h), IY",0x00
|
||||
dasm_F9: db "LD SP, HL",0x00
|
||||
dasm_DD_F9: db "LD SP, IX",0x00
|
||||
dasm_FD_F9: db "LD SP, IY",0x00
|
||||
dasm_E5: db "PUSH ",0x00
|
||||
dasm_DD_E5: db "PUSH IX",0x00
|
||||
dasm_FD_E5: db "PUSH IY",0x00
|
||||
dasm_E1: db "PUSH ",0x00
|
||||
dasm_DD_E1: db "PUSH IX",0x00
|
||||
dasm_FD_E1: db "PUSH IY",0x00
|
||||
|
||||
;Misc
|
||||
dasm_UU: db ".?.",0x00
|
||||
dasm_UW: db " ",0x00
|
||||
|
||||
dasm_printFlags_table:
|
||||
db "NZ"
|
||||
db "Z",0
|
||||
db "NC"
|
||||
db "C",0
|
||||
db "PO"
|
||||
db "PE"
|
||||
db "P",0
|
||||
db "M",0
|
||||
|
||||
dasm_printRegister8_table:
|
||||
db "B"
|
||||
db "C"
|
||||
db "D"
|
||||
db "E"
|
||||
db "H"
|
||||
db "L"
|
||||
db "S" ;only 18 bit (SP)
|
||||
db "P" ;only 18 bit (SP)
|
||||
|
||||
dasm_printRegisterIX_table:
|
||||
db "BC"
|
||||
db "DE"
|
||||
db "IX"
|
||||
db "SP"
|
||||
dasm_printRegisterIY_table:
|
||||
db "BC"
|
||||
db "DE"
|
||||
db "IY"
|
||||
db "SP"
|
||||
|
||||
dasm_printRegisterSP_table:
|
||||
db "BC"
|
||||
db "DE"
|
||||
db "HL"
|
||||
db "AF"
|
||||
|
||||
dasm_printRegister8_table_HL:
|
||||
db "(HL)", 0
|
||||
158
OperatingSystem/monitor_v2/include/keyboard.s
Normal file
158
OperatingSystem/monitor_v2/include/keyboard.s
Normal file
@@ -0,0 +1,158 @@
|
||||
;----------------------------------------------------------------
|
||||
;Keyboard input library for Z8C
|
||||
;by Dennis Gunia (04/2022)
|
||||
;----------------------------------------------------------------
|
||||
|
||||
var_ps2_extension equ var_ps2mem+4 ;extension code
|
||||
var_ps2_shift equ var_ps2mem+5 ;shift down = 0xFF, up = 0x00
|
||||
var_ps2_raw equ var_ps2mem+6 ;raw scan code
|
||||
|
||||
keybd_read:
|
||||
xor a
|
||||
ld (var_ps2_extension), a
|
||||
call keybd_read_wait
|
||||
cp 0xE0
|
||||
jr z, keybd_read_extended ;handle extended scancodes
|
||||
cp 0xE1
|
||||
jr z, keybd_read_extended_E1 ;handle extended scancodes for stupid pause button ....
|
||||
;else fall through to keybd_read_simple
|
||||
|
||||
keybd_read_simple:
|
||||
cp 0xF0 ;check if break
|
||||
jr z, keybd_read_break ;handle break code logic
|
||||
cp 0x12
|
||||
jr z, keybd_shift_down
|
||||
cp 0x59
|
||||
jr z, keybd_shift_down
|
||||
;else process key
|
||||
jr keybd_read_return
|
||||
|
||||
keybd_read_extended:
|
||||
ld (var_ps2_extension), a ;store first byte to ram
|
||||
call keybd_read_wait ;read key
|
||||
cp 0xF0 ;check if break
|
||||
jr z, keybd_read_break_extended ;handle break code logic
|
||||
;else process key
|
||||
jr keybd_read_return
|
||||
|
||||
keybd_read_extended_E1: ;pause key
|
||||
call keybd_read_wait ;read realeased key
|
||||
call keybd_read_wait ;read realeased key
|
||||
call keybd_read_wait ;read realeased key
|
||||
call keybd_read_wait ;read realeased key
|
||||
call keybd_read_wait ;read realeased key
|
||||
call keybd_read_wait ;read realeased key
|
||||
;fall-thorugh for last byte
|
||||
keybd_read_break_extended:
|
||||
call keybd_read_wait ;read realeased key
|
||||
jr keybd_read
|
||||
|
||||
keybd_read_break:
|
||||
call keybd_read_wait ;read realeased key
|
||||
cp 0x12
|
||||
jr z, keybd_shift_up
|
||||
cp 0x59
|
||||
jr z, keybd_shift_up
|
||||
jp keybd_read
|
||||
|
||||
keybd_read_return:
|
||||
;a contains scan code
|
||||
ret
|
||||
|
||||
|
||||
keybd_shift_down:
|
||||
ld a,0x01
|
||||
ld (var_ps2_shift),a
|
||||
jr keybd_read
|
||||
keybd_shift_up:
|
||||
xor a
|
||||
ld (var_ps2_shift),a
|
||||
jr keybd_read
|
||||
|
||||
|
||||
;wait for keyboard input
|
||||
keybd_read_wait:
|
||||
call keyboard_read
|
||||
jr z, keybd_read_wait ;read again if error
|
||||
ret
|
||||
|
||||
|
||||
keybd_read_ascii:
|
||||
call keybd_read
|
||||
;push af
|
||||
;call print_a_hex
|
||||
;pop af
|
||||
|
||||
ld ix, [keybd_lut] ;LUT base address
|
||||
ld bc, 4 ;increments
|
||||
ld d, a ;Load scancode into d
|
||||
keybd_read_ascii_seekloop:
|
||||
ld a, (ix) ;load scancode from table
|
||||
or a ;test if scancode is 0x00 -> indicates end of list
|
||||
jr z, keybd_read_ascii_notfound ;reached end of list wizhout match
|
||||
cp d ;compare scancode
|
||||
jr z, keybd_read_ascii_match ;found entry
|
||||
add ix,bc
|
||||
jr keybd_read_ascii_seekloop
|
||||
|
||||
keybd_read_ascii_match:
|
||||
ld b,0
|
||||
ld a, (var_ps2_shift) ;if shift offset+1
|
||||
inc a ;add ofset for column1
|
||||
ld c,a
|
||||
add ix,bc ;add column address to row address
|
||||
ld a,(ix)
|
||||
ret
|
||||
|
||||
keybd_read_ascii_notfound:
|
||||
jr keybd_read_ascii
|
||||
|
||||
keybd_lut:
|
||||
defb 0x1C, "a", "A", "@"
|
||||
defb 0x32, "b", "B", 0x00
|
||||
defb 0x21, "c", "C", 0x00
|
||||
defb 0x23, "d", "D", 0x00
|
||||
defb 0x24, "e", "E", 0x00
|
||||
defb 0x2B, "f", "F", 0x00
|
||||
defb 0x34, "g", "G", 0x00
|
||||
defb 0x33, "h", "H", 0x00
|
||||
defb 0x43, "i", "I", 0x00
|
||||
defb 0x3B, "j", "J", 0x00
|
||||
defb 0x42, "k", "K", 0x00
|
||||
defb 0x4B, "l", "L", 0x00
|
||||
defb 0x3A, "m", "M", 0x00
|
||||
defb 0x31, "n", "N", 0x00
|
||||
defb 0x44, "o", "O", 0x00
|
||||
defb 0x4D, "p", "P", 0x00
|
||||
defb 0x15, "q", "Q", 0x00
|
||||
defb 0x2D, "r", "R", 0x00
|
||||
defb 0x1B, "s", "S", 0x00
|
||||
defb 0x2C, "t", "T", 0x00
|
||||
defb 0x3C, "u", "U", 0x00
|
||||
defb 0x2A, "v", "V", 0x00
|
||||
defb 0x1D, "w", "W", 0x00
|
||||
defb 0x22, "x", "X", 0x00
|
||||
defb 0x1A, "y", "Y", 0x00
|
||||
defb 0x35, "z", "Z", 0x00
|
||||
defb 0x45, "0", "=", "}"
|
||||
defb 0x16, "1", "!", 0x00
|
||||
defb 0x1E, "2", 0x22, 0x00
|
||||
defb 0x26, "3", "3", 0x00
|
||||
defb 0x25, "4", "$", 0x00
|
||||
defb 0x2E, "5", "%", 0x00
|
||||
defb 0x36, "6", "&", 0x00
|
||||
defb 0x3D, "7", "/", "{"
|
||||
defb 0x3E, "8", "(", "["
|
||||
defb 0x46, "9", ")", "]"
|
||||
defb 0x41, ",", ";", 0x00
|
||||
defb 0x49, ".", ":", 0x00
|
||||
defb 0x4A, "-", "_", 0x00
|
||||
defb 0x5D, "#", "'", 0x00
|
||||
defb 0x5B, "+", "*", "~"
|
||||
defb 0x4E, "s", "?", 0x5C
|
||||
defb 0x61, "<", ">", "|"
|
||||
defb 0x5A, 13, 13, 13 ;enter
|
||||
defb 0x66, 0x08, 0x08, 0x08 ;backspace
|
||||
defb 0x29, " ", " ", 0x00 ;space
|
||||
defb 0x00 ;end of LUT
|
||||
|
||||
16
OperatingSystem/monitor_v2/include/parity.s
Normal file
16
OperatingSystem/monitor_v2/include/parity.s
Normal file
@@ -0,0 +1,16 @@
|
||||
; a contains data
|
||||
; bc destroied
|
||||
; carry is set if odd, reset if even
|
||||
calc_parity:
|
||||
ld c,0 ;parity data
|
||||
ld b,8 ;bit counter
|
||||
calc_parity_loop:
|
||||
rrca
|
||||
jr nc,calc_parity_loop_2 ;if not zero then skip increment
|
||||
inc c
|
||||
calc_parity_loop_2:
|
||||
djnz calc_parity_loop
|
||||
ld a,c
|
||||
rra ;carry is set to bit 0 of high-counter.
|
||||
;if bit1 is set -> odd # of 1s else even # of 1s
|
||||
ret
|
||||
22
OperatingSystem/monitor_v2/include/rst.s
Normal file
22
OperatingSystem/monitor_v2/include/rst.s
Normal file
@@ -0,0 +1,22 @@
|
||||
EXEC_RST_08:
|
||||
call print_char
|
||||
ret
|
||||
|
||||
|
||||
EXEC_RST_10:
|
||||
push bc
|
||||
push de
|
||||
push hl
|
||||
;call vdp_cursor_on
|
||||
call read_char
|
||||
push af
|
||||
;call vdp_cursor_off
|
||||
pop af
|
||||
pop hl
|
||||
pop de
|
||||
pop bc
|
||||
ret
|
||||
|
||||
EXEC_RST_18:
|
||||
ld a,0
|
||||
ret
|
||||
96
OperatingSystem/monitor_v2/include/vt82c42.s
Normal file
96
OperatingSystem/monitor_v2/include/vt82c42.s
Normal file
@@ -0,0 +1,96 @@
|
||||
;----------------------------------------------------------------
|
||||
;Keyboard interface driver for Z8C
|
||||
;Controller used: vt82c42
|
||||
;Datasheet: http://www.s100computers.com/My%20System%20Pages/MSDOS%20Board/vt82c42%20PC%20Keyboard%20conrtroller.pdf
|
||||
;by Dennis Gunia (04/2022)
|
||||
;----------------------------------------------------------------
|
||||
|
||||
;IO Ports
|
||||
CS_VT82C42_DATA .EQU F0h
|
||||
CS_VT82C42_CTRL .EQU F1h
|
||||
|
||||
keyboard_init_io: ;Subroutine for initializing keyboard controller
|
||||
LD A, A7h ;Disable Mouse
|
||||
OUT (CS_VT82C42_CTRL), A
|
||||
LD A, ADh ;Disable Keyboard
|
||||
OUT (CS_VT82C42_CTRL), A
|
||||
_keyboard_init_flush_buffer:
|
||||
IN A,(CS_VT82C42_DATA) ;Read buffer
|
||||
IN A,(CS_VT82C42_CTRL) ;Read status byte
|
||||
BIT 0,A ;Test if buffer is empty
|
||||
JR Z, _keyboard_init_flush_buffer
|
||||
;buffer is now flushed. Now set the Controller Configuration Byte
|
||||
IN A,(CS_VT82C42_CTRL) ;Disable bits 0,1,6 (disablee IRQ and Translation)
|
||||
AND 10111100
|
||||
OUT (CS_VT82C42_CTRL),A
|
||||
;Perform Controller Self Test
|
||||
LD A, AAh
|
||||
OUT (CS_VT82C42_CTRL), A
|
||||
NOP
|
||||
IN A,(CS_VT82C42_CTRL) ;Check results
|
||||
CP 55h
|
||||
JR NZ, keyboard_init_failed
|
||||
;Perform Interface Tests
|
||||
LD A, ABh
|
||||
OUT (CS_VT82C42_CTRL), A
|
||||
NOP
|
||||
IN A,(CS_VT82C42_CTRL) ;Check results
|
||||
CP 00h
|
||||
JR NZ, _keyboard_init_failed
|
||||
;Enable Devices
|
||||
LD A,AEh
|
||||
OUT (CS_VT82C42_CTRL), A
|
||||
;Reset Devices
|
||||
LD A,FFh
|
||||
OUT (CS_VT82C42_DATA), A ;Send reset to keboard (0xFF command)
|
||||
NOP
|
||||
IN A,(CS_VT82C42_CTRL) ;Read status byte
|
||||
BIT 0,A ;Test if buffer is empty -> no keyboard found
|
||||
JP NZ, _keyboard_init_dev_missing
|
||||
CP A, 0xFC
|
||||
JR Z, _keyboard_init_okay ; 0xFC -> Success. Init done!
|
||||
;Else device error
|
||||
LD HL, [STR_keyboard_init_failed]
|
||||
CALL print_str
|
||||
HALT
|
||||
_keyboard_init_failed:
|
||||
LD HL, [STR_keyboard_init_err]
|
||||
CALL print_str
|
||||
HALT
|
||||
_keyboard_init_dev_missing:
|
||||
LD HL, [STR_keyboard_init_missing]
|
||||
CALL print_str
|
||||
HALT
|
||||
_keyboard_init_okay:
|
||||
LD HL, [STR_keyboard_init_okay]
|
||||
CALL print_str
|
||||
RET
|
||||
|
||||
;Keyboard IO functions
|
||||
keyboard_read:
|
||||
IN A,(CS_VT82C42_CTRL) ;Read status byte
|
||||
BIT 0,A ;Test if buffer is empty
|
||||
RET NZ ;Return if empty
|
||||
IN A,(CS_VT82C42_DATA)
|
||||
RET ;Return with data in A
|
||||
|
||||
keyboard_write:
|
||||
PUSH AF
|
||||
_keyboard_write_wait:
|
||||
IN A,(CS_VT82C42_CTRL) ;Read status byte
|
||||
BIT 1,A ;Test if buffer is full
|
||||
JR Z, _keyboard_write_wait ;Wait if input buffer is full
|
||||
POP AF
|
||||
OUT (CS_VT82C42_DATA), A
|
||||
RET
|
||||
|
||||
|
||||
;Status message strings
|
||||
STR_keyboard_init_okay:
|
||||
.BYTE "PS/2 Keyboard initialized.",0
|
||||
STR_keyboard_init_err:
|
||||
.BYTE "PS/2 Controller error! System HALT!",0
|
||||
STR_keyboard_init_failed:
|
||||
.BYTE "PS/2 Keyboard error! System HALT!",0
|
||||
STR_keyboard_init_missing:
|
||||
.BYTE "PS/2 no keyboard found!",0
|
||||
286
OperatingSystem/monitor_v2/include/xmodem.s
Normal file
286
OperatingSystem/monitor_v2/include/xmodem.s
Normal file
@@ -0,0 +1,286 @@
|
||||
;-------------------------------------------------------------------------
|
||||
; Z80 XMODEM implementation by Dennis Gunia
|
||||
; 2022 - www,dennisgunia.de
|
||||
;
|
||||
; important doc: https://web.mit.edu/6.115/www/amulet/xmodem.htm
|
||||
; http://www.blunk-electronic.de/train-z/pdf/xymodem.pdf
|
||||
;-------------------------------------------------------------------------
|
||||
|
||||
;Symbols
|
||||
SYM_SOH equ 0x01
|
||||
SYM_EOT equ 0x04
|
||||
SYM_ACK equ 0x06
|
||||
SYM_NAK equ 0x15
|
||||
SYM_ETB equ 0x17
|
||||
SYM_CAN equ 0x18
|
||||
SYM_C equ 0x43
|
||||
|
||||
;Memory locations
|
||||
MEM_VAR_BLOCK equ 0x40FB ;last block
|
||||
MEM_VAR_TIMEA equ 0x40FC ;timer var (mills)
|
||||
MEM_VAR_TIMER equ 0x40FE ;timer var (seconds)
|
||||
MEM_INT_VEC_T equ 0x40FE ;interrupt vector table
|
||||
|
||||
MEM_LOC_LOAD equ 0x4400 ;load location for program
|
||||
|
||||
;XMODEM routine
|
||||
xmodem_init:
|
||||
call A_RTS_OFF
|
||||
|
||||
LD A,10100111b ; Init CTC Channel 3
|
||||
OUT (CS_CTC_2),A
|
||||
LD A,14 ; 1028.57Hz ISR
|
||||
OUT (CS_CTC_2),A
|
||||
LD A,00h ; Set CTC Ch3 Interrupt Vector
|
||||
OUT (CS_CTC_0),A
|
||||
;load int vector to ram
|
||||
ld hl,xmodem_int ;CTC Ch3 INT routine
|
||||
ld (0x4200 + 0x04),hl
|
||||
;reset timer vars
|
||||
ld hl,0x0000
|
||||
ld (MEM_VAR_TIMEA),hl
|
||||
ld (MEM_VAR_TIMER),hl
|
||||
|
||||
ld a,0x42 ; Set interrupt vector register
|
||||
ld i,a
|
||||
im 2 ; Z80 Interrupt mode
|
||||
|
||||
ld hl,MSG_START ; Print start banner
|
||||
call print_str
|
||||
ei ; Enable interrupts
|
||||
; init done. Continue with xmodem_await_conn
|
||||
call xmodem_wait
|
||||
|
||||
xmodem_await_conn: ;Wait for initial connection
|
||||
ld a, SYM_C ;Send C to notify sender, that we want CRC
|
||||
call xmodem_out
|
||||
call xmodem_read_wait ;Read with timeout
|
||||
jp c, xmodem_await_conn ;Carry flag set = timeout -> repeat
|
||||
;else continue
|
||||
|
||||
xmodem_packet: ;XmodemCRC packet start
|
||||
;use 1st byte to decide further processing
|
||||
cp SYM_EOT ;End of Transmission
|
||||
jp z, xmodem_packet_EOT
|
||||
cp SYM_CAN ;Cancel (Force receiver to start sending C's)
|
||||
jp z, xmodem_await_conn
|
||||
cp SYM_SOH ;Start of
|
||||
jp z, xmodem_packet_get
|
||||
|
||||
jp xmodem_err ;anything else is an error -> abort transmission
|
||||
|
||||
xmodem_packet_get: ;if first byte == SYM_SOH -> receive block
|
||||
call xmodem_read_wait ;get byte 2 => block ID
|
||||
jp c, xmodem_nak
|
||||
ld b,a
|
||||
ld (MEM_VAR_BLOCK), a ;store block id to memory
|
||||
call xmodem_read_wait ;get byte 3 => block ID complement
|
||||
jp c, xmodem_nak
|
||||
add b
|
||||
cp 255 ;both size infos should always sum to 255
|
||||
jp nz,xmodem_err ;if not 255 then its an error
|
||||
|
||||
;calculate block start address in RAM
|
||||
;multiply by 128
|
||||
;use more efficient bit-wise operations
|
||||
dec a ;a-1 to remove 1 sector offset
|
||||
ld a,b
|
||||
rra ;shift 1 bit to the right
|
||||
and 0x7F
|
||||
ld h,a
|
||||
ld a,b
|
||||
dec a ;a-1 to remove 1 sector offset
|
||||
rrca ;shift bit0 to bit 7
|
||||
and 0x80 ;mask out all other bits
|
||||
ld l,a
|
||||
;result:
|
||||
;hl = 0aaaaaaa a000000
|
||||
|
||||
ld de,MEM_LOC_LOAD
|
||||
add hl,de ;add calculated offset to base address
|
||||
;hl now contains the true start address of this sector
|
||||
|
||||
ld b,128 ;preload counter for data baytes
|
||||
ld c,0 ;packet length counter ( used for overflow error )
|
||||
|
||||
xmodem_packet_get_data: ;get 128 data bytes (loop)
|
||||
push hl ;push hl onto stack because xmodem_read_wait destroys hl
|
||||
call xmodem_read_wait ;read byte or timeout
|
||||
jp c, xmodem_nak ;if timeout -> nak and retry
|
||||
pop hl ;restore hl
|
||||
ld (hl), a ;store received byte in memory
|
||||
inc hl ;increment pointer
|
||||
inc c ;increment packet length counter
|
||||
dec b ;decerment data bytes remmaining
|
||||
jp nz, xmodem_packet_get_data ;if bytes remaining, loop
|
||||
;else continue with crc bytes
|
||||
|
||||
xmodem_packet_get_crc: ;get 16-Bit CRC
|
||||
call xmodem_read_wait
|
||||
jp c, xmodem_nak
|
||||
ld d,a
|
||||
inc c
|
||||
call xmodem_read_wait
|
||||
jp c, xmodem_nak
|
||||
ld e,a
|
||||
inc c
|
||||
;de now contains CRC value
|
||||
;check if c is not bigger than 130 byte (128 data + 2crc)
|
||||
;TODO if so NACK
|
||||
|
||||
;de contains 16-bit CRC
|
||||
;TODO if crc error NACK
|
||||
jp xmodem_ack ;ack block -> then jump to start again
|
||||
|
||||
xmodem_packet_EOT: ;End of transmission SUB.
|
||||
ld a, SYM_ACK ;Acknowledge EOT
|
||||
call xmodem_out
|
||||
jp xmodem_end ;and end xmodem
|
||||
|
||||
|
||||
|
||||
xmodem_err: ;non recoverable error -> abort
|
||||
ld a, SYM_CAN
|
||||
call xmodem_out
|
||||
ld a, SYM_CAN
|
||||
call xmodem_out
|
||||
ld a, SYM_CAN
|
||||
call xmodem_out
|
||||
ld a, SYM_CAN
|
||||
call xmodem_out
|
||||
ld a, SYM_CAN
|
||||
call xmodem_out
|
||||
ld a, SYM_CAN
|
||||
call xmodem_out
|
||||
ld a, SYM_CAN
|
||||
call xmodem_out
|
||||
ld a, SYM_CAN
|
||||
call xmodem_out
|
||||
ld a, SYM_CAN
|
||||
call xmodem_out
|
||||
ld a, SYM_CAN
|
||||
call xmodem_out
|
||||
ld a, SYM_CAN
|
||||
|
||||
ld hl, MSG_ERROR
|
||||
call print_str
|
||||
|
||||
;overflow to end
|
||||
xmodem_end:
|
||||
di ;disable interrupts
|
||||
call print_newLine ;print new line
|
||||
jp PROMPT_BEGIN ;return ti prompt
|
||||
|
||||
;isr is used as counter for timeouts
|
||||
xmodem_int:
|
||||
di ;setup ISR (disable further interrupts, exchange registers)
|
||||
ex AF,AF'
|
||||
exx
|
||||
|
||||
ld hl,(MEM_VAR_TIMEA) ;millis counter
|
||||
inc hl
|
||||
ld (MEM_VAR_TIMEA),hl
|
||||
|
||||
ld de,1028 ;every 1028 millis counter
|
||||
sbc hl,de
|
||||
jp nz, xmodem_int_cont ;if less than 1028 millis, loop
|
||||
|
||||
ld hl,0 ;reset millis
|
||||
ld (MEM_VAR_TIMEA),hl
|
||||
ld hl,(MEM_VAR_TIMER) ;incement seconds
|
||||
inc hl
|
||||
ld (MEM_VAR_TIMER),hl
|
||||
xmodem_int_cont: ;end isr
|
||||
ex AF,AF' ;restore registers
|
||||
exx
|
||||
EI ;enable interrupts
|
||||
reti ;exit ISR
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
; A returns char
|
||||
; Carry is set if timeout
|
||||
xmodem_read_timeount equ 3 ;3 seconds timeout
|
||||
xmodem_read_wait:
|
||||
di
|
||||
ld hl,0
|
||||
ld (MEM_VAR_TIMEA),hl
|
||||
ld (MEM_VAR_TIMER),hl
|
||||
ei
|
||||
call A_RTS_ON
|
||||
xmodem_read_wait_loop:
|
||||
;check timeout
|
||||
ld hl,(MEM_VAR_TIMER)
|
||||
ld a, l
|
||||
cp xmodem_read_timeount
|
||||
jp z, xmodem_read_wait_timeout ;if timeout retry
|
||||
|
||||
; if no timeout
|
||||
xor a ; a = 0
|
||||
out (CS_SIO_A_C), a ; select reg 0
|
||||
in a, (CS_SIO_A_C) ; read reg 0
|
||||
and 1 ; mask D0 (recieve char available)
|
||||
jp Z,xmodem_read_wait_loop ; wait if no char
|
||||
|
||||
; if char avail
|
||||
in a, (CS_SIO_A_D) ; read char
|
||||
;call debug_a_hex
|
||||
push af
|
||||
call A_RTS_OFF
|
||||
pop af
|
||||
scf
|
||||
ccf
|
||||
ret ; return
|
||||
xmodem_read_wait_timeout:
|
||||
scf
|
||||
ret
|
||||
|
||||
|
||||
xmodem_out:
|
||||
out (CS_SIO_A_D), a
|
||||
call xmodem_wait_out
|
||||
ret
|
||||
|
||||
xmodem_wait_out:
|
||||
sub a ;clear a, write into WR0: select RR0
|
||||
inc a ;select RR1
|
||||
out (CS_SIO_A_C),A
|
||||
in A,(CS_SIO_A_C) ;read RRx
|
||||
bit 0,A
|
||||
jr z,xmodem_wait_out
|
||||
ret
|
||||
|
||||
MSG_ERROR:
|
||||
db "Error: unexpected byte",13,10,0
|
||||
|
||||
MSG_START:
|
||||
db "Await xmodem connection",13,10,0
|
||||
|
||||
|
||||
xmodem_ack: ;ack routine. Only use when expecting transmission afterwards.
|
||||
ld a, SYM_ACK ;send ACK
|
||||
call xmodem_out
|
||||
call xmodem_read_wait ;wait for response
|
||||
jp c, xmodem_ack ;if timeout repeat
|
||||
jp xmodem_packet ;if received, continue with new packet
|
||||
|
||||
xmodem_nak: ;nak routine. Only use when expecting transmission afterwards.
|
||||
ld a, SYM_NAK ;send NAK
|
||||
call xmodem_out
|
||||
call xmodem_read_wait ;wait for response
|
||||
jp c, xmodem_nak ;if timeout repeat
|
||||
jp xmodem_packet ;if received, continue with new packet
|
||||
|
||||
xmodem_wait:
|
||||
ld hl, 0xFF
|
||||
ld bc, 0x01
|
||||
xmodem_wait_1:
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
sbc hl,bc
|
||||
ret Z
|
||||
jr xmodem_wait_1
|
||||
489
OperatingSystem/monitor_v2/main.asm
Normal file
489
OperatingSystem/monitor_v2/main.asm
Normal file
@@ -0,0 +1,489 @@
|
||||
SYS_RAM_START equ 0x4000
|
||||
SYS_BUF_START equ 0x4010
|
||||
PRG_RAM_START equ 0x4110
|
||||
PRG_RAM_TOP equ 0xFF00
|
||||
STACK_RAM_TOP equ 0xFFFF
|
||||
|
||||
;VAR_CONSOLE_CONF equ 0x07 ;CLK/TRG Clock @ 1843220.5/s
|
||||
VAR_CONSOLE_CONF equ 0x0F ;CPU/16 Clock @ 230402.5625/s
|
||||
|
||||
VAR_CONSOLE_BAUD equ 24 ;BAUD timer constant
|
||||
;CLK/TRG Clock @ 1843220.5/s
|
||||
; -> 0x16 : 14400
|
||||
;CPU/16 Clock @ 230402.5625/s
|
||||
; -> 12 : 19200
|
||||
; -> 24 : 9600
|
||||
|
||||
; include IO device addresses
|
||||
.include "addresses.s"
|
||||
|
||||
org 0x0000
|
||||
RST_00: ;Hardware Restart
|
||||
jp mon_start_init_sound
|
||||
|
||||
org 0x0008
|
||||
RST_08 ;Print Char
|
||||
jp EXEC_RST_08
|
||||
|
||||
org 0x0010
|
||||
RST_10 ;receive char
|
||||
jp EXEC_RST_10
|
||||
|
||||
org 0x0018
|
||||
RST_18 ;Buffer length
|
||||
jp EXEC_RST_18
|
||||
|
||||
|
||||
INT_VEC:
|
||||
org 0x0044
|
||||
;DEFW EXEC_INT_VDP
|
||||
|
||||
;memory var template
|
||||
mon_var_template:
|
||||
phase SYS_RAM_START
|
||||
|
||||
var_buffer_len:
|
||||
defb 0
|
||||
var_last_char:
|
||||
defb 0
|
||||
var_curserx:
|
||||
defb 0
|
||||
var_cursery:
|
||||
defb 0
|
||||
var_curserstate:
|
||||
defb 0
|
||||
var_curseron:
|
||||
defb 0
|
||||
var_curserchar:
|
||||
defb 0
|
||||
var_curserlastaddr:
|
||||
defw 0
|
||||
var_scratch:
|
||||
defs 16 ;16 bytes space for scratch vars
|
||||
var_ps2mem:
|
||||
defs 16 ;16 bytes space for scratch vars
|
||||
var_buffer:
|
||||
defb 0 ;var lentgh
|
||||
|
||||
mon_var_template_end:
|
||||
dephase
|
||||
;end memory var template
|
||||
org 0x0050
|
||||
mon_start_init_sound:
|
||||
;CALL BTLDR_ENTRY ;call bootloader first
|
||||
;ld D,0x08 ; Select register #8
|
||||
;ld A,0x00 ; Volume channel A 0
|
||||
;call AY0_WRITE_REG
|
||||
;ld D,0x09 ; Select register #9
|
||||
;ld A,0x00 ; Volume channel B 0
|
||||
;call AY0_WRITE_REG
|
||||
;ld D,0x0A ; Select register #10
|
||||
;ld A,0x00 ; Volume channel C 0
|
||||
;call AY0_WRITE_REG
|
||||
|
||||
mon_start_init_ctc:
|
||||
ld sp, 0xffff
|
||||
; Set CTC Ch2 Interrupt Vector
|
||||
;LD A,40h ; it vector defined in bit 73,bit 21 don't care, bit 0 = 0
|
||||
;OUT (IO_CTC0_C0),A
|
||||
; Init CTC Channel 2
|
||||
;LD A,10100111b
|
||||
;OUT (IO_CTC0_C2),A
|
||||
;LD A,0x34 ; 55Hz ISR
|
||||
;LD A,0xFF ; 55Hz ISR
|
||||
;OUT (IO_CTC0_C2),A
|
||||
|
||||
xor a
|
||||
;ld i, a
|
||||
;im 2 ;set int mode 2
|
||||
|
||||
ld (var_curserstate),a
|
||||
ld (var_curseron),a
|
||||
ld a, " "
|
||||
ld (var_curserchar),a
|
||||
|
||||
|
||||
;ei ; Enable Interrupts
|
||||
|
||||
;jr mon_start_ram ;skip serial, cause not used atm
|
||||
mon_start_init_serial:
|
||||
call CONSOLE_INIT
|
||||
mon_start_ram:
|
||||
ld hl,mon_var_template
|
||||
ld de,mon_var_template_end
|
||||
ld bc,SYS_RAM_START
|
||||
mon_start_ram_loop:
|
||||
ld a,(hl) ;copy values
|
||||
ld (bc),a
|
||||
inc hl
|
||||
inc bc
|
||||
push hl ;check if end is reached
|
||||
sbc hl,de
|
||||
pop hl
|
||||
jp nz, mon_start_ram_loop
|
||||
;template copy done
|
||||
|
||||
mon_start_complete:
|
||||
|
||||
;call keyboard_init_io
|
||||
;call vdpconsole_init
|
||||
|
||||
;call print_str
|
||||
|
||||
|
||||
;jp splash_run
|
||||
|
||||
;jp ps2demo_run
|
||||
;call debug_init
|
||||
;call vdp_cursor_on
|
||||
;jp COLD
|
||||
|
||||
call print_clear
|
||||
ld hl, [STR_Banner_Start]
|
||||
call print_str
|
||||
|
||||
;halt
|
||||
|
||||
;call vdp_cursor_on
|
||||
call PROMPT_BEGIN
|
||||
|
||||
;halt CPU if prompt exits
|
||||
halt
|
||||
|
||||
; Misc Functions
|
||||
AY0_WRITE_REG:
|
||||
LD B,A
|
||||
LD A,D
|
||||
OUT (IO_AY0_ADDR),A
|
||||
LD A,B
|
||||
OUT (IO_AY0_DATA),A
|
||||
RET
|
||||
|
||||
PROMPT_BEGIN:
|
||||
call print_newLine
|
||||
;call A_RTS_ON
|
||||
ld a,'>'
|
||||
call print_char
|
||||
xor a ;reset buffer len
|
||||
ld (var_buffer_len),a
|
||||
|
||||
PROMPT_BEGIN_READ_LOOP:
|
||||
call read_char
|
||||
;call keybd_read_ascii
|
||||
jp z, PROMPT_BEGIN_READ_LOOP ; wait until char avail
|
||||
push af
|
||||
pop af
|
||||
; process special ops
|
||||
cp 13 ; enter
|
||||
jp z,PROMPT_BEGIN_READ_PROCESS
|
||||
cp 10
|
||||
jp z, PROMPT_BEGIN_READ_LOOP; skip LF for file load
|
||||
cp 0x08 ; backspace 0x08 VT102 0x7f Putty
|
||||
jp z,PROMPT_BEGIN_READ_BACKSPACE
|
||||
|
||||
push af
|
||||
; a contains latest char
|
||||
ld hl,[var_buffer]
|
||||
ld d,0
|
||||
ld a,(var_buffer_len)
|
||||
ld e,a
|
||||
add hl,de ;hl now contains pointer to last position in buffer
|
||||
inc a
|
||||
ld (var_buffer_len),a ;store incremented buffer length
|
||||
|
||||
pop af
|
||||
ld (hl),a
|
||||
call print_char
|
||||
inc hl
|
||||
xor a ;a = 0
|
||||
ld (hl),a ;always add null termination after last char
|
||||
jp PROMPT_BEGIN_READ_LOOP
|
||||
|
||||
PROMPT_BEGIN_READ_BACKSPACE:
|
||||
ld a,(var_buffer_len)
|
||||
and a
|
||||
jp z, PROMPT_BEGIN_READ_LOOP ; do not continue if already at char 0
|
||||
dec a ;decrement length
|
||||
ld (var_buffer_len),a ;and store it
|
||||
ld e,a ;load de with decremented value
|
||||
ld d,0
|
||||
ld hl,[var_buffer]
|
||||
add hl,de ;hl now contains pointer to last position in buffer
|
||||
xor a ; store null byte to current location
|
||||
ld (hl),a
|
||||
;call print_delete
|
||||
ld a, 0x08
|
||||
call print_char
|
||||
ld a, 0x20
|
||||
call print_char
|
||||
ld a, 0x08
|
||||
call print_char
|
||||
jp PROMPT_BEGIN_READ_LOOP
|
||||
|
||||
PROMPT_BEGIN_READ_PROCESS:
|
||||
;call print_newLine
|
||||
;ld hl,var_buffer
|
||||
;call print_str
|
||||
|
||||
ld a,([var_buffer])
|
||||
cp '$' ;jump to addr
|
||||
jp z, CMD_EXEC
|
||||
cp '?' ;print hexdump
|
||||
jp z, CMD_VIEW
|
||||
cp '!' ;set memory
|
||||
jp z, CMD_SET
|
||||
cp 'i' ;in IO
|
||||
jp z, CMD_IO_READ
|
||||
cp 'o' ;out IO
|
||||
jp z, CMD_IO_WRITE
|
||||
cp 'd' ;disassemble
|
||||
jp z, CMD_DASM
|
||||
cp 'x' ;start xmodem
|
||||
jp z, xmodem_init
|
||||
|
||||
|
||||
call print_newLine
|
||||
ld hl, [STR_Unknown]
|
||||
call print_str
|
||||
jp PROMPT_BEGIN
|
||||
|
||||
ret
|
||||
|
||||
CMD_EXEC:
|
||||
xor a ;write null byte to buffer pos 0 to prevent reexecute the last command
|
||||
ld (var_buffer),a
|
||||
|
||||
ld hl,var_buffer+1 ;load 1st byte
|
||||
call DHEX_TO_BYTE
|
||||
ld b,a ;store result in b
|
||||
ld a,e ;check for error
|
||||
and a
|
||||
jp nz, CMD_SYNTAX_ERROR
|
||||
|
||||
ld hl,var_buffer+3 ;load 2nd byte
|
||||
call DHEX_TO_BYTE
|
||||
ld c,a
|
||||
ld a,e ;check for error
|
||||
and a
|
||||
jp nz, CMD_SYNTAX_ERROR
|
||||
|
||||
ld h,b
|
||||
ld l,c
|
||||
jp (hl)
|
||||
|
||||
CMD_VIEW:
|
||||
call print_newLine
|
||||
ld hl,var_buffer+1 ;load 1st byte
|
||||
call DHEX_TO_BYTE
|
||||
ld b,a ;store result in b
|
||||
ld a,e ;check for error
|
||||
and a
|
||||
jp nz, CMD_SYNTAX_ERROR
|
||||
|
||||
ld hl,var_buffer+3 ;load 2nd byte
|
||||
call DHEX_TO_BYTE
|
||||
ld c,a
|
||||
ld a,e ;check for error
|
||||
and a
|
||||
jp nz, CMD_SYNTAX_ERROR
|
||||
|
||||
|
||||
ld a,(var_buffer+5)
|
||||
cp ' '
|
||||
jp nz, CMD_SYNTAX_ERROR
|
||||
|
||||
ld hl,var_buffer+6 ;load length
|
||||
call DHEX_TO_BYTE
|
||||
push af
|
||||
ld a,e ;check for error
|
||||
and a
|
||||
jp nz, CMD_SYNTAX_ERROR
|
||||
|
||||
;draw header
|
||||
ld hl,[STR_HEXDUMP_HEADER]
|
||||
call print_str
|
||||
|
||||
pop af
|
||||
;loading vars done. display results
|
||||
ld h, b ;pointer to current byte
|
||||
ld l, c ;pointer to current byte
|
||||
ld b, a ;bytes counter
|
||||
|
||||
;draw row
|
||||
CMD_VIEW_ROW:
|
||||
call print_newLine
|
||||
ld a,h ;print start
|
||||
call print_a_hex
|
||||
ld a,l
|
||||
call print_a_hex
|
||||
ld a, ' '
|
||||
call print_char
|
||||
ld c, 8 ;column counter
|
||||
CMD_VIEW_ROW_LOOP:
|
||||
ld a,(hl)
|
||||
call print_a_hex
|
||||
|
||||
inc hl ;increment pointer
|
||||
dec b ;decrement byte counter
|
||||
dec c ;decrement column counter
|
||||
|
||||
ld a,b
|
||||
and a
|
||||
jp z,CMD_VIEW_END ;if byte counter = 0 -> end reached
|
||||
|
||||
ld a,c
|
||||
and a
|
||||
jp z,CMD_VIEW_ROW ;else if column counter = 0 -> 16 chars printed. next row
|
||||
|
||||
ld a, ' '
|
||||
call print_char
|
||||
jp CMD_VIEW_ROW_LOOP ;else
|
||||
CMD_VIEW_END:
|
||||
call print_newLine
|
||||
jp PROMPT_BEGIN
|
||||
|
||||
CMD_SET:
|
||||
ld hl,var_buffer+1 ;load 1st byte
|
||||
call DHEX_TO_BYTE
|
||||
ld b,a ;store result in b
|
||||
ld a,e ;check for error
|
||||
and a
|
||||
jp nz, CMD_SYNTAX_ERROR
|
||||
|
||||
ld hl,var_buffer+3 ;load 2nd byte
|
||||
call DHEX_TO_BYTE
|
||||
ld c,a
|
||||
ld a,e ;check for error
|
||||
and a
|
||||
jp nz, CMD_SYNTAX_ERROR
|
||||
;bc now contains the start address
|
||||
|
||||
ld hl,var_buffer+5
|
||||
CMD_SET_LOOP:
|
||||
ld a,(hl)
|
||||
cp 0 ;if 0 then end
|
||||
jp z, CMD_SET_END
|
||||
cp ' '
|
||||
jp nz, CMD_SYNTAX_ERROR
|
||||
inc hl ;next byte
|
||||
call DHEX_TO_BYTE
|
||||
ld (bc),a ;load byte to
|
||||
ld a,e
|
||||
and a
|
||||
jp nz, CMD_SYNTAX_ERROR
|
||||
inc bc
|
||||
inc hl
|
||||
inc hl
|
||||
jp CMD_SET_LOOP
|
||||
CMD_SET_END:
|
||||
call print_newLine
|
||||
jp PROMPT_BEGIN
|
||||
|
||||
|
||||
CMD_IO_WRITE:
|
||||
ld hl,var_buffer+1 ;load 1st byte
|
||||
call DHEX_TO_BYTE
|
||||
ld c,a ;store result in b
|
||||
ld a,e ;check for error
|
||||
and a
|
||||
jp nz, CMD_SYNTAX_ERROR
|
||||
|
||||
ld a,(var_buffer+3)
|
||||
cp ' '
|
||||
jp nz, CMD_SYNTAX_ERROR
|
||||
|
||||
ld hl,var_buffer+4 ;load 1st byte
|
||||
call DHEX_TO_BYTE
|
||||
push af
|
||||
ld a,e ;check for error
|
||||
and a
|
||||
jp nz, CMD_SYNTAX_ERROR
|
||||
|
||||
pop af
|
||||
out (c),a
|
||||
call print_newLine
|
||||
jp PROMPT_BEGIN
|
||||
|
||||
CMD_IO_READ:
|
||||
ld hl,var_buffer+1 ;load 1st byte
|
||||
call DHEX_TO_BYTE
|
||||
ld c,a ;store result in b
|
||||
ld a,e ;check for error
|
||||
and a
|
||||
jp nz, CMD_SYNTAX_ERROR
|
||||
|
||||
in a,(c)
|
||||
push af
|
||||
call print_newLine
|
||||
pop af
|
||||
call print_a_hex
|
||||
call print_newLine
|
||||
jp PROMPT_BEGIN
|
||||
|
||||
CMD_DASM:
|
||||
call print_newLine
|
||||
ld hl,var_buffer+1 ;load 1st byte
|
||||
call DHEX_TO_BYTE
|
||||
ld b,a ;store result in b
|
||||
ld a,e ;check for error
|
||||
and a
|
||||
jp nz, CMD_SYNTAX_ERROR
|
||||
|
||||
ld hl,var_buffer+3 ;load 2nd byte
|
||||
call DHEX_TO_BYTE
|
||||
ld c,a
|
||||
ld a,e ;check for error
|
||||
and a
|
||||
jp nz, CMD_SYNTAX_ERROR
|
||||
|
||||
|
||||
ld a,(var_buffer+5)
|
||||
cp ' '
|
||||
jp nz, CMD_SYNTAX_ERROR
|
||||
|
||||
ld hl,var_buffer+6 ;load length
|
||||
call DHEX_TO_BYTE
|
||||
push af
|
||||
ld a,e ;check for error
|
||||
and a
|
||||
jp nz, CMD_SYNTAX_ERROR
|
||||
|
||||
ld h,b
|
||||
ld l,c
|
||||
|
||||
pop af ;restore af
|
||||
ld b,a
|
||||
|
||||
call disassemble
|
||||
|
||||
|
||||
jp PROMPT_BEGIN
|
||||
|
||||
CMD_SYNTAX_ERROR:
|
||||
call print_newLine
|
||||
ld hl, [STR_SyntaxError]
|
||||
call print_str
|
||||
jp PROMPT_BEGIN
|
||||
|
||||
|
||||
|
||||
Includes:
|
||||
;.include "bootldr.s"
|
||||
.include "console.s"
|
||||
.include "conversions.s"
|
||||
;.include "basic.s"
|
||||
.include "disassembler.s"
|
||||
.include "disassembler_table.s"
|
||||
.include "rst.s"
|
||||
; Strings
|
||||
STR_Banner_Start:
|
||||
db "Z8C Monitor V2 by Dennis Gunia (2022)",0
|
||||
STR_SyntaxError:
|
||||
db "syn?",0
|
||||
STR_Unknown:
|
||||
db "cmd?",0
|
||||
STR_HEXDUMP_HEADER:
|
||||
db 'BASE 0 1 2 3 4 5 6 7',0
|
||||
|
||||
.include "xmodem.s"
|
||||
;.include "debug.s"
|
||||
55
OperatingSystem/monitor_v2/monitor.md
Normal file
55
OperatingSystem/monitor_v2/monitor.md
Normal file
@@ -0,0 +1,55 @@
|
||||
# Z8C Monitor V2
|
||||
Monitor V2 is a less bloated monitor for my Z80 homebrew computer
|
||||
|
||||
## System
|
||||
* Z80 CPU @ 3.686411MHz
|
||||
* 48k Ram
|
||||
* TMS9918 VDP (not used for normal operations)
|
||||
* 2x AY3-8901
|
||||
* Serial RS232 Ports
|
||||
|
||||
not implemented yet but already present in hardware:
|
||||
* PS/2 Keyboard Interface
|
||||
* RTC72421B real time clock
|
||||
|
||||
planned
|
||||
* IDE interface
|
||||
* 28J60 10Mbit ethernet interface
|
||||
* dual joystick gameports
|
||||
|
||||
|
||||
## Terminal
|
||||
* `baud`: 19200
|
||||
* `mode`: 8N1
|
||||
* `parity`: none
|
||||
* `temrinal`: vt102
|
||||
* `flow`: none / RTS(not implemented yet)
|
||||
|
||||
## Commands
|
||||
### View memory content
|
||||
`?<addr> <len>`
|
||||
* `addr`: word in hex -> start address of hexdump
|
||||
* `len`: byte in hex -> length of hexdump
|
||||
|
||||
### Write memory content
|
||||
`!<addr> <byte>,<byte>,...`
|
||||
* `addr`: word in hex -> start address
|
||||
* `byte`: byte in hex followed by space -> bytes to write to memory
|
||||
|
||||
### Run program
|
||||
`$<addr>`
|
||||
* `addr`: word in hex -> start address of program
|
||||
|
||||
### X-Modem
|
||||
`x<addr>`
|
||||
* `addr`: word in hex -> start address of recieved binary (at least 0x0420)
|
||||
|
||||
### Write IO port
|
||||
`w<addr> <data>`
|
||||
* `addr`: byte in hex -> IO port address
|
||||
* `len`: byte in hex -> data
|
||||
|
||||
### Read IO port
|
||||
`r<addr>`
|
||||
* `addr`: byte in hex -> IO port address
|
||||
|
||||
5
OperatingSystem/monitor_v2/properties.env
Normal file
5
OperatingSystem/monitor_v2/properties.env
Normal file
@@ -0,0 +1,5 @@
|
||||
export OPT_GEN_SYMBOLTABLE=1
|
||||
export OPT_GEN_MONFILE=0
|
||||
export OPT_GEN_OBJFILE=1
|
||||
export OPT_WRITEROM=1
|
||||
export FILENAME=main
|
||||
BIN
OperatingSystem/monitor_v2/zout/main.bin
Normal file
BIN
OperatingSystem/monitor_v2/zout/main.bin
Normal file
Binary file not shown.
271
OperatingSystem/monitor_v2/zout/main.hex
Normal file
271
OperatingSystem/monitor_v2/zout/main.hex
Normal file
@@ -0,0 +1,271 @@
|
||||
:03000000C35000EA
|
||||
:03000800C3B60E6E
|
||||
:03001000C3BA0E62
|
||||
:03001800C3C60E4E
|
||||
:1000440000000000000000000000000000000000AC
|
||||
:10005400000000000000000000000000000000009C
|
||||
:0A0064000000000000000000000092
|
||||
:1000500031FFFFAF3204403205403E20320640CD32
|
||||
:100060007002214400112A400100407E022303E572
|
||||
:10007000ED52E1C26B00CDBC0221C90ECDB102CD63
|
||||
:100080008B0076477AD34078D341C9CDC3023E3E38
|
||||
:10009000CDA902AF320040CDEA02CA9700F5F1FEC9
|
||||
:1000A0000DCAEE00FE0ACA9700FE08CAC800F52174
|
||||
:1000B000294016003A00405F193C320040F177CDEC
|
||||
:1000C000A90223AF77C397003A0040A7CA97003D23
|
||||
:1000D0003200405F160021294019AF773E08CDA9B4
|
||||
:1000E000023E20CDA9023E08CDA902C397003A29BD
|
||||
:1000F00040FE24CA2101FE3FCA4001FE21CAAA01D6
|
||||
:10010000FE69CA0F02FE6FCAE601FE64CA2B02FE38
|
||||
:1001100078CA150FCDC30221F40ECDB102C38B00F6
|
||||
:10012000C9AF322940212A40CD1603477BA7C264BC
|
||||
:1001300002212C40CD16034F7BA7C264026069E9FF
|
||||
:10014000CDC302212A40CD1603477BA7C2640221FA
|
||||
:100150002C40CD16034F7BA7C264023A2E40FE20EE
|
||||
:10016000C26402212F40CD1603F57BA7C264022191
|
||||
:10017000F90ECDB102F1606947CDC3027CCDD90241
|
||||
:100180007DCDD9023E20CDA9020E087ECDD9022315
|
||||
:10019000050D78A7CAA40179A7CA79013E20CDA987
|
||||
:1001A00002C38B01CDC302C38B00212A40CD1603AD
|
||||
:1001B000477BA7C26402212C40CD16034F7BA7C208
|
||||
:1001C0006402212E407EFE00CAE001FE20C26402CD
|
||||
:1001D00023CD1603027BA7C26402032323C3C501F8
|
||||
:1001E000CDC302C38B00212A40CD16034F7BA7C28B
|
||||
:1001F00064023A2C40FE20C26402212D40CD160339
|
||||
:10020000F57BA7C26402F1ED79CDC302C38B002157
|
||||
:100210002A40CD16034F7BA7C26402ED78F5CDC30B
|
||||
:1002200002F1CDD902CDC302C38B00CDC302212A76
|
||||
:1002300040CD1603477BA7C26402212C40CD160394
|
||||
:100240004F7BA7C264023A2E40FE20C26402212FD7
|
||||
:1002500040CD1603F57BA7C264026069F147CD6704
|
||||
:1002600003C38B00CDC30221EF0ECDB102C38B00BF
|
||||
:100270003E4FD304DB01D3043E30D3093E18D309EB
|
||||
:100280003E04D3093E44D3093E05D3093EE8D309D1
|
||||
:100290003E01D3093E04D3093E02D3093E00D309EF
|
||||
:1002A0003E03D3093EC1D309C9F5D308CDCE02F12F
|
||||
:1002B000C97EB72806CDA9022318F6C921FC02CDB4
|
||||
:1002C000B102C93E0ACDA9023E0DCDA902C9973C93
|
||||
:1002D000D309DB09CB4728F6C9F5C5D5CD4D037841
|
||||
:1002E000CDA90279CDA902D1C1F1CD0D0300AFD3C3
|
||||
:1002F00009DB09E601CD0403C8DB08C91B5B324AF0
|
||||
:100300001B5B48003E05D3093E68D309C93E05D3AF
|
||||
:10031000093EEAD309C9E57ECD36033815CB27CB94
|
||||
:1003200027CB27CB2757237ECD36033805B2E11ED6
|
||||
:1003300000C91EFFE1C9D630EA4B03FE0A3805D6D4
|
||||
:1003400007EA4B03FE103003E60FC937C9F51F1F3C
|
||||
:100350001F1FCD5C0347F1CD5C034FC9E60FC630CC
|
||||
:10036000FE3AD8C607C9C978321A412210417E32F6
|
||||
:100370001441237E3215412BCD5B0478B1CA3D0474
|
||||
:10038000ED431241030303030A321641030A5F03DC
|
||||
:100390000A57ED531741030A3219412A1041CDA3E0
|
||||
:1003A000043A1641472A10417ECDD9022310F93E66
|
||||
:1003B00068CDA9023A1641473E0690473E20CDA996
|
||||
:1003C000023E20CDA90210F43E20CDA902E52A1755
|
||||
:1003D00041CDB1023A1941B7CA3A042A1241010883
|
||||
:1003E00000093A1941477EFE01CCC904FE02CCF057
|
||||
:1003F00004FE03CC0D05FE04CC4905FE05CC5F05CB
|
||||
:10040000FE06CC6C05FE07CC8605FE08CC9305FEE7
|
||||
:1004100009CCA805FE10CCBD05FE11CCCD05FE1201
|
||||
:10042000CCD505FE13CC0D06FE0ACC9F05FE80CC74
|
||||
:100430002C06FE81CC23062310ACE11810CDA304BA
|
||||
:100440007ECDBB0423E521780ECDB102E1CDC30200
|
||||
:100450003A1A413D321A41C26B03C9E52176063A88
|
||||
:1004600014414F7EFEFFCA9D04F523462B79A04F11
|
||||
:10047000F1B9280B06000E07097E4F092318E02367
|
||||
:10048000234E233A154146A0B92B2B2B280B0600EF
|
||||
:100490000E07097E4F092318C6444DE1C906000E18
|
||||
:1004A00000E1C93E24CDA9027CCDD9027DCDD9027F
|
||||
:1004B0003E68CDA9023E20CDA902C9CDD9023E6831
|
||||
:1004C000CDA9023E20CDA902C9E5ED5B1041131A6A
|
||||
:1004D0006F131A673E24CDA9027CCDD9027DCDD9F8
|
||||
:1004E000023E68CDA9023E20CDA902CD6706E1C932
|
||||
:1004F000C5ED5B10411A1F1FE60EE521810E0600B7
|
||||
:100500004F09CDB1023E20CDA902E1C1C9ED5B107A
|
||||
:1005100041131AF5E680C22E053E24CDA9023E2BDA
|
||||
:10052000CDA902F1CDD9023E68CDA90218173E240B
|
||||
:10053000CDA9023E2DCDA902F1ED44CDD9023E68F0
|
||||
:10054000CDA9021800CD6706C9ED5B1041131AFE54
|
||||
:100550004D28063E4ECDA902C93E49CDA902C9C5C6
|
||||
:10056000ED5B10411AE638CDBB04C1C9C5ED5B1087
|
||||
:10057000411A1F1F1FE607CD42063E20CDA9023EAD
|
||||
:100580002CCDA902C1C9C5ED5B10411AE607CD42C9
|
||||
:1005900006C1C9C5ED5B1041131ACDBB04C1C9E545
|
||||
:1005A000ED5B104113131806E5ED5B1041131A6F54
|
||||
:1005B000131A677CCDD9027DCDD902E1C9C5ED5BA7
|
||||
:1005C00010411A1F1F1FE607CD4206C1C9E5C5ED40
|
||||
:1005D0005B10411807E5C5ED5B1041131A1F1F1F83
|
||||
:1005E000E606F52A10417EFEDD2809FEFD280A21D7
|
||||
:1005F000910E180821990E180321A10EF106004F43
|
||||
:10060000097ECDA902237ECDA902C1E1C9E5C5EDD0
|
||||
:100610005B10411A1F1F1FE606F52A10417E21A913
|
||||
:100620000E18D9E5C52A174106021807E5C52A178D
|
||||
:100630004106017E23A720FB05C23306CDB102C1CE
|
||||
:10064000E1C9E5FE062811FE07281521910E0600D6
|
||||
:100650004F097ECDA902E1C921B10ECDB102E1C998
|
||||
:100660003E41CDA902E1C978FE01C83E20CDA902D4
|
||||
:100670003E2CCDA902C900FF000001CE0A0027FFD1
|
||||
:10068000000001990B002FFF0000019D0B00EDFF02
|
||||
:1006900044FF02A10B003FFF000001A50B0037FF44
|
||||
:1006A000000001A90B0076FF000001AD0B00F3FF75
|
||||
:1006B000000001B20B00FBFF000001B50B00EDFFD5
|
||||
:1006C00046FF02B80B00EDFF56FF02BD0B00EDFF29
|
||||
:1006D0005EFF02C20B00EBFF000001C70B0008FF2A
|
||||
:1006E000000001D10B00D9FF000001DE0B00E3FF89
|
||||
:1006F000000001E20B00DDFFE3FF02EE0B00FDFF57
|
||||
:10070000E3FF02FA0B00EDFFA0FF02060C00EDFF75
|
||||
:10071000B0FF020A0C00EDFFA8FF020F0C00EDFF76
|
||||
:10072000B8FF02130C00EDFFA1FF02180C00EDFF53
|
||||
:10073000B1FF021C0C00EDFFA9FF02210C00EDFF30
|
||||
:10074000B9FF02250C00C3FF000003D20A0101C259
|
||||
:10075000C7000003D20A0302800118FF000002D97B
|
||||
:100760000A010338FF000002DD0A010330FF000028
|
||||
:1007700002E40A010328FF000002EC0A010320FF43
|
||||
:10078000000002F30A0103E9FF000002FB0A00DD9A
|
||||
:10079000FFE9FF02040B00FDFFE9FF020D0B001053
|
||||
:1007A000FF000002160B0103CDFF0000031C0B012C
|
||||
:1007B00001C4C70000031C0B020201C9FF000001B5
|
||||
:1007C000220B00C0C7000001220B0102EDFF4DFF0C
|
||||
:1007D00002270B00EDFF45FF022C0B00C7C70000EE
|
||||
:1007E00001310B01050AFF000001360B001AFF0062
|
||||
:1007F0000001400B003AFF0000034A0B020980028F
|
||||
:10080000FF000001540B0012FF0000015F0B0032DB
|
||||
:10081000FF0000036A0B020980EDFF57FF02790B0E
|
||||
:1008200000EDFF5FFF02810B00EDFF47FF02890B28
|
||||
:1008300000EDFF4FFF02910B0006C7000002750B91
|
||||
:1008400002060840C0000001750B02060780F80090
|
||||
:1008500000012A0C0107C6FF0000022A0C0108DD76
|
||||
:10086000FF86FF03320C020880FDFF86FF03410C68
|
||||
:10087000020880C8F8000001500C01078EF8000043
|
||||
:1008800002500C0108DDFF8EFF03580C020880FDAA
|
||||
:10089000FF8EFF03670C02088090F8000001760CC1
|
||||
:1008A0000107D6FF000002760C0108DDFF96FF036A
|
||||
:1008B0007B0C020880FDFF96FF03870C02088094E2
|
||||
:1008C000F8000001930C0107DEFF000002930C0109
|
||||
:1008D00008DDFF9EFF039B0C020880FDFF9EFF03C7
|
||||
:1008E000A90C020880A0F8000001B70C0107E6FF80
|
||||
:1008F000000002B70C0108DDFFA6FF03BC0C0208D4
|
||||
:1009000080FDFFA6FF03C80C020880B0F8000001BC
|
||||
:10091000D40C0107F6FF000002D40C0108DDFFB67D
|
||||
:10092000FF03D80C020880FDFFB6FF03E30C0208AA
|
||||
:1009300080A8F8000001EE0C0107EEFF000002EEB7
|
||||
:100940000C0108DDFFAEFF03F30C020880FDFFAED3
|
||||
:10095000FF03FF0C020880B8F80000010B0D01072F
|
||||
:10096000FEFF0000020B0D0108DDFFBEFF030F0DAF
|
||||
:10097000020880FDFFBEFF031A0D02088004C700B5
|
||||
:100980000001250D0110DDFF34FF032A0D02088050
|
||||
:10099000FDFF34FF03360D02088005C70000014249
|
||||
:1009A0000D0110DDFF35FF03470D020880FDFF3507
|
||||
:1009B000FF03530D02088009CF0000015F0D0111F4
|
||||
:1009C000EDFF4ACF02680D0112EDFF42CF02710D1B
|
||||
:1009D0000112DDFF09CF027A0D0112FDFF09CF02DE
|
||||
:1009E000830D011203CF0000018C0D0111DDFF23E7
|
||||
:1009F000FF02910D00FDFF23FF029A0D000BCF00B7
|
||||
:100A00000001A30D0111DDFF2BFF02A80D00FDFF6A
|
||||
:100A10002BFF02B10D0001CF000003BA0D031180BE
|
||||
:100A200009DDFF21FF04C10D010AFDFF21FF04C9FB
|
||||
:100A30000D010A2AFF000003D10D020980EDFF4BD2
|
||||
:100A4000CF04DD0D0412800A81DDFF2AFF04E80DCA
|
||||
:100A5000010AFDFF2AFF04F40D010A22FF00000332
|
||||
:100A6000000E020A80EDFF43CF040C0E030A801231
|
||||
:100A7000DDFF22CF04160E020A80FDFF22CF0422E2
|
||||
:100A80000E020A80F9FF0000012E0E00DDFFF9FFC3
|
||||
:100A900002380E00FDFFF9FF02420E00C5CF000034
|
||||
:100AA000014C0E0113DDFFE5FF02520E00FDFFE5D4
|
||||
:100AB000FF025A0E00C1CF000001620E0113DDFFDC
|
||||
:100AC000E1FF02680E00FDFFE1FF02700E004E4FD5
|
||||
:100AD00050004A5020002C20004A5220004A522048
|
||||
:100AE000432C20004A52204E432C20004A52205AC8
|
||||
:100AF0002C20004A52204E5A2C20004A50202848D0
|
||||
:100B00004C2920004A50202849582920004A5020CA
|
||||
:100B1000284959292000444A4E5A200043414C4C50
|
||||
:100B20002000524554200052455449005245544E2D
|
||||
:100B30000052535420004C4420412C2842432900A9
|
||||
:100B40004C4420412C28444529004C4420412C2869
|
||||
:100B5000006829004C4420284243292C2041004CA5
|
||||
:100B60004420284445292C2041004C44202800687A
|
||||
:100B7000292C2041004C4420004C4420412C204989
|
||||
:100B8000004C4420412C2052004C4420492C204150
|
||||
:100B9000004C4420522C2041004441410043504C21
|
||||
:100BA000004E454700434346005343460048414CEE
|
||||
:100BB0005400444900454900494D203000494D202A
|
||||
:100BC0003100494D20320045582044452C20484CE6
|
||||
:100BD0000045582041462C204146E280B20045584D
|
||||
:100BE0005800455820285350292C20484C0045587F
|
||||
:100BF00020285350292C204958004558202853506C
|
||||
:100C0000292C204959004C4449004C444952004C7D
|
||||
:100C10004444004C4444520043504900435049521C
|
||||
:100C20000043504400435044520041444420412C6E
|
||||
:100C3000200041444420412C202849582B00682999
|
||||
:100C40000041444420412C202849592B00682900A8
|
||||
:100C500041444320412C200041444320412C202882
|
||||
:100C600049582B0068290041444320412C20284941
|
||||
:100C7000592B006829005355422000535542202823
|
||||
:100C800049582B00682900535542202849592B0008
|
||||
:100C900068290053424320412C2000534243204105
|
||||
:100CA0002C2849582B0068290053424320412C2806
|
||||
:100CB00049592B00682900414E442000414E4420F0
|
||||
:100CC0002849582B00682900414E44202849592BB7
|
||||
:100CD000006829004F5220004F52202849582B000D
|
||||
:100CE0006829004F52202849592B00682900584F85
|
||||
:100CF000522000584F52202849582B00682900588C
|
||||
:100D00004F52202849592B006829004350200043A6
|
||||
:100D100050202849582B0068290043502028495961
|
||||
:100D20002B00682900494E432000494E43202849A2
|
||||
:100D3000582B00682900494E43202849592B006848
|
||||
:100D400029004445432000444543202849582B00AE
|
||||
:100D5000682900444543202849592B00682900414F
|
||||
:100D6000444420484C2C200041444320484C2C2033
|
||||
:100D70000053424320484C2C200041444420495811
|
||||
:100D80002C20004144442049592C2000494E432046
|
||||
:100D900000494E432049582C2000494E43204959D0
|
||||
:100DA0002C200044454320004445432049582C2032
|
||||
:100DB000004445432049592C20004C4420002C205D
|
||||
:100DC000004C442049582C20004C442049592C20E8
|
||||
:100DD000004C4420484C2C2028006829004C44201A
|
||||
:100DE000002C2028006829004C442049582C202839
|
||||
:100DF000006829004C442049592C2028006829000B
|
||||
:100E00004C4420280068292C20484C004C442028C1
|
||||
:100E10000068292C20004C4420280068292C2049F7
|
||||
:100E200058004C4420280068292C204959004C4483
|
||||
:100E30002053502C20484C004C442053502C204927
|
||||
:100E400058004C442053502C2049590050555348C9
|
||||
:100E500020005055534820495800505553482049C8
|
||||
:100E600059005055534820005055534820495800C8
|
||||
:100E700050555348204959002E3F2E002020202055
|
||||
:100E8000004E5A5A004E434300504F504550004DBB
|
||||
:100E90000042434445484C5350424344454958530B
|
||||
:100EA00050424344454959535042434445484C41BC
|
||||
:100EB0004628484C2900CDA902C9C5D5E5CDEA028E
|
||||
:100EC000F5F1E1D1C1C93E00C95A3843204D6F6EDA
|
||||
:100ED00069746F722056322062792044656E6E69A3
|
||||
:100EE000732047756E6961202832303232290073D1
|
||||
:100EF000796E3F00636D643F0042415345203020CE
|
||||
:100F00002031202032202033202034202035202082
|
||||
:100F10003620203700CD04033EA7D3063E0ED3066D
|
||||
:100F20003E00D30421F50F22044221000022FC40A0
|
||||
:100F300022FE403E42ED47ED5E217010CDB102FB36
|
||||
:100F4000CDA6103E43CD4610CD1910DA430FFE0456
|
||||
:100F5000CAAC0FFE18CA430FFE01CA600FC3B40F1C
|
||||
:100F6000CD1910DA98104732FB40CD1910DA9810DD
|
||||
:100F700080FEFFC2B40F3D781FE67F67783D0FE625
|
||||
:100F8000806F1100441906800E00E5CD1910DA9823
|
||||
:100F900010E177230C05C28A0FCD1910DA9810578B
|
||||
:100FA0000CCD1910DA98105F0CC38A103E06CD469E
|
||||
:100FB00010C3EE0F3E18CD46103E18CD46103E1819
|
||||
:100FC000CD46103E18CD46103E18CD46103E18CDE9
|
||||
:100FD00046103E18CD46103E18CD46103E18CD4660
|
||||
:100FE000103E18CD46103E18215710CDB102F3CD5A
|
||||
:100FF000C302C38B00F308D92AFC402322FC401112
|
||||
:101000000404ED52C2141021000022FC402AFE40CC
|
||||
:101010002322FE4008D9FBED4DF321000022FC40C5
|
||||
:1010200022FE40FBCD0D032AFE407DFE03CA441084
|
||||
:10103000AFD309DB09E601CA2710DB08F5CD0403AD
|
||||
:10104000F1373FC937C9D308CD4C10C9973CD309F4
|
||||
:10105000DB09CB4728F6C94572726F723A20756E6C
|
||||
:10106000657870656374656420627974650D0A0043
|
||||
:10107000417761697420786D6F64656D20636F6E70
|
||||
:101080006E656374696F6E0D0A003E06CD4610CD25
|
||||
:101090001910DA8A10C34E0F3E15CD4610CD191027
|
||||
:1010A000DA9810C34E0F21FF00010100000000007C
|
||||
:0510B000ED42C818F735
|
||||
:00000001FF
|
||||
2724
OperatingSystem/monitor_v2/zout/main.lst
Normal file
2724
OperatingSystem/monitor_v2/zout/main.lst
Normal file
File diff suppressed because it is too large
Load Diff
270
OperatingSystem/monitor_v2/zout/main.mon
Normal file
270
OperatingSystem/monitor_v2/zout/main.mon
Normal file
@@ -0,0 +1,270 @@
|
||||
!0000 C3 50 00
|
||||
!0008 C3 B6 0E
|
||||
!0010 C3 BA 0E
|
||||
!0018 C3 C6 0E
|
||||
!0044 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
!0054 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
!0064 00 00 00 00 00 00 00 00 00 00
|
||||
!0050 31 FF FF AF 32 04 40 32 05 40 3E 20 32 06 40 CD
|
||||
!0060 70 02 21 44 00 11 2A 40 01 00 40 7E 02 23 03 E5
|
||||
!0070 ED 52 E1 C2 6B 00 CD BC 02 21 C9 0E CD B1 02 CD
|
||||
!0080 8B 00 76 47 7A D3 40 78 D3 41 C9 CD C3 02 3E 3E
|
||||
!0090 CD A9 02 AF 32 00 40 CD EA 02 CA 97 00 F5 F1 FE
|
||||
!00A0 0D CA EE 00 FE 0A CA 97 00 FE 08 CA C8 00 F5 21
|
||||
!00B0 29 40 16 00 3A 00 40 5F 19 3C 32 00 40 F1 77 CD
|
||||
!00C0 A9 02 23 AF 77 C3 97 00 3A 00 40 A7 CA 97 00 3D
|
||||
!00D0 32 00 40 5F 16 00 21 29 40 19 AF 77 3E 08 CD A9
|
||||
!00E0 02 3E 20 CD A9 02 3E 08 CD A9 02 C3 97 00 3A 29
|
||||
!00F0 40 FE 24 CA 21 01 FE 3F CA 40 01 FE 21 CA AA 01
|
||||
!0100 FE 69 CA 0F 02 FE 6F CA E6 01 FE 64 CA 2B 02 FE
|
||||
!0110 78 CA 15 0F CD C3 02 21 F4 0E CD B1 02 C3 8B 00
|
||||
!0120 C9 AF 32 29 40 21 2A 40 CD 16 03 47 7B A7 C2 64
|
||||
!0130 02 21 2C 40 CD 16 03 4F 7B A7 C2 64 02 60 69 E9
|
||||
!0140 CD C3 02 21 2A 40 CD 16 03 47 7B A7 C2 64 02 21
|
||||
!0150 2C 40 CD 16 03 4F 7B A7 C2 64 02 3A 2E 40 FE 20
|
||||
!0160 C2 64 02 21 2F 40 CD 16 03 F5 7B A7 C2 64 02 21
|
||||
!0170 F9 0E CD B1 02 F1 60 69 47 CD C3 02 7C CD D9 02
|
||||
!0180 7D CD D9 02 3E 20 CD A9 02 0E 08 7E CD D9 02 23
|
||||
!0190 05 0D 78 A7 CA A4 01 79 A7 CA 79 01 3E 20 CD A9
|
||||
!01A0 02 C3 8B 01 CD C3 02 C3 8B 00 21 2A 40 CD 16 03
|
||||
!01B0 47 7B A7 C2 64 02 21 2C 40 CD 16 03 4F 7B A7 C2
|
||||
!01C0 64 02 21 2E 40 7E FE 00 CA E0 01 FE 20 C2 64 02
|
||||
!01D0 23 CD 16 03 02 7B A7 C2 64 02 03 23 23 C3 C5 01
|
||||
!01E0 CD C3 02 C3 8B 00 21 2A 40 CD 16 03 4F 7B A7 C2
|
||||
!01F0 64 02 3A 2C 40 FE 20 C2 64 02 21 2D 40 CD 16 03
|
||||
!0200 F5 7B A7 C2 64 02 F1 ED 79 CD C3 02 C3 8B 00 21
|
||||
!0210 2A 40 CD 16 03 4F 7B A7 C2 64 02 ED 78 F5 CD C3
|
||||
!0220 02 F1 CD D9 02 CD C3 02 C3 8B 00 CD C3 02 21 2A
|
||||
!0230 40 CD 16 03 47 7B A7 C2 64 02 21 2C 40 CD 16 03
|
||||
!0240 4F 7B A7 C2 64 02 3A 2E 40 FE 20 C2 64 02 21 2F
|
||||
!0250 40 CD 16 03 F5 7B A7 C2 64 02 60 69 F1 47 CD 67
|
||||
!0260 03 C3 8B 00 CD C3 02 21 EF 0E CD B1 02 C3 8B 00
|
||||
!0270 3E 4F D3 04 DB 01 D3 04 3E 30 D3 09 3E 18 D3 09
|
||||
!0280 3E 04 D3 09 3E 44 D3 09 3E 05 D3 09 3E E8 D3 09
|
||||
!0290 3E 01 D3 09 3E 04 D3 09 3E 02 D3 09 3E 00 D3 09
|
||||
!02A0 3E 03 D3 09 3E C1 D3 09 C9 F5 D3 08 CD CE 02 F1
|
||||
!02B0 C9 7E B7 28 06 CD A9 02 23 18 F6 C9 21 FC 02 CD
|
||||
!02C0 B1 02 C9 3E 0A CD A9 02 3E 0D CD A9 02 C9 97 3C
|
||||
!02D0 D3 09 DB 09 CB 47 28 F6 C9 F5 C5 D5 CD 4D 03 78
|
||||
!02E0 CD A9 02 79 CD A9 02 D1 C1 F1 CD 0D 03 00 AF D3
|
||||
!02F0 09 DB 09 E6 01 CD 04 03 C8 DB 08 C9 1B 5B 32 4A
|
||||
!0300 1B 5B 48 00 3E 05 D3 09 3E 68 D3 09 C9 3E 05 D3
|
||||
!0310 09 3E EA D3 09 C9 E5 7E CD 36 03 38 15 CB 27 CB
|
||||
!0320 27 CB 27 CB 27 57 23 7E CD 36 03 38 05 B2 E1 1E
|
||||
!0330 00 C9 1E FF E1 C9 D6 30 EA 4B 03 FE 0A 38 05 D6
|
||||
!0340 07 EA 4B 03 FE 10 30 03 E6 0F C9 37 C9 F5 1F 1F
|
||||
!0350 1F 1F CD 5C 03 47 F1 CD 5C 03 4F C9 E6 0F C6 30
|
||||
!0360 FE 3A D8 C6 07 C9 C9 78 32 1A 41 22 10 41 7E 32
|
||||
!0370 14 41 23 7E 32 15 41 2B CD 5B 04 78 B1 CA 3D 04
|
||||
!0380 ED 43 12 41 03 03 03 03 0A 32 16 41 03 0A 5F 03
|
||||
!0390 0A 57 ED 53 17 41 03 0A 32 19 41 2A 10 41 CD A3
|
||||
!03A0 04 3A 16 41 47 2A 10 41 7E CD D9 02 23 10 F9 3E
|
||||
!03B0 68 CD A9 02 3A 16 41 47 3E 06 90 47 3E 20 CD A9
|
||||
!03C0 02 3E 20 CD A9 02 10 F4 3E 20 CD A9 02 E5 2A 17
|
||||
!03D0 41 CD B1 02 3A 19 41 B7 CA 3A 04 2A 12 41 01 08
|
||||
!03E0 00 09 3A 19 41 47 7E FE 01 CC C9 04 FE 02 CC F0
|
||||
!03F0 04 FE 03 CC 0D 05 FE 04 CC 49 05 FE 05 CC 5F 05
|
||||
!0400 FE 06 CC 6C 05 FE 07 CC 86 05 FE 08 CC 93 05 FE
|
||||
!0410 09 CC A8 05 FE 10 CC BD 05 FE 11 CC CD 05 FE 12
|
||||
!0420 CC D5 05 FE 13 CC 0D 06 FE 0A CC 9F 05 FE 80 CC
|
||||
!0430 2C 06 FE 81 CC 23 06 23 10 AC E1 18 10 CD A3 04
|
||||
!0440 7E CD BB 04 23 E5 21 78 0E CD B1 02 E1 CD C3 02
|
||||
!0450 3A 1A 41 3D 32 1A 41 C2 6B 03 C9 E5 21 76 06 3A
|
||||
!0460 14 41 4F 7E FE FF CA 9D 04 F5 23 46 2B 79 A0 4F
|
||||
!0470 F1 B9 28 0B 06 00 0E 07 09 7E 4F 09 23 18 E0 23
|
||||
!0480 23 4E 23 3A 15 41 46 A0 B9 2B 2B 2B 28 0B 06 00
|
||||
!0490 0E 07 09 7E 4F 09 23 18 C6 44 4D E1 C9 06 00 0E
|
||||
!04A0 00 E1 C9 3E 24 CD A9 02 7C CD D9 02 7D CD D9 02
|
||||
!04B0 3E 68 CD A9 02 3E 20 CD A9 02 C9 CD D9 02 3E 68
|
||||
!04C0 CD A9 02 3E 20 CD A9 02 C9 E5 ED 5B 10 41 13 1A
|
||||
!04D0 6F 13 1A 67 3E 24 CD A9 02 7C CD D9 02 7D CD D9
|
||||
!04E0 02 3E 68 CD A9 02 3E 20 CD A9 02 CD 67 06 E1 C9
|
||||
!04F0 C5 ED 5B 10 41 1A 1F 1F E6 0E E5 21 81 0E 06 00
|
||||
!0500 4F 09 CD B1 02 3E 20 CD A9 02 E1 C1 C9 ED 5B 10
|
||||
!0510 41 13 1A F5 E6 80 C2 2E 05 3E 24 CD A9 02 3E 2B
|
||||
!0520 CD A9 02 F1 CD D9 02 3E 68 CD A9 02 18 17 3E 24
|
||||
!0530 CD A9 02 3E 2D CD A9 02 F1 ED 44 CD D9 02 3E 68
|
||||
!0540 CD A9 02 18 00 CD 67 06 C9 ED 5B 10 41 13 1A FE
|
||||
!0550 4D 28 06 3E 4E CD A9 02 C9 3E 49 CD A9 02 C9 C5
|
||||
!0560 ED 5B 10 41 1A E6 38 CD BB 04 C1 C9 C5 ED 5B 10
|
||||
!0570 41 1A 1F 1F 1F E6 07 CD 42 06 3E 20 CD A9 02 3E
|
||||
!0580 2C CD A9 02 C1 C9 C5 ED 5B 10 41 1A E6 07 CD 42
|
||||
!0590 06 C1 C9 C5 ED 5B 10 41 13 1A CD BB 04 C1 C9 E5
|
||||
!05A0 ED 5B 10 41 13 13 18 06 E5 ED 5B 10 41 13 1A 6F
|
||||
!05B0 13 1A 67 7C CD D9 02 7D CD D9 02 E1 C9 C5 ED 5B
|
||||
!05C0 10 41 1A 1F 1F 1F E6 07 CD 42 06 C1 C9 E5 C5 ED
|
||||
!05D0 5B 10 41 18 07 E5 C5 ED 5B 10 41 13 1A 1F 1F 1F
|
||||
!05E0 E6 06 F5 2A 10 41 7E FE DD 28 09 FE FD 28 0A 21
|
||||
!05F0 91 0E 18 08 21 99 0E 18 03 21 A1 0E F1 06 00 4F
|
||||
!0600 09 7E CD A9 02 23 7E CD A9 02 C1 E1 C9 E5 C5 ED
|
||||
!0610 5B 10 41 1A 1F 1F 1F E6 06 F5 2A 10 41 7E 21 A9
|
||||
!0620 0E 18 D9 E5 C5 2A 17 41 06 02 18 07 E5 C5 2A 17
|
||||
!0630 41 06 01 7E 23 A7 20 FB 05 C2 33 06 CD B1 02 C1
|
||||
!0640 E1 C9 E5 FE 06 28 11 FE 07 28 15 21 91 0E 06 00
|
||||
!0650 4F 09 7E CD A9 02 E1 C9 21 B1 0E CD B1 02 E1 C9
|
||||
!0660 3E 41 CD A9 02 E1 C9 78 FE 01 C8 3E 20 CD A9 02
|
||||
!0670 3E 2C CD A9 02 C9 00 FF 00 00 01 CE 0A 00 27 FF
|
||||
!0680 00 00 01 99 0B 00 2F FF 00 00 01 9D 0B 00 ED FF
|
||||
!0690 44 FF 02 A1 0B 00 3F FF 00 00 01 A5 0B 00 37 FF
|
||||
!06A0 00 00 01 A9 0B 00 76 FF 00 00 01 AD 0B 00 F3 FF
|
||||
!06B0 00 00 01 B2 0B 00 FB FF 00 00 01 B5 0B 00 ED FF
|
||||
!06C0 46 FF 02 B8 0B 00 ED FF 56 FF 02 BD 0B 00 ED FF
|
||||
!06D0 5E FF 02 C2 0B 00 EB FF 00 00 01 C7 0B 00 08 FF
|
||||
!06E0 00 00 01 D1 0B 00 D9 FF 00 00 01 DE 0B 00 E3 FF
|
||||
!06F0 00 00 01 E2 0B 00 DD FF E3 FF 02 EE 0B 00 FD FF
|
||||
!0700 E3 FF 02 FA 0B 00 ED FF A0 FF 02 06 0C 00 ED FF
|
||||
!0710 B0 FF 02 0A 0C 00 ED FF A8 FF 02 0F 0C 00 ED FF
|
||||
!0720 B8 FF 02 13 0C 00 ED FF A1 FF 02 18 0C 00 ED FF
|
||||
!0730 B1 FF 02 1C 0C 00 ED FF A9 FF 02 21 0C 00 ED FF
|
||||
!0740 B9 FF 02 25 0C 00 C3 FF 00 00 03 D2 0A 01 01 C2
|
||||
!0750 C7 00 00 03 D2 0A 03 02 80 01 18 FF 00 00 02 D9
|
||||
!0760 0A 01 03 38 FF 00 00 02 DD 0A 01 03 30 FF 00 00
|
||||
!0770 02 E4 0A 01 03 28 FF 00 00 02 EC 0A 01 03 20 FF
|
||||
!0780 00 00 02 F3 0A 01 03 E9 FF 00 00 02 FB 0A 00 DD
|
||||
!0790 FF E9 FF 02 04 0B 00 FD FF E9 FF 02 0D 0B 00 10
|
||||
!07A0 FF 00 00 02 16 0B 01 03 CD FF 00 00 03 1C 0B 01
|
||||
!07B0 01 C4 C7 00 00 03 1C 0B 02 02 01 C9 FF 00 00 01
|
||||
!07C0 22 0B 00 C0 C7 00 00 01 22 0B 01 02 ED FF 4D FF
|
||||
!07D0 02 27 0B 00 ED FF 45 FF 02 2C 0B 00 C7 C7 00 00
|
||||
!07E0 01 31 0B 01 05 0A FF 00 00 01 36 0B 00 1A FF 00
|
||||
!07F0 00 01 40 0B 00 3A FF 00 00 03 4A 0B 02 09 80 02
|
||||
!0800 FF 00 00 01 54 0B 00 12 FF 00 00 01 5F 0B 00 32
|
||||
!0810 FF 00 00 03 6A 0B 02 09 80 ED FF 57 FF 02 79 0B
|
||||
!0820 00 ED FF 5F FF 02 81 0B 00 ED FF 47 FF 02 89 0B
|
||||
!0830 00 ED FF 4F FF 02 91 0B 00 06 C7 00 00 02 75 0B
|
||||
!0840 02 06 08 40 C0 00 00 01 75 0B 02 06 07 80 F8 00
|
||||
!0850 00 01 2A 0C 01 07 C6 FF 00 00 02 2A 0C 01 08 DD
|
||||
!0860 FF 86 FF 03 32 0C 02 08 80 FD FF 86 FF 03 41 0C
|
||||
!0870 02 08 80 C8 F8 00 00 01 50 0C 01 07 8E F8 00 00
|
||||
!0880 02 50 0C 01 08 DD FF 8E FF 03 58 0C 02 08 80 FD
|
||||
!0890 FF 8E FF 03 67 0C 02 08 80 90 F8 00 00 01 76 0C
|
||||
!08A0 01 07 D6 FF 00 00 02 76 0C 01 08 DD FF 96 FF 03
|
||||
!08B0 7B 0C 02 08 80 FD FF 96 FF 03 87 0C 02 08 80 94
|
||||
!08C0 F8 00 00 01 93 0C 01 07 DE FF 00 00 02 93 0C 01
|
||||
!08D0 08 DD FF 9E FF 03 9B 0C 02 08 80 FD FF 9E FF 03
|
||||
!08E0 A9 0C 02 08 80 A0 F8 00 00 01 B7 0C 01 07 E6 FF
|
||||
!08F0 00 00 02 B7 0C 01 08 DD FF A6 FF 03 BC 0C 02 08
|
||||
!0900 80 FD FF A6 FF 03 C8 0C 02 08 80 B0 F8 00 00 01
|
||||
!0910 D4 0C 01 07 F6 FF 00 00 02 D4 0C 01 08 DD FF B6
|
||||
!0920 FF 03 D8 0C 02 08 80 FD FF B6 FF 03 E3 0C 02 08
|
||||
!0930 80 A8 F8 00 00 01 EE 0C 01 07 EE FF 00 00 02 EE
|
||||
!0940 0C 01 08 DD FF AE FF 03 F3 0C 02 08 80 FD FF AE
|
||||
!0950 FF 03 FF 0C 02 08 80 B8 F8 00 00 01 0B 0D 01 07
|
||||
!0960 FE FF 00 00 02 0B 0D 01 08 DD FF BE FF 03 0F 0D
|
||||
!0970 02 08 80 FD FF BE FF 03 1A 0D 02 08 80 04 C7 00
|
||||
!0980 00 01 25 0D 01 10 DD FF 34 FF 03 2A 0D 02 08 80
|
||||
!0990 FD FF 34 FF 03 36 0D 02 08 80 05 C7 00 00 01 42
|
||||
!09A0 0D 01 10 DD FF 35 FF 03 47 0D 02 08 80 FD FF 35
|
||||
!09B0 FF 03 53 0D 02 08 80 09 CF 00 00 01 5F 0D 01 11
|
||||
!09C0 ED FF 4A CF 02 68 0D 01 12 ED FF 42 CF 02 71 0D
|
||||
!09D0 01 12 DD FF 09 CF 02 7A 0D 01 12 FD FF 09 CF 02
|
||||
!09E0 83 0D 01 12 03 CF 00 00 01 8C 0D 01 11 DD FF 23
|
||||
!09F0 FF 02 91 0D 00 FD FF 23 FF 02 9A 0D 00 0B CF 00
|
||||
!0A00 00 01 A3 0D 01 11 DD FF 2B FF 02 A8 0D 00 FD FF
|
||||
!0A10 2B FF 02 B1 0D 00 01 CF 00 00 03 BA 0D 03 11 80
|
||||
!0A20 09 DD FF 21 FF 04 C1 0D 01 0A FD FF 21 FF 04 C9
|
||||
!0A30 0D 01 0A 2A FF 00 00 03 D1 0D 02 09 80 ED FF 4B
|
||||
!0A40 CF 04 DD 0D 04 12 80 0A 81 DD FF 2A FF 04 E8 0D
|
||||
!0A50 01 0A FD FF 2A FF 04 F4 0D 01 0A 22 FF 00 00 03
|
||||
!0A60 00 0E 02 0A 80 ED FF 43 CF 04 0C 0E 03 0A 80 12
|
||||
!0A70 DD FF 22 CF 04 16 0E 02 0A 80 FD FF 22 CF 04 22
|
||||
!0A80 0E 02 0A 80 F9 FF 00 00 01 2E 0E 00 DD FF F9 FF
|
||||
!0A90 02 38 0E 00 FD FF F9 FF 02 42 0E 00 C5 CF 00 00
|
||||
!0AA0 01 4C 0E 01 13 DD FF E5 FF 02 52 0E 00 FD FF E5
|
||||
!0AB0 FF 02 5A 0E 00 C1 CF 00 00 01 62 0E 01 13 DD FF
|
||||
!0AC0 E1 FF 02 68 0E 00 FD FF E1 FF 02 70 0E 00 4E 4F
|
||||
!0AD0 50 00 4A 50 20 00 2C 20 00 4A 52 20 00 4A 52 20
|
||||
!0AE0 43 2C 20 00 4A 52 20 4E 43 2C 20 00 4A 52 20 5A
|
||||
!0AF0 2C 20 00 4A 52 20 4E 5A 2C 20 00 4A 50 20 28 48
|
||||
!0B00 4C 29 20 00 4A 50 20 28 49 58 29 20 00 4A 50 20
|
||||
!0B10 28 49 59 29 20 00 44 4A 4E 5A 20 00 43 41 4C 4C
|
||||
!0B20 20 00 52 45 54 20 00 52 45 54 49 00 52 45 54 4E
|
||||
!0B30 00 52 53 54 20 00 4C 44 20 41 2C 28 42 43 29 00
|
||||
!0B40 4C 44 20 41 2C 28 44 45 29 00 4C 44 20 41 2C 28
|
||||
!0B50 00 68 29 00 4C 44 20 28 42 43 29 2C 20 41 00 4C
|
||||
!0B60 44 20 28 44 45 29 2C 20 41 00 4C 44 20 28 00 68
|
||||
!0B70 29 2C 20 41 00 4C 44 20 00 4C 44 20 41 2C 20 49
|
||||
!0B80 00 4C 44 20 41 2C 20 52 00 4C 44 20 49 2C 20 41
|
||||
!0B90 00 4C 44 20 52 2C 20 41 00 44 41 41 00 43 50 4C
|
||||
!0BA0 00 4E 45 47 00 43 43 46 00 53 43 46 00 48 41 4C
|
||||
!0BB0 54 00 44 49 00 45 49 00 49 4D 20 30 00 49 4D 20
|
||||
!0BC0 31 00 49 4D 20 32 00 45 58 20 44 45 2C 20 48 4C
|
||||
!0BD0 00 45 58 20 41 46 2C 20 41 46 E2 80 B2 00 45 58
|
||||
!0BE0 58 00 45 58 20 28 53 50 29 2C 20 48 4C 00 45 58
|
||||
!0BF0 20 28 53 50 29 2C 20 49 58 00 45 58 20 28 53 50
|
||||
!0C00 29 2C 20 49 59 00 4C 44 49 00 4C 44 49 52 00 4C
|
||||
!0C10 44 44 00 4C 44 44 52 00 43 50 49 00 43 50 49 52
|
||||
!0C20 00 43 50 44 00 43 50 44 52 00 41 44 44 20 41 2C
|
||||
!0C30 20 00 41 44 44 20 41 2C 20 28 49 58 2B 00 68 29
|
||||
!0C40 00 41 44 44 20 41 2C 20 28 49 59 2B 00 68 29 00
|
||||
!0C50 41 44 43 20 41 2C 20 00 41 44 43 20 41 2C 20 28
|
||||
!0C60 49 58 2B 00 68 29 00 41 44 43 20 41 2C 20 28 49
|
||||
!0C70 59 2B 00 68 29 00 53 55 42 20 00 53 55 42 20 28
|
||||
!0C80 49 58 2B 00 68 29 00 53 55 42 20 28 49 59 2B 00
|
||||
!0C90 68 29 00 53 42 43 20 41 2C 20 00 53 42 43 20 41
|
||||
!0CA0 2C 28 49 58 2B 00 68 29 00 53 42 43 20 41 2C 28
|
||||
!0CB0 49 59 2B 00 68 29 00 41 4E 44 20 00 41 4E 44 20
|
||||
!0CC0 28 49 58 2B 00 68 29 00 41 4E 44 20 28 49 59 2B
|
||||
!0CD0 00 68 29 00 4F 52 20 00 4F 52 20 28 49 58 2B 00
|
||||
!0CE0 68 29 00 4F 52 20 28 49 59 2B 00 68 29 00 58 4F
|
||||
!0CF0 52 20 00 58 4F 52 20 28 49 58 2B 00 68 29 00 58
|
||||
!0D00 4F 52 20 28 49 59 2B 00 68 29 00 43 50 20 00 43
|
||||
!0D10 50 20 28 49 58 2B 00 68 29 00 43 50 20 28 49 59
|
||||
!0D20 2B 00 68 29 00 49 4E 43 20 00 49 4E 43 20 28 49
|
||||
!0D30 58 2B 00 68 29 00 49 4E 43 20 28 49 59 2B 00 68
|
||||
!0D40 29 00 44 45 43 20 00 44 45 43 20 28 49 58 2B 00
|
||||
!0D50 68 29 00 44 45 43 20 28 49 59 2B 00 68 29 00 41
|
||||
!0D60 44 44 20 48 4C 2C 20 00 41 44 43 20 48 4C 2C 20
|
||||
!0D70 00 53 42 43 20 48 4C 2C 20 00 41 44 44 20 49 58
|
||||
!0D80 2C 20 00 41 44 44 20 49 59 2C 20 00 49 4E 43 20
|
||||
!0D90 00 49 4E 43 20 49 58 2C 20 00 49 4E 43 20 49 59
|
||||
!0DA0 2C 20 00 44 45 43 20 00 44 45 43 20 49 58 2C 20
|
||||
!0DB0 00 44 45 43 20 49 59 2C 20 00 4C 44 20 00 2C 20
|
||||
!0DC0 00 4C 44 20 49 58 2C 20 00 4C 44 20 49 59 2C 20
|
||||
!0DD0 00 4C 44 20 48 4C 2C 20 28 00 68 29 00 4C 44 20
|
||||
!0DE0 00 2C 20 28 00 68 29 00 4C 44 20 49 58 2C 20 28
|
||||
!0DF0 00 68 29 00 4C 44 20 49 59 2C 20 28 00 68 29 00
|
||||
!0E00 4C 44 20 28 00 68 29 2C 20 48 4C 00 4C 44 20 28
|
||||
!0E10 00 68 29 2C 20 00 4C 44 20 28 00 68 29 2C 20 49
|
||||
!0E20 58 00 4C 44 20 28 00 68 29 2C 20 49 59 00 4C 44
|
||||
!0E30 20 53 50 2C 20 48 4C 00 4C 44 20 53 50 2C 20 49
|
||||
!0E40 58 00 4C 44 20 53 50 2C 20 49 59 00 50 55 53 48
|
||||
!0E50 20 00 50 55 53 48 20 49 58 00 50 55 53 48 20 49
|
||||
!0E60 59 00 50 55 53 48 20 00 50 55 53 48 20 49 58 00
|
||||
!0E70 50 55 53 48 20 49 59 00 2E 3F 2E 00 20 20 20 20
|
||||
!0E80 00 4E 5A 5A 00 4E 43 43 00 50 4F 50 45 50 00 4D
|
||||
!0E90 00 42 43 44 45 48 4C 53 50 42 43 44 45 49 58 53
|
||||
!0EA0 50 42 43 44 45 49 59 53 50 42 43 44 45 48 4C 41
|
||||
!0EB0 46 28 48 4C 29 00 CD A9 02 C9 C5 D5 E5 CD EA 02
|
||||
!0EC0 F5 F1 E1 D1 C1 C9 3E 00 C9 5A 38 43 20 4D 6F 6E
|
||||
!0ED0 69 74 6F 72 20 56 32 20 62 79 20 44 65 6E 6E 69
|
||||
!0EE0 73 20 47 75 6E 69 61 20 28 32 30 32 32 29 00 73
|
||||
!0EF0 79 6E 3F 00 63 6D 64 3F 00 42 41 53 45 20 30 20
|
||||
!0F00 20 31 20 20 32 20 20 33 20 20 34 20 20 35 20 20
|
||||
!0F10 36 20 20 37 00 CD 04 03 3E A7 D3 06 3E 0E D3 06
|
||||
!0F20 3E 00 D3 04 21 F5 0F 22 04 42 21 00 00 22 FC 40
|
||||
!0F30 22 FE 40 3E 42 ED 47 ED 5E 21 70 10 CD B1 02 FB
|
||||
!0F40 CD A6 10 3E 43 CD 46 10 CD 19 10 DA 43 0F FE 04
|
||||
!0F50 CA AC 0F FE 18 CA 43 0F FE 01 CA 60 0F C3 B4 0F
|
||||
!0F60 CD 19 10 DA 98 10 47 32 FB 40 CD 19 10 DA 98 10
|
||||
!0F70 80 FE FF C2 B4 0F 3D 78 1F E6 7F 67 78 3D 0F E6
|
||||
!0F80 80 6F 11 00 44 19 06 80 0E 00 E5 CD 19 10 DA 98
|
||||
!0F90 10 E1 77 23 0C 05 C2 8A 0F CD 19 10 DA 98 10 57
|
||||
!0FA0 0C CD 19 10 DA 98 10 5F 0C C3 8A 10 3E 06 CD 46
|
||||
!0FB0 10 C3 EE 0F 3E 18 CD 46 10 3E 18 CD 46 10 3E 18
|
||||
!0FC0 CD 46 10 3E 18 CD 46 10 3E 18 CD 46 10 3E 18 CD
|
||||
!0FD0 46 10 3E 18 CD 46 10 3E 18 CD 46 10 3E 18 CD 46
|
||||
!0FE0 10 3E 18 CD 46 10 3E 18 21 57 10 CD B1 02 F3 CD
|
||||
!0FF0 C3 02 C3 8B 00 F3 08 D9 2A FC 40 23 22 FC 40 11
|
||||
!1000 04 04 ED 52 C2 14 10 21 00 00 22 FC 40 2A FE 40
|
||||
!1010 23 22 FE 40 08 D9 FB ED 4D F3 21 00 00 22 FC 40
|
||||
!1020 22 FE 40 FB CD 0D 03 2A FE 40 7D FE 03 CA 44 10
|
||||
!1030 AF D3 09 DB 09 E6 01 CA 27 10 DB 08 F5 CD 04 03
|
||||
!1040 F1 37 3F C9 37 C9 D3 08 CD 4C 10 C9 97 3C D3 09
|
||||
!1050 DB 09 CB 47 28 F6 C9 45 72 72 6F 72 3A 20 75 6E
|
||||
!1060 65 78 70 65 63 74 65 64 20 62 79 74 65 0D 0A 00
|
||||
!1070 41 77 61 69 74 20 78 6D 6F 64 65 6D 20 63 6F 6E
|
||||
!1080 6E 65 63 74 69 6F 6E 0D 0A 00 3E 06 CD 46 10 CD
|
||||
!1090 19 10 DA 8A 10 C3 4E 0F 3E 15 CD 46 10 CD 19 10
|
||||
!10A0 DA 98 10 C3 4E 0F 21 FF 00 01 01 00 00 00 00 00
|
||||
!10B0 ED 42 C8 18 F7
|
||||
263
OperatingSystem/monitor_v2/zout/symbols.s
Normal file
263
OperatingSystem/monitor_v2/zout/symbols.s
Normal file
@@ -0,0 +1,263 @@
|
||||
;This file is generated by the build script.
|
||||
;Do not make any changes here!
|
||||
|
||||
AY0_WRITE_REG equ 0x83
|
||||
A_RTS_OFF equ 0x304
|
||||
A_RTS_ON equ 0x30D
|
||||
CMD_DASM equ 0x22B
|
||||
CMD_EXEC equ 0x121
|
||||
CMD_IO_READ equ 0x20F
|
||||
CMD_IO_WRITE equ 0x1E6
|
||||
CMD_SET equ 0x1AA
|
||||
CMD_SET_END equ 0x1E0
|
||||
CMD_SET_LOOP equ 0x1C5
|
||||
CMD_SYNTAX_ERROR equ 0x264
|
||||
CMD_VIEW equ 0x140
|
||||
CMD_VIEW_END equ 0x1A4
|
||||
CMD_VIEW_ROW equ 0x179
|
||||
CMD_VIEW_ROW_LOOP equ 0x18B
|
||||
CONSOLE_INIT equ 0x270
|
||||
CONSOLE_INIT_CTC equ 0x270
|
||||
CONSOLE_INIT_SIO equ 0x278
|
||||
DHEX_TO_BYTE equ 0x316
|
||||
DHEX_TO_BYTE_FAILED equ 0x332
|
||||
EXEC_RST_08 equ 0xEB6
|
||||
EXEC_RST_10 equ 0xEBA
|
||||
EXEC_RST_18 equ 0xEC6
|
||||
HEX_TO_BIN equ 0x336
|
||||
HEX_TO_BIN_2 equ 0x344
|
||||
HEX_TO_INVALID_2 equ 0x34B
|
||||
INT_VEC equ 0x1B
|
||||
Includes equ 0x270
|
||||
MSG_CLEAR equ 0x2FC
|
||||
MSG_ERROR equ 0x1057
|
||||
MSG_START equ 0x1070
|
||||
PROMPT_BEGIN equ 0x8B
|
||||
PROMPT_BEGIN_READ_BACKSPACE equ 0xC8
|
||||
PROMPT_BEGIN_READ_LOOP equ 0x97
|
||||
PROMPT_BEGIN_READ_PROCESS equ 0xEE
|
||||
RST_00 equ 0x00
|
||||
RST_08 equ 0x08
|
||||
RST_10 equ 0x10
|
||||
RST_18 equ 0x18
|
||||
STRCONV_BYTES_TO_HEX equ 0x34D
|
||||
STRCONV_BYTES_TO_HEX_1 equ 0x35C
|
||||
STRCONV_BYTES_TO_HEX_2 equ 0x366
|
||||
STR_Banner_Start equ 0xEC9
|
||||
STR_HEXDUMP_HEADER equ 0xEF9
|
||||
STR_SyntaxError equ 0xEEF
|
||||
STR_Unknown equ 0xEF4
|
||||
dasm_00 equ 0xACE
|
||||
dasm_01 equ 0xDBA
|
||||
dasm_02 equ 0xB54
|
||||
dasm_03 equ 0xD8C
|
||||
dasm_08 equ 0xBD1
|
||||
dasm_09 equ 0xD5F
|
||||
dasm_0A equ 0xB36
|
||||
dasm_0B equ 0xDA3
|
||||
dasm_10 equ 0xB16
|
||||
dasm_12 equ 0xB5F
|
||||
dasm_18 equ 0xAD9
|
||||
dasm_1A equ 0xB40
|
||||
dasm_20 equ 0xAF3
|
||||
dasm_22 equ 0xE00
|
||||
dasm_27 equ 0xB99
|
||||
dasm_28 equ 0xAEC
|
||||
dasm_2A equ 0xDD1
|
||||
dasm_2F equ 0xB9D
|
||||
dasm_30 equ 0xAE4
|
||||
dasm_32 equ 0xB6A
|
||||
dasm_37 equ 0xBA9
|
||||
dasm_38 equ 0xADD
|
||||
dasm_3A equ 0xB4A
|
||||
dasm_3F equ 0xBA5
|
||||
dasm_76 equ 0xBAD
|
||||
dasm_80C6 equ 0xC2A
|
||||
dasm_BE equ 0xBC7
|
||||
dasm_C3 equ 0xAD2
|
||||
dasm_C88E equ 0xC50
|
||||
dasm_C9 equ 0xB22
|
||||
dasm_CD equ 0xB1C
|
||||
dasm_D9 equ 0xBDE
|
||||
dasm_DD equ 0xB04
|
||||
dasm_DD_01 equ 0xDC1
|
||||
dasm_DD_09 equ 0xD7A
|
||||
dasm_DD_22 equ 0xE16
|
||||
dasm_DD_23 equ 0xD91
|
||||
dasm_DD_2A equ 0xDE8
|
||||
dasm_DD_2B equ 0xDA8
|
||||
dasm_DD_34 equ 0xD2A
|
||||
dasm_DD_35 equ 0xD47
|
||||
dasm_DD_86 equ 0xC32
|
||||
dasm_DD_8E equ 0xC58
|
||||
dasm_DD_96 equ 0xC7B
|
||||
dasm_DD_9E equ 0xC9B
|
||||
dasm_DD_A6 equ 0xCBC
|
||||
dasm_DD_AE equ 0xCF3
|
||||
dasm_DD_B6 equ 0xCD8
|
||||
dasm_DD_BE equ 0xD0F
|
||||
dasm_DD_E1 equ 0xE68
|
||||
dasm_DD_E3 equ 0xBEE
|
||||
dasm_DD_E5 equ 0xE52
|
||||
dasm_DD_F9 equ 0xE38
|
||||
dasm_E1 equ 0xE62
|
||||
dasm_E3 equ 0xBE2
|
||||
dasm_E5 equ 0xE4C
|
||||
dasm_E9 equ 0xAFB
|
||||
dasm_ED_42 equ 0xD71
|
||||
dasm_ED_43 equ 0xE0C
|
||||
dasm_ED_44 equ 0xBA1
|
||||
dasm_ED_45 equ 0xB2C
|
||||
dasm_ED_46 equ 0xBB8
|
||||
dasm_ED_4A equ 0xD68
|
||||
dasm_ED_4B equ 0xDDD
|
||||
dasm_ED_4D equ 0xB27
|
||||
dasm_ED_56 equ 0xBBD
|
||||
dasm_ED_5E equ 0xBC2
|
||||
dasm_ED_A0 equ 0xC06
|
||||
dasm_ED_A1 equ 0xC18
|
||||
dasm_ED_A8 equ 0xC0F
|
||||
dasm_ED_A9 equ 0xC21
|
||||
dasm_ED_B0 equ 0xC0A
|
||||
dasm_ED_B1 equ 0xC1C
|
||||
dasm_ED_B8 equ 0xC13
|
||||
dasm_ED_B9 equ 0xC25
|
||||
dasm_F3 equ 0xBB2
|
||||
dasm_F9 equ 0xE2E
|
||||
dasm_FB equ 0xBB5
|
||||
dasm_FD equ 0xB0D
|
||||
dasm_FD_01 equ 0xDC9
|
||||
dasm_FD_09 equ 0xD83
|
||||
dasm_FD_22 equ 0xE22
|
||||
dasm_FD_23 equ 0xD9A
|
||||
dasm_FD_2A equ 0xDF4
|
||||
dasm_FD_2B equ 0xDB1
|
||||
dasm_FD_34 equ 0xD36
|
||||
dasm_FD_35 equ 0xD53
|
||||
dasm_FD_86 equ 0xC41
|
||||
dasm_FD_8E equ 0xC67
|
||||
dasm_FD_96 equ 0xC87
|
||||
dasm_FD_9E equ 0xCA9
|
||||
dasm_FD_A6 equ 0xCC8
|
||||
dasm_FD_AE equ 0xCFF
|
||||
dasm_FD_B6 equ 0xCE3
|
||||
dasm_FD_BE equ 0xD1A
|
||||
dasm_FD_E1 equ 0xE70
|
||||
dasm_FD_E3 equ 0xBFA
|
||||
dasm_FD_E5 equ 0xE5A
|
||||
dasm_FD_F9 equ 0xE42
|
||||
dasm_FF equ 0xB31
|
||||
dasm_UU equ 0xE78
|
||||
dasm_UW equ 0xE7C
|
||||
dasm__AND equ 0xCB7
|
||||
dasm__CP equ 0xD0B
|
||||
dasm__DEC equ 0xD42
|
||||
dasm__ED_47 equ 0xB89
|
||||
dasm__ED_4F equ 0xB91
|
||||
dasm__ED_57 equ 0xB79
|
||||
dasm__ED_5F equ 0xB81
|
||||
dasm__INC equ 0xD25
|
||||
dasm__LD equ 0xB75
|
||||
dasm__OR equ 0xCD4
|
||||
dasm__SBC equ 0xC93
|
||||
dasm__SUB equ 0xC76
|
||||
dasm__XOR equ 0xCEE
|
||||
dasm_opcode_table equ 0x676
|
||||
dasm_print16hex_addr equ 0x4A3
|
||||
dasm_print8hex equ 0x4BB
|
||||
dasm_printFlags_table equ 0xE81
|
||||
dasm_printRegister8_table equ 0xE91
|
||||
dasm_printRegister8_table_HL equ 0xEB1
|
||||
dasm_printRegisterIX_table equ 0xE99
|
||||
dasm_printRegisterIY_table equ 0xEA1
|
||||
dasm_printRegisterSP_table equ 0xEA9
|
||||
disassemble equ 0x367
|
||||
disassemble_continue equ 0x44D
|
||||
disassemble_err equ 0x43D
|
||||
disassemble_next equ 0x36B
|
||||
disassemble_print_opcode_params_end equ 0x43A
|
||||
disassemble_print_opcode_params_loop equ 0x3E6
|
||||
disassemble_print_opcode_raw equ 0x3A8
|
||||
disassemble_print_opcode_raw_fill equ 0x3BC
|
||||
disassemble_table_first_match equ 0x47F
|
||||
disassemble_table_found equ 0x499
|
||||
disassemble_table_notfound equ 0x49D
|
||||
disassemble_table_seek equ 0x45B
|
||||
disassemble_table_seek_loop equ 0x45F
|
||||
mon_start_complete equ 0x76
|
||||
mon_start_init_ctc equ 0x50
|
||||
mon_start_init_serial equ 0x5F
|
||||
mon_start_init_sound equ 0x50
|
||||
mon_start_ram equ 0x62
|
||||
mon_start_ram_loop equ 0x6B
|
||||
mon_var_template equ 0x44
|
||||
mon_var_template_end equ 0x402A
|
||||
param_01 equ 0x4C9
|
||||
param_02 equ 0x4F0
|
||||
param_03 equ 0x50D
|
||||
param_03_done equ 0x545
|
||||
param_03_neg equ 0x52E
|
||||
param_04 equ 0x549
|
||||
param_04_i equ 0x559
|
||||
param_05 equ 0x55F
|
||||
param_06 equ 0x56C
|
||||
param_07 equ 0x586
|
||||
param_08 equ 0x593
|
||||
param_09 equ 0x5A8
|
||||
param_09_0A equ 0x5AE
|
||||
param_0A equ 0x59F
|
||||
param_10 equ 0x5BD
|
||||
param_11 equ 0x5CD
|
||||
param_11_12 equ 0x5DC
|
||||
param_11_12_all equ 0x5FC
|
||||
param_11_12_def equ 0x5EF
|
||||
param_11_12_ix equ 0x5F4
|
||||
param_11_12_iy equ 0x5F9
|
||||
param_12 equ 0x5D5
|
||||
param_13 equ 0x60D
|
||||
param_80 equ 0x62C
|
||||
param_80_seek equ 0x633
|
||||
param_81 equ 0x623
|
||||
param_comma equ 0x667
|
||||
param_printRegister equ 0x642
|
||||
param_printRegisterA equ 0x660
|
||||
param_printRegisterHL equ 0x658
|
||||
print_a_hex equ 0x2D9
|
||||
print_char equ 0x2A9
|
||||
print_clear equ 0x2BC
|
||||
print_newLine equ 0x2C3
|
||||
print_str equ 0x2B1
|
||||
print_str_end equ 0x2BB
|
||||
print_wait_out equ 0x2CE
|
||||
read_char equ 0x2EA
|
||||
var_buffer equ 0x4029
|
||||
var_buffer_len equ 0x4000
|
||||
var_curserchar equ 0x4006
|
||||
var_curserlastaddr equ 0x4007
|
||||
var_curseron equ 0x4005
|
||||
var_curserstate equ 0x4004
|
||||
var_curserx equ 0x4002
|
||||
var_cursery equ 0x4003
|
||||
var_last_char equ 0x4001
|
||||
var_ps2mem equ 0x4019
|
||||
var_scratch equ 0x4009
|
||||
xmodem_ack equ 0x108A
|
||||
xmodem_await_conn equ 0xF43
|
||||
xmodem_end equ 0xFEE
|
||||
xmodem_err equ 0xFB4
|
||||
xmodem_init equ 0xF15
|
||||
xmodem_int equ 0xFF5
|
||||
xmodem_int_cont equ 0x1014
|
||||
xmodem_nak equ 0x1098
|
||||
xmodem_out equ 0x1046
|
||||
xmodem_packet equ 0xF4E
|
||||
xmodem_packet_EOT equ 0xFAC
|
||||
xmodem_packet_get equ 0xF60
|
||||
xmodem_packet_get_crc equ 0xF99
|
||||
xmodem_packet_get_data equ 0xF8A
|
||||
xmodem_read_wait equ 0x1019
|
||||
xmodem_read_wait_loop equ 0x1027
|
||||
xmodem_read_wait_timeout equ 0x1044
|
||||
xmodem_wait equ 0x10A6
|
||||
xmodem_wait_1 equ 0x10AC
|
||||
xmodem_wait_out equ 0x104C
|
||||
1
OperatingSystem/software/include/extern_symbols.s
Symbolic link
1
OperatingSystem/software/include/extern_symbols.s
Symbolic link
@@ -0,0 +1 @@
|
||||
../../monitor_v2/zout/symbols.s
|
||||
5
OperatingSystem/software/properties.env
Normal file
5
OperatingSystem/software/properties.env
Normal file
@@ -0,0 +1,5 @@
|
||||
export OPT_GEN_SYMBOLTABLE=0
|
||||
export OPT_GEN_MONFILE=1
|
||||
export OPT_GEN_OBJFILE=1
|
||||
export OPT_WRITEROM=0
|
||||
export FILENAME=test
|
||||
10
OperatingSystem/software/test.asm
Normal file
10
OperatingSystem/software/test.asm
Normal file
@@ -0,0 +1,10 @@
|
||||
.include "extern_symbols.s" ;include monitor symbols.
|
||||
org 0x8000
|
||||
|
||||
LD A,4
|
||||
LD B,5
|
||||
ADD A,b
|
||||
LD (0x8010),A
|
||||
JP PROMPT_BEGIN
|
||||
|
||||
|
||||
BIN
OperatingSystem/software/zout/test.bin
Normal file
BIN
OperatingSystem/software/zout/test.bin
Normal file
Binary file not shown.
2
OperatingSystem/software/zout/test.hex
Normal file
2
OperatingSystem/software/zout/test.hex
Normal file
@@ -0,0 +1,2 @@
|
||||
:0B8000003E04060580321080C38B0098
|
||||
:00000001FF
|
||||
549
OperatingSystem/software/zout/test.lst
Normal file
549
OperatingSystem/software/zout/test.lst
Normal file
@@ -0,0 +1,549 @@
|
||||
1: .include "extern_symbols.s" ;include monitor symbols.
|
||||
**** include/extern_symbols.s ****
|
||||
1: ;This file is generated by the build script.
|
||||
2: ;Do not make any changes here!
|
||||
3:
|
||||
4: - 0083 AY0_WRITE_REG equ 0x83
|
||||
5: - 0304 A_RTS_OFF equ 0x304
|
||||
6: - 030D A_RTS_ON equ 0x30D
|
||||
7: - 022B CMD_DASM equ 0x22B
|
||||
8: - 0121 CMD_EXEC equ 0x121
|
||||
9: - 020F CMD_IO_READ equ 0x20F
|
||||
10: - 01E6 CMD_IO_WRITE equ 0x1E6
|
||||
11: - 01AA CMD_SET equ 0x1AA
|
||||
12: - 01E0 CMD_SET_END equ 0x1E0
|
||||
13: - 01C5 CMD_SET_LOOP equ 0x1C5
|
||||
14: - 0264 CMD_SYNTAX_ERROR equ 0x264
|
||||
15: - 0140 CMD_VIEW equ 0x140
|
||||
16: - 01A4 CMD_VIEW_END equ 0x1A4
|
||||
17: - 0179 CMD_VIEW_ROW equ 0x179
|
||||
18: - 018B CMD_VIEW_ROW_LOOP equ 0x18B
|
||||
19: - 0270 CONSOLE_INIT equ 0x270
|
||||
20: - 0270 CONSOLE_INIT_CTC equ 0x270
|
||||
21: - 0278 CONSOLE_INIT_SIO equ 0x278
|
||||
22: - 0316 DHEX_TO_BYTE equ 0x316
|
||||
23: - 0332 DHEX_TO_BYTE_FAILED equ 0x332
|
||||
24: - 0EB6 EXEC_RST_08 equ 0xEB6
|
||||
25: - 0EBA EXEC_RST_10 equ 0xEBA
|
||||
26: - 0EC6 EXEC_RST_18 equ 0xEC6
|
||||
27: - 0336 HEX_TO_BIN equ 0x336
|
||||
28: - 0344 HEX_TO_BIN_2 equ 0x344
|
||||
29: - 034B HEX_TO_INVALID_2 equ 0x34B
|
||||
30: - 001B INT_VEC equ 0x1B
|
||||
31: - 0270 Includes equ 0x270
|
||||
32: - 02FC MSG_CLEAR equ 0x2FC
|
||||
33: - 1057 MSG_ERROR equ 0x1057
|
||||
34: - 1070 MSG_START equ 0x1070
|
||||
35: - 008B PROMPT_BEGIN equ 0x8B
|
||||
36: - 00C8 PROMPT_BEGIN_READ_BACKSPACE equ 0xC8
|
||||
37: - 0097 PROMPT_BEGIN_READ_LOOP equ 0x97
|
||||
38: - 00EE PROMPT_BEGIN_READ_PROCESS equ 0xEE
|
||||
39: - 0000 RST_00 equ 0x00
|
||||
40: - 0008 RST_08 equ 0x08
|
||||
41: - 0010 RST_10 equ 0x10
|
||||
42: - 0018 RST_18 equ 0x18
|
||||
43: - 034D STRCONV_BYTES_TO_HEX equ 0x34D
|
||||
44: - 035C STRCONV_BYTES_TO_HEX_1 equ 0x35C
|
||||
45: - 0366 STRCONV_BYTES_TO_HEX_2 equ 0x366
|
||||
46: - 0EC9 STR_Banner_Start equ 0xEC9
|
||||
47: - 0EF9 STR_HEXDUMP_HEADER equ 0xEF9
|
||||
48: - 0EEF STR_SyntaxError equ 0xEEF
|
||||
49: - 0EF4 STR_Unknown equ 0xEF4
|
||||
50: - 0ACE dasm_00 equ 0xACE
|
||||
51: - 0DBA dasm_01 equ 0xDBA
|
||||
52: - 0B54 dasm_02 equ 0xB54
|
||||
53: - 0D8C dasm_03 equ 0xD8C
|
||||
54: - 0BD1 dasm_08 equ 0xBD1
|
||||
55: - 0D5F dasm_09 equ 0xD5F
|
||||
56: - 0B36 dasm_0A equ 0xB36
|
||||
57: - 0DA3 dasm_0B equ 0xDA3
|
||||
58: - 0B16 dasm_10 equ 0xB16
|
||||
59: - 0B5F dasm_12 equ 0xB5F
|
||||
60: - 0AD9 dasm_18 equ 0xAD9
|
||||
61: - 0B40 dasm_1A equ 0xB40
|
||||
62: - 0AF3 dasm_20 equ 0xAF3
|
||||
63: - 0E00 dasm_22 equ 0xE00
|
||||
64: - 0B99 dasm_27 equ 0xB99
|
||||
65: - 0AEC dasm_28 equ 0xAEC
|
||||
66: - 0DD1 dasm_2A equ 0xDD1
|
||||
67: - 0B9D dasm_2F equ 0xB9D
|
||||
68: - 0AE4 dasm_30 equ 0xAE4
|
||||
69: - 0B6A dasm_32 equ 0xB6A
|
||||
70: - 0BA9 dasm_37 equ 0xBA9
|
||||
71: - 0ADD dasm_38 equ 0xADD
|
||||
72: - 0B4A dasm_3A equ 0xB4A
|
||||
73: - 0BA5 dasm_3F equ 0xBA5
|
||||
74: - 0BAD dasm_76 equ 0xBAD
|
||||
75: - 0C2A dasm_80C6 equ 0xC2A
|
||||
76: - 0BC7 dasm_BE equ 0xBC7
|
||||
77: - 0AD2 dasm_C3 equ 0xAD2
|
||||
78: - 0C50 dasm_C88E equ 0xC50
|
||||
79: - 0B22 dasm_C9 equ 0xB22
|
||||
80: - 0B1C dasm_CD equ 0xB1C
|
||||
81: - 0BDE dasm_D9 equ 0xBDE
|
||||
82: - 0B04 dasm_DD equ 0xB04
|
||||
83: - 0DC1 dasm_DD_01 equ 0xDC1
|
||||
84: - 0D7A dasm_DD_09 equ 0xD7A
|
||||
85: - 0E16 dasm_DD_22 equ 0xE16
|
||||
86: - 0D91 dasm_DD_23 equ 0xD91
|
||||
87: - 0DE8 dasm_DD_2A equ 0xDE8
|
||||
88: - 0DA8 dasm_DD_2B equ 0xDA8
|
||||
89: - 0D2A dasm_DD_34 equ 0xD2A
|
||||
90: - 0D47 dasm_DD_35 equ 0xD47
|
||||
91: - 0C32 dasm_DD_86 equ 0xC32
|
||||
92: - 0C58 dasm_DD_8E equ 0xC58
|
||||
93: - 0C7B dasm_DD_96 equ 0xC7B
|
||||
94: - 0C9B dasm_DD_9E equ 0xC9B
|
||||
95: - 0CBC dasm_DD_A6 equ 0xCBC
|
||||
96: - 0CF3 dasm_DD_AE equ 0xCF3
|
||||
97: - 0CD8 dasm_DD_B6 equ 0xCD8
|
||||
98: - 0D0F dasm_DD_BE equ 0xD0F
|
||||
99: - 0E68 dasm_DD_E1 equ 0xE68
|
||||
100: - 0BEE dasm_DD_E3 equ 0xBEE
|
||||
101: - 0E52 dasm_DD_E5 equ 0xE52
|
||||
102: - 0E38 dasm_DD_F9 equ 0xE38
|
||||
103: - 0E62 dasm_E1 equ 0xE62
|
||||
104: - 0BE2 dasm_E3 equ 0xBE2
|
||||
105: - 0E4C dasm_E5 equ 0xE4C
|
||||
106: - 0AFB dasm_E9 equ 0xAFB
|
||||
107: - 0D71 dasm_ED_42 equ 0xD71
|
||||
108: - 0E0C dasm_ED_43 equ 0xE0C
|
||||
109: - 0BA1 dasm_ED_44 equ 0xBA1
|
||||
110: - 0B2C dasm_ED_45 equ 0xB2C
|
||||
111: - 0BB8 dasm_ED_46 equ 0xBB8
|
||||
112: - 0D68 dasm_ED_4A equ 0xD68
|
||||
113: - 0DDD dasm_ED_4B equ 0xDDD
|
||||
114: - 0B27 dasm_ED_4D equ 0xB27
|
||||
115: - 0BBD dasm_ED_56 equ 0xBBD
|
||||
116: - 0BC2 dasm_ED_5E equ 0xBC2
|
||||
117: - 0C06 dasm_ED_A0 equ 0xC06
|
||||
118: - 0C18 dasm_ED_A1 equ 0xC18
|
||||
119: - 0C0F dasm_ED_A8 equ 0xC0F
|
||||
120: - 0C21 dasm_ED_A9 equ 0xC21
|
||||
121: - 0C0A dasm_ED_B0 equ 0xC0A
|
||||
122: - 0C1C dasm_ED_B1 equ 0xC1C
|
||||
123: - 0C13 dasm_ED_B8 equ 0xC13
|
||||
124: - 0C25 dasm_ED_B9 equ 0xC25
|
||||
125: - 0BB2 dasm_F3 equ 0xBB2
|
||||
126: - 0E2E dasm_F9 equ 0xE2E
|
||||
127: - 0BB5 dasm_FB equ 0xBB5
|
||||
128: - 0B0D dasm_FD equ 0xB0D
|
||||
129: - 0DC9 dasm_FD_01 equ 0xDC9
|
||||
130: - 0D83 dasm_FD_09 equ 0xD83
|
||||
131: - 0E22 dasm_FD_22 equ 0xE22
|
||||
132: - 0D9A dasm_FD_23 equ 0xD9A
|
||||
133: - 0DF4 dasm_FD_2A equ 0xDF4
|
||||
134: - 0DB1 dasm_FD_2B equ 0xDB1
|
||||
135: - 0D36 dasm_FD_34 equ 0xD36
|
||||
136: - 0D53 dasm_FD_35 equ 0xD53
|
||||
137: - 0C41 dasm_FD_86 equ 0xC41
|
||||
138: - 0C67 dasm_FD_8E equ 0xC67
|
||||
139: - 0C87 dasm_FD_96 equ 0xC87
|
||||
140: - 0CA9 dasm_FD_9E equ 0xCA9
|
||||
141: - 0CC8 dasm_FD_A6 equ 0xCC8
|
||||
142: - 0CFF dasm_FD_AE equ 0xCFF
|
||||
143: - 0CE3 dasm_FD_B6 equ 0xCE3
|
||||
144: - 0D1A dasm_FD_BE equ 0xD1A
|
||||
145: - 0E70 dasm_FD_E1 equ 0xE70
|
||||
146: - 0BFA dasm_FD_E3 equ 0xBFA
|
||||
147: - 0E5A dasm_FD_E5 equ 0xE5A
|
||||
148: - 0E42 dasm_FD_F9 equ 0xE42
|
||||
149: - 0B31 dasm_FF equ 0xB31
|
||||
150: - 0E78 dasm_UU equ 0xE78
|
||||
151: - 0E7C dasm_UW equ 0xE7C
|
||||
152: - 0CB7 dasm__AND equ 0xCB7
|
||||
153: - 0D0B dasm__CP equ 0xD0B
|
||||
154: - 0D42 dasm__DEC equ 0xD42
|
||||
155: - 0B89 dasm__ED_47 equ 0xB89
|
||||
156: - 0B91 dasm__ED_4F equ 0xB91
|
||||
157: - 0B79 dasm__ED_57 equ 0xB79
|
||||
158: - 0B81 dasm__ED_5F equ 0xB81
|
||||
159: - 0D25 dasm__INC equ 0xD25
|
||||
160: - 0B75 dasm__LD equ 0xB75
|
||||
161: - 0CD4 dasm__OR equ 0xCD4
|
||||
162: - 0C93 dasm__SBC equ 0xC93
|
||||
163: - 0C76 dasm__SUB equ 0xC76
|
||||
164: - 0CEE dasm__XOR equ 0xCEE
|
||||
165: - 0676 dasm_opcode_table equ 0x676
|
||||
166: - 04A3 dasm_print16hex_addr equ 0x4A3
|
||||
167: - 04BB dasm_print8hex equ 0x4BB
|
||||
168: - 0E81 dasm_printFlags_table equ 0xE81
|
||||
169: - 0E91 dasm_printRegister8_table equ 0xE91
|
||||
170: - 0EB1 dasm_printRegister8_table_HL equ 0xEB1
|
||||
171: - 0E99 dasm_printRegisterIX_table equ 0xE99
|
||||
172: - 0EA1 dasm_printRegisterIY_table equ 0xEA1
|
||||
173: - 0EA9 dasm_printRegisterSP_table equ 0xEA9
|
||||
174: - 0367 disassemble equ 0x367
|
||||
175: - 044D disassemble_continue equ 0x44D
|
||||
176: - 043D disassemble_err equ 0x43D
|
||||
177: - 036B disassemble_next equ 0x36B
|
||||
178: - 043A disassemble_print_opcode_params_end equ 0x43A
|
||||
179: - 03E6 disassemble_print_opcode_params_loop equ 0x3E6
|
||||
180: - 03A8 disassemble_print_opcode_raw equ 0x3A8
|
||||
181: - 03BC disassemble_print_opcode_raw_fill equ 0x3BC
|
||||
182: - 047F disassemble_table_first_match equ 0x47F
|
||||
183: - 0499 disassemble_table_found equ 0x499
|
||||
184: - 049D disassemble_table_notfound equ 0x49D
|
||||
185: - 045B disassemble_table_seek equ 0x45B
|
||||
186: - 045F disassemble_table_seek_loop equ 0x45F
|
||||
187: - 0076 mon_start_complete equ 0x76
|
||||
188: - 0050 mon_start_init_ctc equ 0x50
|
||||
189: - 005F mon_start_init_serial equ 0x5F
|
||||
190: - 0050 mon_start_init_sound equ 0x50
|
||||
191: - 0062 mon_start_ram equ 0x62
|
||||
192: - 006B mon_start_ram_loop equ 0x6B
|
||||
193: - 0044 mon_var_template equ 0x44
|
||||
194: - 402A mon_var_template_end equ 0x402A
|
||||
195: - 04C9 param_01 equ 0x4C9
|
||||
196: - 04F0 param_02 equ 0x4F0
|
||||
197: - 050D param_03 equ 0x50D
|
||||
198: - 0545 param_03_done equ 0x545
|
||||
199: - 052E param_03_neg equ 0x52E
|
||||
200: - 0549 param_04 equ 0x549
|
||||
201: - 0559 param_04_i equ 0x559
|
||||
202: - 055F param_05 equ 0x55F
|
||||
203: - 056C param_06 equ 0x56C
|
||||
204: - 0586 param_07 equ 0x586
|
||||
205: - 0593 param_08 equ 0x593
|
||||
206: - 05A8 param_09 equ 0x5A8
|
||||
207: - 05AE param_09_0A equ 0x5AE
|
||||
208: - 059F param_0A equ 0x59F
|
||||
209: - 05BD param_10 equ 0x5BD
|
||||
210: - 05CD param_11 equ 0x5CD
|
||||
211: - 05DC param_11_12 equ 0x5DC
|
||||
212: - 05FC param_11_12_all equ 0x5FC
|
||||
213: - 05EF param_11_12_def equ 0x5EF
|
||||
214: - 05F4 param_11_12_ix equ 0x5F4
|
||||
215: - 05F9 param_11_12_iy equ 0x5F9
|
||||
216: - 05D5 param_12 equ 0x5D5
|
||||
217: - 060D param_13 equ 0x60D
|
||||
218: - 062C param_80 equ 0x62C
|
||||
219: - 0633 param_80_seek equ 0x633
|
||||
220: - 0623 param_81 equ 0x623
|
||||
221: - 0667 param_comma equ 0x667
|
||||
222: - 0642 param_printRegister equ 0x642
|
||||
223: - 0660 param_printRegisterA equ 0x660
|
||||
224: - 0658 param_printRegisterHL equ 0x658
|
||||
225: - 02D9 print_a_hex equ 0x2D9
|
||||
226: - 02A9 print_char equ 0x2A9
|
||||
227: - 02BC print_clear equ 0x2BC
|
||||
228: - 02C3 print_newLine equ 0x2C3
|
||||
229: - 02B1 print_str equ 0x2B1
|
||||
230: - 02BB print_str_end equ 0x2BB
|
||||
231: - 02CE print_wait_out equ 0x2CE
|
||||
232: - 02EA read_char equ 0x2EA
|
||||
233: - 4029 var_buffer equ 0x4029
|
||||
234: - 4000 var_buffer_len equ 0x4000
|
||||
235: - 4006 var_curserchar equ 0x4006
|
||||
236: - 4007 var_curserlastaddr equ 0x4007
|
||||
237: - 4005 var_curseron equ 0x4005
|
||||
238: - 4004 var_curserstate equ 0x4004
|
||||
239: - 4002 var_curserx equ 0x4002
|
||||
240: - 4003 var_cursery equ 0x4003
|
||||
241: - 4001 var_last_char equ 0x4001
|
||||
242: - 4019 var_ps2mem equ 0x4019
|
||||
243: - 4009 var_scratch equ 0x4009
|
||||
244: - 108A xmodem_ack equ 0x108A
|
||||
245: - 0F43 xmodem_await_conn equ 0xF43
|
||||
246: - 0FEE xmodem_end equ 0xFEE
|
||||
247: - 0FB4 xmodem_err equ 0xFB4
|
||||
248: - 0F15 xmodem_init equ 0xF15
|
||||
249: - 0FF5 xmodem_int equ 0xFF5
|
||||
250: - 1014 xmodem_int_cont equ 0x1014
|
||||
251: - 1098 xmodem_nak equ 0x1098
|
||||
252: - 1046 xmodem_out equ 0x1046
|
||||
253: - 0F4E xmodem_packet equ 0xF4E
|
||||
254: - 0FAC xmodem_packet_EOT equ 0xFAC
|
||||
255: - 0F60 xmodem_packet_get equ 0xF60
|
||||
256: - 0F99 xmodem_packet_get_crc equ 0xF99
|
||||
257: - 0F8A xmodem_packet_get_data equ 0xF8A
|
||||
258: - 1019 xmodem_read_wait equ 0x1019
|
||||
259: - 1027 xmodem_read_wait_loop equ 0x1027
|
||||
260: - 1044 xmodem_read_wait_timeout equ 0x1044
|
||||
261: - 10A6 xmodem_wait equ 0x10A6
|
||||
262: - 10AC xmodem_wait_1 equ 0x10AC
|
||||
263: - 104C xmodem_wait_out equ 0x104C
|
||||
**** test.asm ****
|
||||
2: - 8000 org 0x8000
|
||||
3:
|
||||
4: 0+7 8000 3E04 LD A,4
|
||||
5: 7+7 8002 0605 LD B,5
|
||||
6: 14+4 8004 80 ADD A,b
|
||||
7: 18+13 8005 321080 LD (0x8010),A
|
||||
8: 31+10 8008 C38B00 JP PROMPT_BEGIN
|
||||
9:
|
||||
10:
|
||||
|
||||
|
||||
|
||||
Statistics:
|
||||
|
||||
3 passes
|
||||
0 jr promotions
|
||||
260 symbols
|
||||
11 bytes
|
||||
|
||||
|
||||
|
||||
Symbol Table:
|
||||
|
||||
AY0_WRITE_REG =83 131
|
||||
A_RTS_OFF = 304 772
|
||||
A_RTS_ON = 30D 781
|
||||
CMD_DASM = 22B 555
|
||||
CMD_EXEC = 121 289
|
||||
CMD_IO_READ = 20F 527
|
||||
CMD_IO_WRITE = 1E6 486
|
||||
CMD_SET = 1AA 426
|
||||
CMD_SET_END = 1E0 480
|
||||
CMD_SET_LOOP = 1C5 453
|
||||
CMD_SYNTAX_ERROR= 264 612
|
||||
CMD_VIEW = 140 320
|
||||
CMD_VIEW_END = 1A4 420
|
||||
CMD_VIEW_ROW = 179 377
|
||||
CMD_VIEW_ROW_LOOP= 18B 395
|
||||
CONSOLE_INIT = 270 624
|
||||
CONSOLE_INIT_CTC= 270 624
|
||||
CONSOLE_INIT_SIO= 278 632
|
||||
DHEX_TO_BYTE = 316 790
|
||||
DHEX_TO_BYTE_FAILED= 332 818
|
||||
EXEC_RST_08 = EB6 3766
|
||||
EXEC_RST_10 = EBA 3770
|
||||
EXEC_RST_18 = EC6 3782
|
||||
HEX_TO_BIN = 336 822
|
||||
HEX_TO_BIN_2 = 344 836
|
||||
HEX_TO_INVALID_2= 34B 843
|
||||
INT_VEC =1B 27
|
||||
Includes = 270 624
|
||||
MSG_CLEAR = 2FC 764
|
||||
MSG_ERROR =1057 4183
|
||||
MSG_START =1070 4208
|
||||
PROMPT_BEGIN =8B 139
|
||||
PROMPT_BEGIN_READ_BACKSPACE=C8 200
|
||||
PROMPT_BEGIN_READ_LOOP=97 151
|
||||
PROMPT_BEGIN_READ_PROCESS=EE 238
|
||||
RST_00 =00 0
|
||||
RST_08 =08 8
|
||||
RST_10 =10 16
|
||||
RST_18 =18 24
|
||||
STRCONV_BYTES_TO_HEX= 34D 845
|
||||
STRCONV_BYTES_TO_HEX_1= 35C 860
|
||||
STRCONV_BYTES_TO_HEX_2= 366 870
|
||||
STR_Banner_Start= EC9 3785
|
||||
STR_HEXDUMP_HEADER= EF9 3833
|
||||
STR_SyntaxError= EEF 3823
|
||||
STR_Unknown = EF4 3828
|
||||
dasm_00 = ACE 2766
|
||||
dasm_01 = DBA 3514
|
||||
dasm_02 = B54 2900
|
||||
dasm_03 = D8C 3468
|
||||
dasm_08 = BD1 3025
|
||||
dasm_09 = D5F 3423
|
||||
dasm_0A = B36 2870
|
||||
dasm_0B = DA3 3491
|
||||
dasm_10 = B16 2838
|
||||
dasm_12 = B5F 2911
|
||||
dasm_18 = AD9 2777
|
||||
dasm_1A = B40 2880
|
||||
dasm_20 = AF3 2803
|
||||
dasm_22 = E00 3584
|
||||
dasm_27 = B99 2969
|
||||
dasm_28 = AEC 2796
|
||||
dasm_2A = DD1 3537
|
||||
dasm_2F = B9D 2973
|
||||
dasm_30 = AE4 2788
|
||||
dasm_32 = B6A 2922
|
||||
dasm_37 = BA9 2985
|
||||
dasm_38 = ADD 2781
|
||||
dasm_3A = B4A 2890
|
||||
dasm_3F = BA5 2981
|
||||
dasm_76 = BAD 2989
|
||||
dasm_80C6 = C2A 3114
|
||||
dasm_BE = BC7 3015
|
||||
dasm_C3 = AD2 2770
|
||||
dasm_C88E = C50 3152
|
||||
dasm_C9 = B22 2850
|
||||
dasm_CD = B1C 2844
|
||||
dasm_D9 = BDE 3038
|
||||
dasm_DD = B04 2820
|
||||
dasm_DD_01 = DC1 3521
|
||||
dasm_DD_09 = D7A 3450
|
||||
dasm_DD_22 = E16 3606
|
||||
dasm_DD_23 = D91 3473
|
||||
dasm_DD_2A = DE8 3560
|
||||
dasm_DD_2B = DA8 3496
|
||||
dasm_DD_34 = D2A 3370
|
||||
dasm_DD_35 = D47 3399
|
||||
dasm_DD_86 = C32 3122
|
||||
dasm_DD_8E = C58 3160
|
||||
dasm_DD_96 = C7B 3195
|
||||
dasm_DD_9E = C9B 3227
|
||||
dasm_DD_A6 = CBC 3260
|
||||
dasm_DD_AE = CF3 3315
|
||||
dasm_DD_B6 = CD8 3288
|
||||
dasm_DD_BE = D0F 3343
|
||||
dasm_DD_E1 = E68 3688
|
||||
dasm_DD_E3 = BEE 3054
|
||||
dasm_DD_E5 = E52 3666
|
||||
dasm_DD_F9 = E38 3640
|
||||
dasm_E1 = E62 3682
|
||||
dasm_E3 = BE2 3042
|
||||
dasm_E5 = E4C 3660
|
||||
dasm_E9 = AFB 2811
|
||||
dasm_ED_42 = D71 3441
|
||||
dasm_ED_43 = E0C 3596
|
||||
dasm_ED_44 = BA1 2977
|
||||
dasm_ED_45 = B2C 2860
|
||||
dasm_ED_46 = BB8 3000
|
||||
dasm_ED_4A = D68 3432
|
||||
dasm_ED_4B = DDD 3549
|
||||
dasm_ED_4D = B27 2855
|
||||
dasm_ED_56 = BBD 3005
|
||||
dasm_ED_5E = BC2 3010
|
||||
dasm_ED_A0 = C06 3078
|
||||
dasm_ED_A1 = C18 3096
|
||||
dasm_ED_A8 = C0F 3087
|
||||
dasm_ED_A9 = C21 3105
|
||||
dasm_ED_B0 = C0A 3082
|
||||
dasm_ED_B1 = C1C 3100
|
||||
dasm_ED_B8 = C13 3091
|
||||
dasm_ED_B9 = C25 3109
|
||||
dasm_F3 = BB2 2994
|
||||
dasm_F9 = E2E 3630
|
||||
dasm_FB = BB5 2997
|
||||
dasm_FD = B0D 2829
|
||||
dasm_FD_01 = DC9 3529
|
||||
dasm_FD_09 = D83 3459
|
||||
dasm_FD_22 = E22 3618
|
||||
dasm_FD_23 = D9A 3482
|
||||
dasm_FD_2A = DF4 3572
|
||||
dasm_FD_2B = DB1 3505
|
||||
dasm_FD_34 = D36 3382
|
||||
dasm_FD_35 = D53 3411
|
||||
dasm_FD_86 = C41 3137
|
||||
dasm_FD_8E = C67 3175
|
||||
dasm_FD_96 = C87 3207
|
||||
dasm_FD_9E = CA9 3241
|
||||
dasm_FD_A6 = CC8 3272
|
||||
dasm_FD_AE = CFF 3327
|
||||
dasm_FD_B6 = CE3 3299
|
||||
dasm_FD_BE = D1A 3354
|
||||
dasm_FD_E1 = E70 3696
|
||||
dasm_FD_E3 = BFA 3066
|
||||
dasm_FD_E5 = E5A 3674
|
||||
dasm_FD_F9 = E42 3650
|
||||
dasm_FF = B31 2865
|
||||
dasm_UU = E78 3704
|
||||
dasm_UW = E7C 3708
|
||||
dasm__AND = CB7 3255
|
||||
dasm__CP = D0B 3339
|
||||
dasm__DEC = D42 3394
|
||||
dasm__ED_47 = B89 2953
|
||||
dasm__ED_4F = B91 2961
|
||||
dasm__ED_57 = B79 2937
|
||||
dasm__ED_5F = B81 2945
|
||||
dasm__INC = D25 3365
|
||||
dasm__LD = B75 2933
|
||||
dasm__OR = CD4 3284
|
||||
dasm__SBC = C93 3219
|
||||
dasm__SUB = C76 3190
|
||||
dasm__XOR = CEE 3310
|
||||
dasm_opcode_table= 676 1654
|
||||
dasm_print16hex_addr= 4A3 1187
|
||||
dasm_print8hex = 4BB 1211
|
||||
dasm_printFlags_table= E81 3713
|
||||
dasm_printRegister8_table= E91 3729
|
||||
dasm_printRegister8_table_HL= EB1 3761
|
||||
dasm_printRegisterIX_table= E99 3737
|
||||
dasm_printRegisterIY_table= EA1 3745
|
||||
dasm_printRegisterSP_table= EA9 3753
|
||||
disassemble = 367 871
|
||||
disassemble_continue= 44D 1101
|
||||
disassemble_err= 43D 1085
|
||||
disassemble_next= 36B 875
|
||||
disassemble_print_opcode_params_end= 43A 1082
|
||||
disassemble_print_opcode_params_loop= 3E6 998
|
||||
disassemble_print_opcode_raw= 3A8 936
|
||||
disassemble_print_opcode_raw_fill= 3BC 956
|
||||
disassemble_table_first_match= 47F 1151
|
||||
disassemble_table_found= 499 1177
|
||||
disassemble_table_notfound= 49D 1181
|
||||
disassemble_table_seek= 45B 1115
|
||||
disassemble_table_seek_loop= 45F 1119
|
||||
mon_start_complete=76 118
|
||||
mon_start_init_ctc=50 80
|
||||
mon_start_init_serial=5F 95
|
||||
mon_start_init_sound=50 80
|
||||
mon_start_ram =62 98
|
||||
mon_start_ram_loop=6B 107
|
||||
mon_var_template=44 68
|
||||
mon_var_template_end=402A 16426
|
||||
param_01 = 4C9 1225
|
||||
param_02 = 4F0 1264
|
||||
param_03 = 50D 1293
|
||||
param_03_done = 545 1349
|
||||
param_03_neg = 52E 1326
|
||||
param_04 = 549 1353
|
||||
param_04_i = 559 1369
|
||||
param_05 = 55F 1375
|
||||
param_06 = 56C 1388
|
||||
param_07 = 586 1414
|
||||
param_08 = 593 1427
|
||||
param_09 = 5A8 1448
|
||||
param_09_0A = 5AE 1454
|
||||
param_0A = 59F 1439
|
||||
param_10 = 5BD 1469
|
||||
param_11 = 5CD 1485
|
||||
param_11_12 = 5DC 1500
|
||||
param_11_12_all= 5FC 1532
|
||||
param_11_12_def= 5EF 1519
|
||||
param_11_12_ix = 5F4 1524
|
||||
param_11_12_iy = 5F9 1529
|
||||
param_12 = 5D5 1493
|
||||
param_13 = 60D 1549
|
||||
param_80 = 62C 1580
|
||||
param_80_seek = 633 1587
|
||||
param_81 = 623 1571
|
||||
param_comma = 667 1639
|
||||
param_printRegister= 642 1602
|
||||
param_printRegisterA= 660 1632
|
||||
param_printRegisterHL= 658 1624
|
||||
print_a_hex = 2D9 729
|
||||
print_char = 2A9 681
|
||||
print_clear = 2BC 700
|
||||
print_newLine = 2C3 707
|
||||
print_str = 2B1 689
|
||||
print_str_end = 2BB 699
|
||||
print_wait_out = 2CE 718
|
||||
read_char = 2EA 746
|
||||
var_buffer =4029 16425
|
||||
var_buffer_len =4000 16384
|
||||
var_curserchar =4006 16390
|
||||
var_curserlastaddr=4007 16391
|
||||
var_curseron =4005 16389
|
||||
var_curserstate=4004 16388
|
||||
var_curserx =4002 16386
|
||||
var_cursery =4003 16387
|
||||
var_last_char =4001 16385
|
||||
var_ps2mem =4019 16409
|
||||
var_scratch =4009 16393
|
||||
xmodem_ack =108A 4234
|
||||
xmodem_await_conn= F43 3907
|
||||
xmodem_end = FEE 4078
|
||||
xmodem_err = FB4 4020
|
||||
xmodem_init = F15 3861
|
||||
xmodem_int = FF5 4085
|
||||
xmodem_int_cont=1014 4116
|
||||
xmodem_nak =1098 4248
|
||||
xmodem_out =1046 4166
|
||||
xmodem_packet = F4E 3918
|
||||
xmodem_packet_EOT= FAC 4012
|
||||
xmodem_packet_get= F60 3936
|
||||
xmodem_packet_get_crc= F99 3993
|
||||
xmodem_packet_get_data= F8A 3978
|
||||
xmodem_read_wait=1019 4121
|
||||
xmodem_read_wait_loop=1027 4135
|
||||
xmodem_read_wait_timeout=1044 4164
|
||||
xmodem_wait =10A6 4262
|
||||
xmodem_wait_1 =10AC 4268
|
||||
xmodem_wait_out=104C 4172
|
||||
1
OperatingSystem/software/zout/test.mon
Normal file
1
OperatingSystem/software/zout/test.mon
Normal file
@@ -0,0 +1 @@
|
||||
!8000 3E 04 06 05 80 32 10 80 C3 8B 00
|
||||
88
README.md
88
README.md
@@ -1 +1,89 @@
|
||||
# Z8C-Homebrew-Computer
|
||||
|
||||
## Using the build tools
|
||||
The Z8C uses the zmac macro assembler (http://48k.ca/zmac.html)
|
||||
|
||||
To easily develop for my Z80 homebrew system, I designed a simple
|
||||
assempler development environment. This packs the following tasks into one script:
|
||||
* zmac assembly
|
||||
* object file creation (for xmodem upload)
|
||||
* monitor file creation (creates monitor commands for ascii upload)
|
||||
* symbol table include file generation
|
||||
* eeprom programming for the minipro
|
||||
|
||||
### Prequisites
|
||||
* zmac - self-compiled version included in ./Utility.
|
||||
* minipro (https://gitlab.com/DavidGriffith/minipro)
|
||||
* binutils (apt-get install binutils-multiarch,
|
||||
pacman -S aarch64-linux-gnu-binutils )
|
||||
|
||||
### Building a project
|
||||
`./build.sh <dir> <asm filename>`
|
||||
* `dir`: Path to the location of the asm file
|
||||
* `asm filename`: name of the assembly file without suffix
|
||||
|
||||
```
|
||||
# e.g.:
|
||||
cd ./Utility
|
||||
./build.sh ../OperatingSystem/monitor_v2
|
||||
./build.sh ../OperatingSystem/software
|
||||
```
|
||||
### Building a project with a properties file
|
||||
|
||||
`./build.sh <dir>`
|
||||
* `dir`: Path to the location of the asm file
|
||||
|
||||
The directory must contain a file called `properties.env`
|
||||
This file can contain project-specific options.
|
||||
|
||||
Example:
|
||||
```
|
||||
export OPT_GEN_SYMBOLTABLE=1
|
||||
export OPT_GEN_MONFILE=0
|
||||
export OPT_GEN_OBJFILE=1
|
||||
export OPT_WRITEROM=1
|
||||
export FILENAME=main
|
||||
```
|
||||
|
||||
#### Options
|
||||
* `OPT_GEN_SYMBOLTABLE` if set to 1: Generates the symbols.s file
|
||||
* `OPT_GEN_MONFILE` if set to 1: Generates the monitor file
|
||||
* `OPT_GEN_OBJFILE` if set to 1: Generates the object file
|
||||
* `OPT_WRITEROM` if set to 1: Starts eeprom programmer
|
||||
* `FILENAME` same as the `<asm filename>` paramter of the build script
|
||||
* `ROOT_DIR` overrides the project root path. required if git is not used
|
||||
* `EEPROM_PART` sets EEPROM part for minipro. Default: `AT28C256`
|
||||
|
||||
|
||||
## System design
|
||||
The Z80 Hombrew computer is modular computer system, designed arround a custom backplane.
|
||||
|
||||
### Available modules
|
||||
#### Z8C CPU/COM Board
|
||||
* Z80 ZPU @ 4MHz (6MHz planned)
|
||||
* 64 KiB SRAM
|
||||
* 32 KiB EEPROM (R/W switchable)
|
||||
* Z80 CTC with external 1.8432MHz Clock switchable per channel
|
||||
* Z80 SIO (Up to 115200 BAUD possible @ X16 SIO prescaler)
|
||||
* 1 FTDI Connector
|
||||
* 1 RS232 DSUB-9 Port
|
||||
* 8 front-facing DIP switches (currently used for baud-rate setup)
|
||||
* Power-On-Reset Circuit
|
||||
|
||||
```
|
||||
Memory Layout
|
||||
Default ($00 = 0x00) Mode 1 ($00 = 0x02) Mode 2 ($00 = 0x01)
|
||||
$0000 +--------------------+--------------------+--------------------+
|
||||
| EEPROM Lower 16KiB | EEPROM Upper 16KiB | SRAM |
|
||||
$4000 +--------------------+--------------------+ |
|
||||
| SRAM | SRAM | |
|
||||
| | | |
|
||||
| | | |
|
||||
$FFFF +--------------------+--------------------+--------------------+
|
||||
|
||||
IO Addresses:
|
||||
$00 Memory register
|
||||
$01 DIP Switches
|
||||
$04 CTC (First address)
|
||||
$08 SIO (First address)
|
||||
```
|
||||
BIN
Schematics/Z80-IDE/Z80-IDE-backups/Z80-IDE-2022-11-02_133032.zip
Normal file
BIN
Schematics/Z80-IDE/Z80-IDE-backups/Z80-IDE-2022-11-02_133032.zip
Normal file
Binary file not shown.
BIN
Schematics/Z80-IDE/Z80-IDE-backups/Z80-IDE-2022-11-02_172613.zip
Normal file
BIN
Schematics/Z80-IDE/Z80-IDE-backups/Z80-IDE-2022-11-02_172613.zip
Normal file
Binary file not shown.
@@ -40,7 +40,7 @@
|
||||
(stroke (width 0.254) (type default) (color 0 0 0 0))
|
||||
(fill (type none))
|
||||
)
|
||||
(arc (start -0.6096 -3.81) (mid 2.1842 -2.5851) (end 3.81 0)
|
||||
(arc (start -0.6096 -3.81) (mid 2.1855 -2.584) (end 3.81 0)
|
||||
(stroke (width 0.254) (type default) (color 0 0 0 0))
|
||||
(fill (type background))
|
||||
)
|
||||
@@ -78,7 +78,7 @@
|
||||
(stroke (width -25.4) (type default) (color 0 0 0 0))
|
||||
(fill (type background))
|
||||
)
|
||||
(arc (start 3.81 0) (mid 2.1915 2.5936) (end -0.6096 3.81)
|
||||
(arc (start 3.81 0) (mid 2.1928 2.5925) (end -0.6096 3.81)
|
||||
(stroke (width 0.254) (type default) (color 0 0 0 0))
|
||||
(fill (type background))
|
||||
)
|
||||
@@ -128,7 +128,7 @@
|
||||
(stroke (width 0.254) (type default) (color 0 0 0 0))
|
||||
(fill (type none))
|
||||
)
|
||||
(arc (start -0.6096 -3.81) (mid 2.1842 -2.5851) (end 3.81 0)
|
||||
(arc (start -0.6096 -3.81) (mid 2.1855 -2.584) (end 3.81 0)
|
||||
(stroke (width 0.254) (type default) (color 0 0 0 0))
|
||||
(fill (type background))
|
||||
)
|
||||
@@ -166,7 +166,7 @@
|
||||
(stroke (width -25.4) (type default) (color 0 0 0 0))
|
||||
(fill (type background))
|
||||
)
|
||||
(arc (start 3.81 0) (mid 2.1915 2.5936) (end -0.6096 3.81)
|
||||
(arc (start 3.81 0) (mid 2.1928 2.5925) (end -0.6096 3.81)
|
||||
(stroke (width 0.254) (type default) (color 0 0 0 0))
|
||||
(fill (type background))
|
||||
)
|
||||
@@ -216,7 +216,7 @@
|
||||
(stroke (width 0.254) (type default) (color 0 0 0 0))
|
||||
(fill (type none))
|
||||
)
|
||||
(arc (start -0.6096 -3.81) (mid 2.1842 -2.5851) (end 3.81 0)
|
||||
(arc (start -0.6096 -3.81) (mid 2.1855 -2.584) (end 3.81 0)
|
||||
(stroke (width 0.254) (type default) (color 0 0 0 0))
|
||||
(fill (type background))
|
||||
)
|
||||
@@ -254,7 +254,7 @@
|
||||
(stroke (width -25.4) (type default) (color 0 0 0 0))
|
||||
(fill (type background))
|
||||
)
|
||||
(arc (start 3.81 0) (mid 2.1915 2.5936) (end -0.6096 3.81)
|
||||
(arc (start 3.81 0) (mid 2.1928 2.5925) (end -0.6096 3.81)
|
||||
(stroke (width 0.254) (type default) (color 0 0 0 0))
|
||||
(fill (type background))
|
||||
)
|
||||
@@ -304,7 +304,7 @@
|
||||
(stroke (width 0.254) (type default) (color 0 0 0 0))
|
||||
(fill (type none))
|
||||
)
|
||||
(arc (start -0.6096 -3.81) (mid 2.1842 -2.5851) (end 3.81 0)
|
||||
(arc (start -0.6096 -3.81) (mid 2.1855 -2.584) (end 3.81 0)
|
||||
(stroke (width 0.254) (type default) (color 0 0 0 0))
|
||||
(fill (type background))
|
||||
)
|
||||
@@ -342,7 +342,7 @@
|
||||
(stroke (width -25.4) (type default) (color 0 0 0 0))
|
||||
(fill (type background))
|
||||
)
|
||||
(arc (start 3.81 0) (mid 2.1915 2.5936) (end -0.6096 3.81)
|
||||
(arc (start 3.81 0) (mid 2.1928 2.5925) (end -0.6096 3.81)
|
||||
(stroke (width 0.254) (type default) (color 0 0 0 0))
|
||||
(fill (type background))
|
||||
)
|
||||
@@ -10145,20 +10145,8 @@
|
||||
(property "Datasheet" "https://assets.nexperia.com/documents/data-sheet/74HC_HCT04.pdf" (id 3) (at 187.325 47.117 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(pin "1" (uuid ea966899-4bde-4a56-b6b4-55d56680b0ef))
|
||||
(pin "2" (uuid 9688ccbe-ea8a-4297-8bf8-ff9528de589d))
|
||||
(pin "3" (uuid 42399c56-e0f4-408a-9350-07cb5b6d7f4a))
|
||||
(pin "4" (uuid 8eb26a33-1ed2-47a7-bea7-d4fb234cf846))
|
||||
(pin "5" (uuid 9d76b60f-aa66-4ba7-a436-dea5679b5dd4))
|
||||
(pin "6" (uuid 0e0be57b-f293-4133-a71a-4018a5c708f2))
|
||||
(pin "8" (uuid f16bf821-0bff-4070-96a8-85bb70622ada))
|
||||
(pin "9" (uuid 328e2515-4e56-40fa-b869-71d9d148e805))
|
||||
(pin "10" (uuid d911cf16-dd9b-4153-aa56-cfe690cdf083))
|
||||
(pin "11" (uuid b0ce1fb7-0632-4799-a680-b317da495db8))
|
||||
(pin "12" (uuid 6d5f86fa-3f67-4c51-9cb1-d497c3f206cc))
|
||||
(pin "13" (uuid 98608ce4-907f-42d2-8245-3942449051f9))
|
||||
(pin "14" (uuid f73f81b1-4dd4-4f4f-ada1-428ca369647c))
|
||||
(pin "7" (uuid 5e943cb8-ba57-4d23-b6c6-3bc096bf10a2))
|
||||
)
|
||||
|
||||
(symbol (lib_id "power:GND") (at 224.79 198.628 0) (unit 1)
|
||||
@@ -10258,17 +10246,6 @@
|
||||
(pin "1" (uuid eb20a1e2-7c28-47ce-8b2f-a5284bd45dee))
|
||||
(pin "2" (uuid a261f855-2e47-4b0b-9303-1e8bdced1e18))
|
||||
(pin "3" (uuid 0c955ca8-fd0e-4417-8853-daf3ed77316c))
|
||||
(pin "4" (uuid e05b5b58-e2fd-419d-a39f-28430735064e))
|
||||
(pin "5" (uuid d8eb17ae-7649-4800-80b1-d0d15ccee7cc))
|
||||
(pin "6" (uuid 6f79cfdc-03c1-407f-a84f-91f27baeafba))
|
||||
(pin "10" (uuid 812065ce-5f01-4f3f-94cf-cef416146be7))
|
||||
(pin "8" (uuid ee974ca5-c429-4072-bb88-2107b1eadcfa))
|
||||
(pin "9" (uuid dcc1b4d9-0694-4552-af63-e44fd3049230))
|
||||
(pin "11" (uuid ac8d5d63-35ba-4ef1-b4e8-8bc719c6baf5))
|
||||
(pin "12" (uuid 32f97159-f487-4078-8fcf-601f1198c7fd))
|
||||
(pin "13" (uuid 543b7110-8cf8-4b19-bab1-5a27656e6eea))
|
||||
(pin "14" (uuid 34d70169-f461-4cbc-bd67-6d4abb544206))
|
||||
(pin "7" (uuid 50aa8e35-be72-4125-bcf9-e795dd8a0d3e))
|
||||
)
|
||||
|
||||
(symbol (lib_id "power:GND") (at 24.257 81.534 0) (unit 1)
|
||||
@@ -10298,20 +10275,8 @@
|
||||
(property "Datasheet" "https://assets.nexperia.com/documents/data-sheet/74HC_HCT04.pdf" (id 3) (at 287.528 222.504 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(pin "1" (uuid e157f6e2-f0a0-40ec-82af-d1a4a142b53d))
|
||||
(pin "2" (uuid 7b0666c4-94c4-4b4f-9f3f-236cabc5fca6))
|
||||
(pin "3" (uuid 32f49f5c-1642-40f9-9b18-9ad7321354e7))
|
||||
(pin "4" (uuid 376bc595-dcc7-4f6b-87d6-97bff6b9444e))
|
||||
(pin "5" (uuid 9eab2a74-7819-4f65-8cc6-c6bfea329d49))
|
||||
(pin "6" (uuid c90abac9-738b-4b05-98c4-dec0f8dce5c2))
|
||||
(pin "8" (uuid 51e4f943-835c-4476-882a-7a3e4d26af2b))
|
||||
(pin "9" (uuid dd2caa7b-e7b6-458c-bbe6-9ee4d2d6ae22))
|
||||
(pin "10" (uuid 1d8fe69d-9fee-4d4b-a74a-5bb815fdc20b))
|
||||
(pin "11" (uuid 9fe6601e-2a0f-45e5-aae6-589e4182e4b0))
|
||||
(pin "12" (uuid 3e35d241-33bf-4456-8daf-c6ab3b11199f))
|
||||
(pin "13" (uuid 83dfac92-84bb-4294-8e83-88993079f665))
|
||||
(pin "14" (uuid de54d837-f4b7-4cf7-a81c-938adf10fca9))
|
||||
(pin "7" (uuid 0fc40bef-18cf-4821-9cb3-f36cf4358ace))
|
||||
)
|
||||
|
||||
(symbol (lib_id "power:+5V") (at 375.412 97.79 0) (unit 1)
|
||||
@@ -10408,20 +10373,8 @@
|
||||
(property "Datasheet" "https://assets.nexperia.com/documents/data-sheet/74HC_HCT04.pdf" (id 3) (at 187.325 87.122 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(pin "1" (uuid 107f2e2e-70ca-4ab4-9d71-918d71770815))
|
||||
(pin "2" (uuid 69cb10ff-a0e2-4975-ba58-2a7c71078a26))
|
||||
(pin "3" (uuid 42399c56-e0f4-408a-9350-07cb5b6d7f4b))
|
||||
(pin "4" (uuid 8eb26a33-1ed2-47a7-bea7-d4fb234cf847))
|
||||
(pin "5" (uuid 9d76b60f-aa66-4ba7-a436-dea5679b5dd5))
|
||||
(pin "6" (uuid 0e0be57b-f293-4133-a71a-4018a5c708f3))
|
||||
(pin "8" (uuid f16bf821-0bff-4070-96a8-85bb70622adb))
|
||||
(pin "9" (uuid 328e2515-4e56-40fa-b869-71d9d148e806))
|
||||
(pin "10" (uuid d911cf16-dd9b-4153-aa56-cfe690cdf084))
|
||||
(pin "11" (uuid b0ce1fb7-0632-4799-a680-b317da495db9))
|
||||
(pin "12" (uuid 6d5f86fa-3f67-4c51-9cb1-d497c3f206cd))
|
||||
(pin "13" (uuid 98608ce4-907f-42d2-8245-3942449051fa))
|
||||
(pin "14" (uuid f73f81b1-4dd4-4f4f-ada1-428ca369647d))
|
||||
(pin "7" (uuid 5e943cb8-ba57-4d23-b6c6-3bc096bf10a3))
|
||||
)
|
||||
|
||||
(symbol (lib_id "power:+5V") (at 398.272 97.79 0) (unit 1)
|
||||
@@ -10467,20 +10420,8 @@
|
||||
(property "Datasheet" "https://assets.nexperia.com/documents/data-sheet/74HC_HCT04.pdf" (id 3) (at 286.766 187.706 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(pin "1" (uuid e157f6e2-f0a0-40ec-82af-d1a4a142b53e))
|
||||
(pin "2" (uuid 7b0666c4-94c4-4b4f-9f3f-236cabc5fca7))
|
||||
(pin "3" (uuid 32f49f5c-1642-40f9-9b18-9ad7321354e8))
|
||||
(pin "4" (uuid 376bc595-dcc7-4f6b-87d6-97bff6b9444f))
|
||||
(pin "5" (uuid 471495fe-252b-4f0b-8470-686a3c6221dc))
|
||||
(pin "6" (uuid 0116113f-4c86-400e-80e1-6175941574db))
|
||||
(pin "8" (uuid 51e4f943-835c-4476-882a-7a3e4d26af2c))
|
||||
(pin "9" (uuid dd2caa7b-e7b6-458c-bbe6-9ee4d2d6ae23))
|
||||
(pin "10" (uuid e67478b8-907e-448f-9d1e-bcf596708798))
|
||||
(pin "11" (uuid 58b1bf9e-a4b1-45c7-bda9-ca0c5dbb182e))
|
||||
(pin "12" (uuid 3e35d241-33bf-4456-8daf-c6ab3b1119a0))
|
||||
(pin "13" (uuid 83dfac92-84bb-4294-8e83-88993079f666))
|
||||
(pin "14" (uuid de54d837-f4b7-4cf7-a81c-938adf10fcaa))
|
||||
(pin "7" (uuid 0fc40bef-18cf-4821-9cb3-f36cf4358acf))
|
||||
)
|
||||
|
||||
(symbol (lib_id "power:GND") (at 74.422 174.244 0) (unit 1)
|
||||
@@ -10514,20 +10455,12 @@
|
||||
(property "Datasheet" "74xx/74hc_hct74.pdf" (id 3) (at 58.42 124.968 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(pin "1" (uuid d2da9c11-b1df-4cc9-a0f9-b55b00bfaf30))
|
||||
(pin "2" (uuid 06eeb444-1ce9-479b-b772-906054c0cc1c))
|
||||
(pin "3" (uuid eef7e591-dd26-43b3-9bf9-c82d74c613a6))
|
||||
(pin "4" (uuid 83e1d78e-eef8-42fc-acb2-7a7d5ce9ee82))
|
||||
(pin "5" (uuid d6bffcbd-f2bd-4115-9535-aa28727d4a08))
|
||||
(pin "6" (uuid 2a51be14-2cea-4af4-a52d-a0bbea63f056))
|
||||
(pin "10" (uuid aad3b9b9-438a-40c4-a42e-79eefd361626))
|
||||
(pin "11" (uuid e6e27987-f1e4-45c7-b8d3-f3decc2166b0))
|
||||
(pin "12" (uuid af5fadaa-8199-4b79-a435-1d9060d52fb3))
|
||||
(pin "13" (uuid 7a161f3b-f74f-4267-b505-94eb6490288e))
|
||||
(pin "8" (uuid 978cdad3-b292-4e46-949d-807d2da8c148))
|
||||
(pin "9" (uuid 71389ba3-5975-43c0-be26-657886e74dc9))
|
||||
(pin "14" (uuid 2c35a585-0c26-4c99-8bcd-54908f10b551))
|
||||
(pin "7" (uuid 1ce7278b-8505-44e3-b07e-1ddb0e09f4f8))
|
||||
)
|
||||
|
||||
(symbol (lib_id "Jumper:Jumper_3_Open") (at 309.88 75.946 90) (unit 1)
|
||||
@@ -10646,18 +10579,6 @@
|
||||
(property "Datasheet" "https://assets.nexperia.com/documents/data-sheet/74HC_HCT04.pdf" (id 3) (at 261.366 268.478 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(pin "1" (uuid e157f6e2-f0a0-40ec-82af-d1a4a142b53f))
|
||||
(pin "2" (uuid 7b0666c4-94c4-4b4f-9f3f-236cabc5fca8))
|
||||
(pin "3" (uuid 32f49f5c-1642-40f9-9b18-9ad7321354e9))
|
||||
(pin "4" (uuid 376bc595-dcc7-4f6b-87d6-97bff6b94450))
|
||||
(pin "5" (uuid 9eab2a74-7819-4f65-8cc6-c6bfea329d4a))
|
||||
(pin "6" (uuid c90abac9-738b-4b05-98c4-dec0f8dce5c3))
|
||||
(pin "8" (uuid 51e4f943-835c-4476-882a-7a3e4d26af2d))
|
||||
(pin "9" (uuid dd2caa7b-e7b6-458c-bbe6-9ee4d2d6ae24))
|
||||
(pin "10" (uuid 1d8fe69d-9fee-4d4b-a74a-5bb815fdc20c))
|
||||
(pin "11" (uuid 9fe6601e-2a0f-45e5-aae6-589e4182e4b1))
|
||||
(pin "12" (uuid 1129e31c-b5f3-42b0-8dc9-2115840e7f2d))
|
||||
(pin "13" (uuid a2284364-fd8d-4ee8-aca0-1f91109bb078))
|
||||
(pin "14" (uuid de54d837-f4b7-4cf7-a81c-938adf10fcab))
|
||||
(pin "7" (uuid 0fc40bef-18cf-4821-9cb3-f36cf4358ad0))
|
||||
)
|
||||
@@ -10840,20 +10761,8 @@
|
||||
(property "Datasheet" "https://assets.nexperia.com/documents/data-sheet/74HC_HCT04.pdf" (id 3) (at 287.274 210.82 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(pin "1" (uuid e157f6e2-f0a0-40ec-82af-d1a4a142b540))
|
||||
(pin "2" (uuid 7b0666c4-94c4-4b4f-9f3f-236cabc5fca9))
|
||||
(pin "3" (uuid 32f49f5c-1642-40f9-9b18-9ad7321354ea))
|
||||
(pin "4" (uuid 376bc595-dcc7-4f6b-87d6-97bff6b94451))
|
||||
(pin "5" (uuid 9eab2a74-7819-4f65-8cc6-c6bfea329d4b))
|
||||
(pin "6" (uuid c90abac9-738b-4b05-98c4-dec0f8dce5c4))
|
||||
(pin "8" (uuid 51e4f943-835c-4476-882a-7a3e4d26af2e))
|
||||
(pin "9" (uuid dd2caa7b-e7b6-458c-bbe6-9ee4d2d6ae25))
|
||||
(pin "10" (uuid e67478b8-907e-448f-9d1e-bcf596708799))
|
||||
(pin "11" (uuid 58b1bf9e-a4b1-45c7-bda9-ca0c5dbb182f))
|
||||
(pin "12" (uuid 3e35d241-33bf-4456-8daf-c6ab3b1119a1))
|
||||
(pin "13" (uuid 83dfac92-84bb-4294-8e83-88993079f667))
|
||||
(pin "14" (uuid de54d837-f4b7-4cf7-a81c-938adf10fcac))
|
||||
(pin "7" (uuid 0fc40bef-18cf-4821-9cb3-f36cf4358ad1))
|
||||
)
|
||||
|
||||
(symbol (lib_id "Device:C_Small") (at 363.982 135.89 0) (unit 1)
|
||||
@@ -10958,25 +10867,13 @@
|
||||
(in_bom yes) (on_board yes)
|
||||
(uuid 4991d4a0-6bf5-4325-88e8-8eba5fb919d0)
|
||||
(property "Reference" "U11" (id 0) (at 241.3 264.16 0))
|
||||
(property "Value" "74HC14" (id 1) (at 241.3 262.128 0))
|
||||
(property "Value" "74HCT14" (id 1) (at 241.3 262.128 0))
|
||||
(property "Footprint" "Package_DIP:DIP-14_W7.62mm_Socket_LongPads" (id 2) (at 241.3 268.478 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "Datasheet" "http://www.ti.com/lit/gpn/sn74HC14" (id 3) (at 241.3 268.478 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(pin "1" (uuid 4bae2103-dba2-494c-9964-6026342a6a5e))
|
||||
(pin "2" (uuid 3565b236-ad54-4c18-8a08-db3c85a606af))
|
||||
(pin "3" (uuid b6f4c4df-4b7c-4555-9ab8-fc3cf25d2127))
|
||||
(pin "4" (uuid c64a8456-b14e-4d4e-b386-f8bfd1e08400))
|
||||
(pin "5" (uuid 98dec1ce-67b4-42e9-af00-a07d1e4c70d9))
|
||||
(pin "6" (uuid 7fec7485-e5ae-4c8a-aadb-9dee232c8239))
|
||||
(pin "8" (uuid 2d0d97e8-4d71-475a-891b-b5fd8c48c5f5))
|
||||
(pin "9" (uuid 0217bc67-6323-4971-a852-fa86076bd8a8))
|
||||
(pin "10" (uuid a41ef2fb-0af7-474d-9a1e-9c912a01ff69))
|
||||
(pin "11" (uuid bb73d9bc-5179-4e43-9eae-b94e0eb59c1d))
|
||||
(pin "12" (uuid 65315837-6e2e-4ecd-8759-319e4cea7030))
|
||||
(pin "13" (uuid a1b1849e-044f-4c9b-a32f-a307cceec4e9))
|
||||
(pin "14" (uuid b82866a6-71a2-4bd0-b8cd-917449236930))
|
||||
(pin "7" (uuid d0c22809-3fdf-4267-aca7-d13a5cd288cf))
|
||||
)
|
||||
@@ -11136,18 +11033,6 @@
|
||||
)
|
||||
(pin "1" (uuid 64f83bb6-48dd-4ae5-addf-c5eb5aa2f94f))
|
||||
(pin "2" (uuid de2b92d5-c15c-4a3e-a280-ea883ca377f7))
|
||||
(pin "3" (uuid 42399c56-e0f4-408a-9350-07cb5b6d7f4c))
|
||||
(pin "4" (uuid 8eb26a33-1ed2-47a7-bea7-d4fb234cf848))
|
||||
(pin "5" (uuid 9d76b60f-aa66-4ba7-a436-dea5679b5dd6))
|
||||
(pin "6" (uuid 0e0be57b-f293-4133-a71a-4018a5c708f4))
|
||||
(pin "8" (uuid f16bf821-0bff-4070-96a8-85bb70622adc))
|
||||
(pin "9" (uuid 328e2515-4e56-40fa-b869-71d9d148e807))
|
||||
(pin "10" (uuid d911cf16-dd9b-4153-aa56-cfe690cdf085))
|
||||
(pin "11" (uuid b0ce1fb7-0632-4799-a680-b317da495dba))
|
||||
(pin "12" (uuid 6d5f86fa-3f67-4c51-9cb1-d497c3f206ce))
|
||||
(pin "13" (uuid 98608ce4-907f-42d2-8245-3942449051fb))
|
||||
(pin "14" (uuid f73f81b1-4dd4-4f4f-ada1-428ca369647e))
|
||||
(pin "7" (uuid 5e943cb8-ba57-4d23-b6c6-3bc096bf10a4))
|
||||
)
|
||||
|
||||
(symbol (lib_id "74xx:74HC245") (at 87.122 252.984 0) (unit 1)
|
||||
@@ -11210,27 +11095,15 @@
|
||||
(in_bom yes) (on_board yes)
|
||||
(uuid 58a8b3a1-a7aa-40fe-9a58-06c1422ea30c)
|
||||
(property "Reference" "U11" (id 0) (at 286.004 146.558 0))
|
||||
(property "Value" "74HC14" (id 1) (at 286.004 144.526 0))
|
||||
(property "Value" "74HCT14" (id 1) (at 286.004 144.526 0))
|
||||
(property "Footprint" "Package_DIP:DIP-14_W7.62mm_Socket_LongPads" (id 2) (at 286.004 150.876 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "Datasheet" "http://www.ti.com/lit/gpn/sn74HC14" (id 3) (at 286.004 150.876 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(pin "1" (uuid 4bae2103-dba2-494c-9964-6026342a6a5f))
|
||||
(pin "2" (uuid 3565b236-ad54-4c18-8a08-db3c85a606b0))
|
||||
(pin "3" (uuid 3df825ec-9b11-46c7-a8c0-d60af9138927))
|
||||
(pin "4" (uuid 7f96a666-be9e-4c71-97d5-b7f84393d84a))
|
||||
(pin "5" (uuid 185ce7fc-526c-482b-8fb9-9f46d21f1907))
|
||||
(pin "6" (uuid 8d53f151-9fcc-4e74-8790-790c5624eb89))
|
||||
(pin "8" (uuid 2d0d97e8-4d71-475a-891b-b5fd8c48c5f6))
|
||||
(pin "9" (uuid 0217bc67-6323-4971-a852-fa86076bd8a9))
|
||||
(pin "10" (uuid a41ef2fb-0af7-474d-9a1e-9c912a01ff6a))
|
||||
(pin "11" (uuid bb73d9bc-5179-4e43-9eae-b94e0eb59c1e))
|
||||
(pin "12" (uuid 65315837-6e2e-4ecd-8759-319e4cea7031))
|
||||
(pin "13" (uuid a1b1849e-044f-4c9b-a32f-a307cceec4ea))
|
||||
(pin "14" (uuid b82866a6-71a2-4bd0-b8cd-917449236931))
|
||||
(pin "7" (uuid d0c22809-3fdf-4267-aca7-d13a5cd288d0))
|
||||
)
|
||||
|
||||
(symbol (lib_id "power:GND") (at 125.73 121.412 0) (unit 1)
|
||||
@@ -11356,27 +11229,15 @@
|
||||
(in_bom yes) (on_board yes)
|
||||
(uuid 5e60ccf7-42d3-46c6-8396-05d33b7f1d6c)
|
||||
(property "Reference" "U11" (id 0) (at 285.496 123.698 0))
|
||||
(property "Value" "74HC14" (id 1) (at 285.496 121.666 0))
|
||||
(property "Value" "74HCT14" (id 1) (at 285.496 121.666 0))
|
||||
(property "Footprint" "Package_DIP:DIP-14_W7.62mm_Socket_LongPads" (id 2) (at 285.496 128.016 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "Datasheet" "http://www.ti.com/lit/gpn/sn74HC14" (id 3) (at 285.496 128.016 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(pin "1" (uuid 4bae2103-dba2-494c-9964-6026342a6a60))
|
||||
(pin "2" (uuid 3565b236-ad54-4c18-8a08-db3c85a606b1))
|
||||
(pin "3" (uuid b41e4517-98c8-4329-8bc0-978b2fa63c4e))
|
||||
(pin "4" (uuid abb12b97-eb39-44f2-812c-40fa60185ec2))
|
||||
(pin "5" (uuid 98dec1ce-67b4-42e9-af00-a07d1e4c70da))
|
||||
(pin "6" (uuid 7fec7485-e5ae-4c8a-aadb-9dee232c823a))
|
||||
(pin "8" (uuid 2d0d97e8-4d71-475a-891b-b5fd8c48c5f7))
|
||||
(pin "9" (uuid 0217bc67-6323-4971-a852-fa86076bd8aa))
|
||||
(pin "10" (uuid a41ef2fb-0af7-474d-9a1e-9c912a01ff6b))
|
||||
(pin "11" (uuid bb73d9bc-5179-4e43-9eae-b94e0eb59c1f))
|
||||
(pin "12" (uuid 65315837-6e2e-4ecd-8759-319e4cea7032))
|
||||
(pin "13" (uuid a1b1849e-044f-4c9b-a32f-a307cceec4eb))
|
||||
(pin "14" (uuid b82866a6-71a2-4bd0-b8cd-917449236932))
|
||||
(pin "7" (uuid d0c22809-3fdf-4267-aca7-d13a5cd288d1))
|
||||
)
|
||||
|
||||
(symbol (lib_id "power:GND") (at 375.412 120.65 0) (unit 1)
|
||||
@@ -11432,15 +11293,6 @@
|
||||
(pin "5" (uuid 183833a8-040b-4ba3-807a-b833a904df7c))
|
||||
(pin "6" (uuid 201d184b-7b0f-4824-a007-7a42ffa3185b))
|
||||
(pin "7" (uuid 2c400c97-957c-4ba6-9d55-40dcf8a81ffb))
|
||||
(pin "10" (uuid 8bed721e-0582-48dc-8187-6670c6fe02a6))
|
||||
(pin "11" (uuid 09c7dd60-7daa-4408-aace-33223dcf0bc2))
|
||||
(pin "12" (uuid 48a67817-c73a-481b-8887-fa0c0830e720))
|
||||
(pin "13" (uuid ba7e6b92-c928-4f92-a271-96b8e62738c9))
|
||||
(pin "14" (uuid b57660d0-90cf-4a3d-8400-f31c860d76e6))
|
||||
(pin "15" (uuid 2902e1e1-c70e-45ef-aa14-e00d289e1fe1))
|
||||
(pin "9" (uuid 44ab579e-237d-4b69-a927-9e295a07cc99))
|
||||
(pin "16" (uuid 5b41d5ec-007e-4bd4-a2a2-857347e6312c))
|
||||
(pin "8" (uuid e2b641fc-798b-4ecd-a86f-e0c82d02f9d1))
|
||||
)
|
||||
|
||||
(symbol (lib_id "power:GND") (at 398.018 120.65 0) (unit 1)
|
||||
@@ -11567,18 +11419,6 @@
|
||||
)
|
||||
(pin "1" (uuid f843aa59-5974-45a8-8f1c-4846a2800e32))
|
||||
(pin "2" (uuid 093da910-d9bc-44e1-9e5e-2abecb68c45a))
|
||||
(pin "3" (uuid 7df1a0fa-405b-4e17-8b5a-ae77baf2219d))
|
||||
(pin "4" (uuid 96f88dad-3c49-4bd8-9234-89f784b07f1c))
|
||||
(pin "5" (uuid 471495fe-252b-4f0b-8470-686a3c6221dd))
|
||||
(pin "6" (uuid 0116113f-4c86-400e-80e1-6175941574dc))
|
||||
(pin "8" (uuid 51e4f943-835c-4476-882a-7a3e4d26af2f))
|
||||
(pin "9" (uuid dd2caa7b-e7b6-458c-bbe6-9ee4d2d6ae26))
|
||||
(pin "10" (uuid e67478b8-907e-448f-9d1e-bcf59670879a))
|
||||
(pin "11" (uuid 58b1bf9e-a4b1-45c7-bda9-ca0c5dbb1830))
|
||||
(pin "12" (uuid 3e35d241-33bf-4456-8daf-c6ab3b1119a2))
|
||||
(pin "13" (uuid 83dfac92-84bb-4294-8e83-88993079f668))
|
||||
(pin "14" (uuid de54d837-f4b7-4cf7-a81c-938adf10fcad))
|
||||
(pin "7" (uuid 0fc40bef-18cf-4821-9cb3-f36cf4358ad2))
|
||||
)
|
||||
|
||||
(symbol (lib_id "Device:R") (at 186.436 111.252 90) (unit 1)
|
||||
@@ -11695,52 +11535,6 @@
|
||||
(property "Datasheet" "" (id 3) (at 287.02 107.442 0)
|
||||
(effects (font (size 1.524 1.524)))
|
||||
)
|
||||
(pin "10" (uuid 4573b838-470c-4cd0-9786-6cc932344caa))
|
||||
(pin "11" (uuid 03061bef-6029-435a-8c52-c3ab8bd5f0e4))
|
||||
(pin "12" (uuid a655ef23-01a3-4028-9a58-0c7805547fec))
|
||||
(pin "14" (uuid 3946998f-39d2-46f6-9e6f-591426da3d24))
|
||||
(pin "15" (uuid 378814bd-4ffb-413d-9e70-9ee78e35f685))
|
||||
(pin "16" (uuid 3fb15544-4451-49aa-a16f-d90cd5d3c2e3))
|
||||
(pin "17" (uuid 2d3046ba-0906-41ad-9df3-9941e110127c))
|
||||
(pin "18" (uuid dd6ce3f4-9a25-4dec-a134-1ca12dc9cf04))
|
||||
(pin "19" (uuid b54d048e-6075-4647-b71d-429e378b293b))
|
||||
(pin "2" (uuid 71f47bbb-1271-4fa4-9356-f356ceb286ec))
|
||||
(pin "20" (uuid ba6ec220-debd-444b-9c64-11963b4c14a2))
|
||||
(pin "21" (uuid 1efdba85-db9e-4762-a4e7-0d3a9e76977f))
|
||||
(pin "22" (uuid 03edd7f0-aacb-4b40-8b6a-32e8ada40c84))
|
||||
(pin "23" (uuid 86a1df0f-100f-445f-a32e-cf30029006ca))
|
||||
(pin "24" (uuid 6897b7b0-f038-401d-b5ad-8005cddfddcc))
|
||||
(pin "25" (uuid 0e573c80-fdde-446b-88cb-32b46fb63075))
|
||||
(pin "26" (uuid f9f71155-af8b-495d-aa06-90f1ece6b6ce))
|
||||
(pin "27" (uuid 87fc5146-30b5-4afb-97a4-34f39f63e981))
|
||||
(pin "28" (uuid 6af2cad3-1a5e-484a-aead-785d7e708a85))
|
||||
(pin "29" (uuid 42210ae4-f2e0-47d6-9858-08082c52f6d4))
|
||||
(pin "3" (uuid f9bc07cb-1b3a-42a0-a1a8-14e98b0b1a94))
|
||||
(pin "30" (uuid d9ddf81c-ece8-496d-99ab-f40dd3f95ea3))
|
||||
(pin "31" (uuid fd57b678-cfdb-4383-85e6-775aea6f0e27))
|
||||
(pin "32" (uuid cfe21da7-312f-4708-99f5-43c1ee18d4aa))
|
||||
(pin "33" (uuid 243bb984-3fb6-45ca-be1c-c35231010be8))
|
||||
(pin "34" (uuid a7182102-8f89-4e2e-9252-1175fbddfd92))
|
||||
(pin "35" (uuid f21977b5-2535-42c5-a99a-f755b124522b))
|
||||
(pin "36" (uuid 04c8be6b-702b-41c2-bd20-bad7f508d0b4))
|
||||
(pin "37" (uuid eab2d464-1641-4ce3-83b2-523a18d6d533))
|
||||
(pin "39" (uuid 231bf5c2-f094-4df2-993a-68d53479b961))
|
||||
(pin "4" (uuid eabb45c8-b438-476d-9acd-fa03e43fd995))
|
||||
(pin "40" (uuid 24e3051e-ae2f-47a9-931e-21e05b9b0691))
|
||||
(pin "41" (uuid d00290fa-7680-497e-b992-d2b5aff90495))
|
||||
(pin "42" (uuid eaf0c236-0e0f-4b7d-9e7e-09853cadea40))
|
||||
(pin "43" (uuid d08596da-3c6a-4725-99cb-248b1206282f))
|
||||
(pin "44" (uuid 6142e2ac-d8a7-48dc-80ae-85f81c305d2d))
|
||||
(pin "45" (uuid 3d100e69-01a6-4a47-9caa-6069399c800c))
|
||||
(pin "46" (uuid 3e8cd463-1477-4ded-86a5-f3305a60f996))
|
||||
(pin "47" (uuid 0997ccd0-4111-4936-b37c-ac8323eac75f))
|
||||
(pin "48" (uuid 541ad014-76fb-4ad5-9539-86c1d904b0a3))
|
||||
(pin "49" (uuid 8579a3d4-8081-4fe2-afe7-64d3f7575d03))
|
||||
(pin "5" (uuid ba9ccb80-387d-4f20-8a15-3a05507cedf9))
|
||||
(pin "6" (uuid 7896ab11-59df-46cf-906a-46a03f7fb23e))
|
||||
(pin "7" (uuid 24921957-2f43-49db-8b7e-ab1ee0aca8ab))
|
||||
(pin "8" (uuid 0408065f-7853-42c6-8104-3e481bc2860d))
|
||||
(pin "9" (uuid 3bae65ba-263b-4582-a012-e6d16f896473))
|
||||
(pin "1" (uuid d2434890-0174-4195-98c8-d920051d2d76))
|
||||
(pin "13" (uuid aea30e0e-36d8-4348-8bd9-845ff148bced))
|
||||
(pin "38" (uuid 895fdc1a-6cba-4857-86e0-cdf46cf7810d))
|
||||
@@ -11955,18 +11749,6 @@
|
||||
(property "Datasheet" "http://www.ti.com/lit/gpn/sn74hc02" (id 3) (at 198.882 268.732 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(pin "1" (uuid d80687dc-d793-48ab-96aa-5587f458d27a))
|
||||
(pin "2" (uuid e116256e-8f08-4c19-9967-3c1b0697bf5d))
|
||||
(pin "3" (uuid f67032f2-0ef3-417d-892e-025a6a35b6c9))
|
||||
(pin "4" (uuid e05b5b58-e2fd-419d-a39f-28430735064f))
|
||||
(pin "5" (uuid d8eb17ae-7649-4800-80b1-d0d15ccee7cd))
|
||||
(pin "6" (uuid 6f79cfdc-03c1-407f-a84f-91f27baeafbb))
|
||||
(pin "10" (uuid 812065ce-5f01-4f3f-94cf-cef416146be8))
|
||||
(pin "8" (uuid ee974ca5-c429-4072-bb88-2107b1eadcfb))
|
||||
(pin "9" (uuid dcc1b4d9-0694-4552-af63-e44fd3049231))
|
||||
(pin "11" (uuid ac8d5d63-35ba-4ef1-b4e8-8bc719c6baf6))
|
||||
(pin "12" (uuid 32f97159-f487-4078-8fcf-601f1198c7fe))
|
||||
(pin "13" (uuid 543b7110-8cf8-4b19-bab1-5a27656e6eeb))
|
||||
(pin "14" (uuid 34d70169-f461-4cbc-bd67-6d4abb544207))
|
||||
(pin "7" (uuid 50aa8e35-be72-4125-bcf9-e795dd8a0d3f))
|
||||
)
|
||||
@@ -12023,27 +11805,15 @@
|
||||
(in_bom yes) (on_board yes)
|
||||
(uuid 873af6b6-9a62-48b1-9afe-8d3f03695547)
|
||||
(property "Reference" "U11" (id 0) (at 301.244 146.558 0))
|
||||
(property "Value" "74HC14" (id 1) (at 301.244 144.526 0))
|
||||
(property "Value" "74HCT14" (id 1) (at 301.244 144.526 0))
|
||||
(property "Footprint" "Package_DIP:DIP-14_W7.62mm_Socket_LongPads" (id 2) (at 301.244 150.876 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "Datasheet" "http://www.ti.com/lit/gpn/sn74HC14" (id 3) (at 301.244 150.876 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(pin "1" (uuid 4bae2103-dba2-494c-9964-6026342a6a61))
|
||||
(pin "2" (uuid 3565b236-ad54-4c18-8a08-db3c85a606b2))
|
||||
(pin "3" (uuid 3df825ec-9b11-46c7-a8c0-d60af9138928))
|
||||
(pin "4" (uuid 7f96a666-be9e-4c71-97d5-b7f84393d84b))
|
||||
(pin "5" (uuid 0551fd65-2e97-4509-a8ca-0bcb8c35f0f9))
|
||||
(pin "6" (uuid 56f5b349-7ac7-450e-b25f-ee062a61a5a8))
|
||||
(pin "8" (uuid 2d0d97e8-4d71-475a-891b-b5fd8c48c5f8))
|
||||
(pin "9" (uuid 0217bc67-6323-4971-a852-fa86076bd8ab))
|
||||
(pin "10" (uuid a41ef2fb-0af7-474d-9a1e-9c912a01ff6c))
|
||||
(pin "11" (uuid bb73d9bc-5179-4e43-9eae-b94e0eb59c20))
|
||||
(pin "12" (uuid 65315837-6e2e-4ecd-8759-319e4cea7033))
|
||||
(pin "13" (uuid a1b1849e-044f-4c9b-a32f-a307cceec4ec))
|
||||
(pin "14" (uuid b82866a6-71a2-4bd0-b8cd-917449236933))
|
||||
(pin "7" (uuid d0c22809-3fdf-4267-aca7-d13a5cd288d2))
|
||||
)
|
||||
|
||||
(symbol (lib_id "power:GND") (at 386.842 156.21 0) (unit 1)
|
||||
@@ -12272,18 +12042,6 @@
|
||||
(property "Datasheet" "https://assets.nexperia.com/documents/data-sheet/74HC_HCT04.pdf" (id 3) (at 179.07 268.224 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(pin "1" (uuid 25a56790-aca2-42bb-beb0-900be700f21e))
|
||||
(pin "2" (uuid 47a14ce8-3e5b-4820-9c5d-29fbe2828c17))
|
||||
(pin "3" (uuid 42399c56-e0f4-408a-9350-07cb5b6d7f4f))
|
||||
(pin "4" (uuid 8eb26a33-1ed2-47a7-bea7-d4fb234cf84b))
|
||||
(pin "5" (uuid 9d76b60f-aa66-4ba7-a436-dea5679b5dd9))
|
||||
(pin "6" (uuid 0e0be57b-f293-4133-a71a-4018a5c708f7))
|
||||
(pin "8" (uuid f16bf821-0bff-4070-96a8-85bb70622adf))
|
||||
(pin "9" (uuid 328e2515-4e56-40fa-b869-71d9d148e80a))
|
||||
(pin "10" (uuid d911cf16-dd9b-4153-aa56-cfe690cdf088))
|
||||
(pin "11" (uuid b0ce1fb7-0632-4799-a680-b317da495dbd))
|
||||
(pin "12" (uuid c67c2563-38e8-42ab-96d0-aa1899b2088b))
|
||||
(pin "13" (uuid e2627a68-9841-4a4c-b3d2-2830ec14883c))
|
||||
(pin "14" (uuid f73f81b1-4dd4-4f4f-ada1-428ca3696481))
|
||||
(pin "7" (uuid 5e943cb8-ba57-4d23-b6c6-3bc096bf10a7))
|
||||
)
|
||||
@@ -12371,7 +12129,7 @@
|
||||
(in_bom yes) (on_board yes)
|
||||
(uuid 9afe87de-9bfb-4f0e-8863-52198a180967)
|
||||
(property "Reference" "U11" (id 0) (at 181.61 235.712 0))
|
||||
(property "Value" "74HC14" (id 1) (at 181.61 233.68 0))
|
||||
(property "Value" "74HCT14" (id 1) (at 181.61 233.68 0))
|
||||
(property "Footprint" "Package_DIP:DIP-14_W7.62mm_Socket_LongPads" (id 2) (at 181.61 240.03 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
@@ -12380,18 +12138,6 @@
|
||||
)
|
||||
(pin "1" (uuid b12c2461-60ed-4d88-a0e5-3261e77822d2))
|
||||
(pin "2" (uuid 5119eb2c-419a-46da-b091-7658b638518e))
|
||||
(pin "3" (uuid b41e4517-98c8-4329-8bc0-978b2fa63c4f))
|
||||
(pin "4" (uuid abb12b97-eb39-44f2-812c-40fa60185ec3))
|
||||
(pin "5" (uuid 98dec1ce-67b4-42e9-af00-a07d1e4c70db))
|
||||
(pin "6" (uuid 7fec7485-e5ae-4c8a-aadb-9dee232c823b))
|
||||
(pin "8" (uuid 2d0d97e8-4d71-475a-891b-b5fd8c48c5f9))
|
||||
(pin "9" (uuid 0217bc67-6323-4971-a852-fa86076bd8ac))
|
||||
(pin "10" (uuid a41ef2fb-0af7-474d-9a1e-9c912a01ff6d))
|
||||
(pin "11" (uuid bb73d9bc-5179-4e43-9eae-b94e0eb59c21))
|
||||
(pin "12" (uuid 65315837-6e2e-4ecd-8759-319e4cea7034))
|
||||
(pin "13" (uuid a1b1849e-044f-4c9b-a32f-a307cceec4ed))
|
||||
(pin "14" (uuid b82866a6-71a2-4bd0-b8cd-917449236934))
|
||||
(pin "7" (uuid d0c22809-3fdf-4267-aca7-d13a5cd288d3))
|
||||
)
|
||||
|
||||
(symbol (lib_id "power:+5V") (at 137.922 143.764 0) (unit 1)
|
||||
@@ -12473,20 +12219,6 @@
|
||||
(property "Datasheet" "http://www.ti.com/lit/ds/symlink/sn74ls139a.pdf" (id 3) (at 219.71 268.478 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(pin "1" (uuid 13612cd9-b773-4a33-8e9a-3668b39fb070))
|
||||
(pin "2" (uuid 2b5f0047-1a3f-4b0d-91ee-7b53167aa24c))
|
||||
(pin "3" (uuid 437aa696-e56e-4d70-8acb-bd842651e13e))
|
||||
(pin "4" (uuid 7885a3f2-33ec-4aff-bd6f-b10a71b329f6))
|
||||
(pin "5" (uuid 37679587-bb0a-400e-ab1e-82c73c51661b))
|
||||
(pin "6" (uuid ddfc2e44-416e-40aa-aff3-98b50a8d27bd))
|
||||
(pin "7" (uuid 40b055d8-03e8-4a52-872c-52fca5daa643))
|
||||
(pin "10" (uuid 8bed721e-0582-48dc-8187-6670c6fe02a7))
|
||||
(pin "11" (uuid 09c7dd60-7daa-4408-aace-33223dcf0bc3))
|
||||
(pin "12" (uuid 48a67817-c73a-481b-8887-fa0c0830e721))
|
||||
(pin "13" (uuid ba7e6b92-c928-4f92-a271-96b8e62738ca))
|
||||
(pin "14" (uuid b57660d0-90cf-4a3d-8400-f31c860d76e7))
|
||||
(pin "15" (uuid 2902e1e1-c70e-45ef-aa14-e00d289e1fe2))
|
||||
(pin "9" (uuid 44ab579e-237d-4b69-a927-9e295a07cc9a))
|
||||
(pin "16" (uuid 5b41d5ec-007e-4bd4-a2a2-857347e6312d))
|
||||
(pin "8" (uuid e2b641fc-798b-4ecd-a86f-e0c82d02f9d2))
|
||||
)
|
||||
@@ -12495,27 +12227,15 @@
|
||||
(in_bom yes) (on_board yes)
|
||||
(uuid 9d41c33f-c4c1-40d0-bff1-733a96e8404b)
|
||||
(property "Reference" "U11" (id 0) (at 285.75 135.128 0))
|
||||
(property "Value" "74HC14" (id 1) (at 285.75 133.096 0))
|
||||
(property "Value" "74HCT14" (id 1) (at 285.75 133.096 0))
|
||||
(property "Footprint" "Package_DIP:DIP-14_W7.62mm_Socket_LongPads" (id 2) (at 285.75 139.446 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "Datasheet" "http://www.ti.com/lit/gpn/sn74HC14" (id 3) (at 285.75 139.446 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(pin "1" (uuid 4bae2103-dba2-494c-9964-6026342a6a62))
|
||||
(pin "2" (uuid 3565b236-ad54-4c18-8a08-db3c85a606b3))
|
||||
(pin "3" (uuid 3df825ec-9b11-46c7-a8c0-d60af9138929))
|
||||
(pin "4" (uuid 7f96a666-be9e-4c71-97d5-b7f84393d84c))
|
||||
(pin "5" (uuid 98dec1ce-67b4-42e9-af00-a07d1e4c70dc))
|
||||
(pin "6" (uuid 7fec7485-e5ae-4c8a-aadb-9dee232c823c))
|
||||
(pin "8" (uuid 2d0d97e8-4d71-475a-891b-b5fd8c48c5fa))
|
||||
(pin "9" (uuid 0217bc67-6323-4971-a852-fa86076bd8ad))
|
||||
(pin "10" (uuid a41ef2fb-0af7-474d-9a1e-9c912a01ff6e))
|
||||
(pin "11" (uuid bb73d9bc-5179-4e43-9eae-b94e0eb59c22))
|
||||
(pin "12" (uuid 65315837-6e2e-4ecd-8759-319e4cea7035))
|
||||
(pin "13" (uuid a1b1849e-044f-4c9b-a32f-a307cceec4ee))
|
||||
(pin "14" (uuid b82866a6-71a2-4bd0-b8cd-917449236935))
|
||||
(pin "7" (uuid d0c22809-3fdf-4267-aca7-d13a5cd288d4))
|
||||
)
|
||||
|
||||
(symbol (lib_id "power:GND") (at 27.432 265.049 0) (unit 1)
|
||||
@@ -12561,20 +12281,8 @@
|
||||
(property "Datasheet" "https://assets.nexperia.com/documents/data-sheet/74HC_HCT04.pdf" (id 3) (at 187.325 60.452 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(pin "1" (uuid 9fdfc075-73d9-4ae1-b8d0-0c2b02fac986))
|
||||
(pin "2" (uuid 53cfa486-4753-423f-9dc3-861c9460d8c7))
|
||||
(pin "3" (uuid 42399c56-e0f4-408a-9350-07cb5b6d7f4d))
|
||||
(pin "4" (uuid 8eb26a33-1ed2-47a7-bea7-d4fb234cf849))
|
||||
(pin "5" (uuid 9d76b60f-aa66-4ba7-a436-dea5679b5dd7))
|
||||
(pin "6" (uuid 0e0be57b-f293-4133-a71a-4018a5c708f5))
|
||||
(pin "8" (uuid f16bf821-0bff-4070-96a8-85bb70622add))
|
||||
(pin "9" (uuid 328e2515-4e56-40fa-b869-71d9d148e808))
|
||||
(pin "10" (uuid d911cf16-dd9b-4153-aa56-cfe690cdf086))
|
||||
(pin "11" (uuid b0ce1fb7-0632-4799-a680-b317da495dbb))
|
||||
(pin "12" (uuid 6d5f86fa-3f67-4c51-9cb1-d497c3f206cf))
|
||||
(pin "13" (uuid 98608ce4-907f-42d2-8245-3942449051fc))
|
||||
(pin "14" (uuid f73f81b1-4dd4-4f4f-ada1-428ca369647f))
|
||||
(pin "7" (uuid 5e943cb8-ba57-4d23-b6c6-3bc096bf10a5))
|
||||
)
|
||||
|
||||
(symbol (lib_id "power:+5V") (at 386.842 115.57 0) (unit 1)
|
||||
@@ -12670,20 +12378,8 @@
|
||||
(property "Datasheet" "https://assets.nexperia.com/documents/data-sheet/74HC_HCT04.pdf" (id 3) (at 286.512 176.276 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(pin "1" (uuid e157f6e2-f0a0-40ec-82af-d1a4a142b541))
|
||||
(pin "2" (uuid 7b0666c4-94c4-4b4f-9f3f-236cabc5fcaa))
|
||||
(pin "3" (uuid 7df1a0fa-405b-4e17-8b5a-ae77baf2219e))
|
||||
(pin "4" (uuid 96f88dad-3c49-4bd8-9234-89f784b07f1d))
|
||||
(pin "5" (uuid 471495fe-252b-4f0b-8470-686a3c6221de))
|
||||
(pin "6" (uuid 0116113f-4c86-400e-80e1-6175941574dd))
|
||||
(pin "8" (uuid 51e4f943-835c-4476-882a-7a3e4d26af30))
|
||||
(pin "9" (uuid dd2caa7b-e7b6-458c-bbe6-9ee4d2d6ae27))
|
||||
(pin "10" (uuid e67478b8-907e-448f-9d1e-bcf59670879b))
|
||||
(pin "11" (uuid 58b1bf9e-a4b1-45c7-bda9-ca0c5dbb1831))
|
||||
(pin "12" (uuid 3e35d241-33bf-4456-8daf-c6ab3b1119a3))
|
||||
(pin "13" (uuid 83dfac92-84bb-4294-8e83-88993079f669))
|
||||
(pin "14" (uuid de54d837-f4b7-4cf7-a81c-938adf10fcae))
|
||||
(pin "7" (uuid 0fc40bef-18cf-4821-9cb3-f36cf4358ad3))
|
||||
)
|
||||
|
||||
(symbol (lib_id "power:GND") (at 289.56 115.062 0) (unit 1)
|
||||
@@ -12857,20 +12553,8 @@
|
||||
(property "Datasheet" "https://assets.nexperia.com/documents/data-sheet/74HC_HCT04.pdf" (id 3) (at 287.02 199.39 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(pin "1" (uuid e157f6e2-f0a0-40ec-82af-d1a4a142b542))
|
||||
(pin "2" (uuid 7b0666c4-94c4-4b4f-9f3f-236cabc5fcab))
|
||||
(pin "3" (uuid 32f49f5c-1642-40f9-9b18-9ad7321354eb))
|
||||
(pin "4" (uuid 376bc595-dcc7-4f6b-87d6-97bff6b94452))
|
||||
(pin "5" (uuid 533804da-2d24-4263-877d-f16bfbfd81ee))
|
||||
(pin "6" (uuid 578592cd-b5cb-4d48-b2a0-2251221c79a3))
|
||||
(pin "8" (uuid 51e4f943-835c-4476-882a-7a3e4d26af31))
|
||||
(pin "9" (uuid dd2caa7b-e7b6-458c-bbe6-9ee4d2d6ae28))
|
||||
(pin "10" (uuid e67478b8-907e-448f-9d1e-bcf59670879c))
|
||||
(pin "11" (uuid 58b1bf9e-a4b1-45c7-bda9-ca0c5dbb1832))
|
||||
(pin "12" (uuid 3e35d241-33bf-4456-8daf-c6ab3b1119a4))
|
||||
(pin "13" (uuid 83dfac92-84bb-4294-8e83-88993079f66a))
|
||||
(pin "14" (uuid de54d837-f4b7-4cf7-a81c-938adf10fcaf))
|
||||
(pin "7" (uuid 0fc40bef-18cf-4821-9cb3-f36cf4358ad4))
|
||||
)
|
||||
|
||||
(symbol (lib_id "Device:R_Network08") (at 31.242 69.469 90) (unit 1)
|
||||
@@ -13186,20 +12870,8 @@
|
||||
(property "Datasheet" "https://assets.nexperia.com/documents/data-sheet/74HC_HCT04.pdf" (id 3) (at 187.325 73.787 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(pin "1" (uuid 08710212-7112-44d9-b6c8-2e81165ad1bf))
|
||||
(pin "2" (uuid 90f76c30-f4d2-4d00-8ec6-02e06b949e31))
|
||||
(pin "3" (uuid 42399c56-e0f4-408a-9350-07cb5b6d7f4e))
|
||||
(pin "4" (uuid 8eb26a33-1ed2-47a7-bea7-d4fb234cf84a))
|
||||
(pin "5" (uuid 9d76b60f-aa66-4ba7-a436-dea5679b5dd8))
|
||||
(pin "6" (uuid 0e0be57b-f293-4133-a71a-4018a5c708f6))
|
||||
(pin "8" (uuid f16bf821-0bff-4070-96a8-85bb70622ade))
|
||||
(pin "9" (uuid 328e2515-4e56-40fa-b869-71d9d148e809))
|
||||
(pin "10" (uuid d911cf16-dd9b-4153-aa56-cfe690cdf087))
|
||||
(pin "11" (uuid b0ce1fb7-0632-4799-a680-b317da495dbc))
|
||||
(pin "12" (uuid 6d5f86fa-3f67-4c51-9cb1-d497c3f206d0))
|
||||
(pin "13" (uuid 98608ce4-907f-42d2-8245-3942449051fd))
|
||||
(pin "14" (uuid f73f81b1-4dd4-4f4f-ada1-428ca3696480))
|
||||
(pin "7" (uuid 5e943cb8-ba57-4d23-b6c6-3bc096bf10a6))
|
||||
)
|
||||
|
||||
(symbol (lib_id "74xx:74HC245") (at 87.122 161.544 0) (unit 1)
|
||||
@@ -13258,14 +12930,6 @@
|
||||
(pin "4" (uuid 9587fb5f-5611-4cf1-9cbc-3266b9e74a85))
|
||||
(pin "5" (uuid 7611e64f-5d32-47d0-b2d0-556ea903fad3))
|
||||
(pin "6" (uuid 82bcd7d4-3cb3-45e6-a8e2-70ac5c470ca0))
|
||||
(pin "10" (uuid c8bb0c9a-4a18-4c50-8458-2e404be460f8))
|
||||
(pin "11" (uuid 69fcf607-e6fb-4830-9517-fe4ec6f5ad45))
|
||||
(pin "12" (uuid f3fc77d0-92dd-4113-8833-356586ce3633))
|
||||
(pin "13" (uuid b2c8224b-730d-4cb5-bc1f-d0be3f96c297))
|
||||
(pin "8" (uuid c1615d0e-c441-4f89-b436-82004412de19))
|
||||
(pin "9" (uuid 5c7dc3c6-d6f7-4aad-95d0-49576a6a5833))
|
||||
(pin "14" (uuid b22ccddb-616b-4574-83bd-43ee7ff88ee5))
|
||||
(pin "7" (uuid 30be24ca-4399-449e-8136-3f2718d5af1f))
|
||||
)
|
||||
|
||||
(symbol (lib_id "Device:R") (at 166.624 137.414 90) (unit 1)
|
||||
@@ -13333,18 +12997,6 @@
|
||||
(property "Datasheet" "74xx/74hc_hct74.pdf" (id 3) (at 160.02 267.97 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(pin "1" (uuid 8f99d6ea-f96b-40e6-9a04-4ab5fd0930b1))
|
||||
(pin "2" (uuid 5d5551e1-a33d-4104-8660-158dad8a6a57))
|
||||
(pin "3" (uuid 5bd8f6a8-f0cc-46ea-97b8-3533e0465690))
|
||||
(pin "4" (uuid eb3448b4-dd84-401f-9dd6-f2fe819b49e2))
|
||||
(pin "5" (uuid 361ae140-753c-4ffd-b5d6-dca1a35f40fd))
|
||||
(pin "6" (uuid 5c6ed10a-14c5-438c-b7ac-2130a5f620db))
|
||||
(pin "10" (uuid c993b6cb-25fb-4c6f-bb59-d48e438da83e))
|
||||
(pin "11" (uuid c8d1068b-1c54-4174-95c1-37a03dff9b1b))
|
||||
(pin "12" (uuid c49804c5-51c4-45fa-97ab-350536614ade))
|
||||
(pin "13" (uuid cb6006cd-c15a-4513-be5a-d8547623a083))
|
||||
(pin "8" (uuid 10445ca9-78d8-44a3-880e-46faca1204d4))
|
||||
(pin "9" (uuid 33c169ad-9106-4c9b-9bbb-6cee93b688a8))
|
||||
(pin "14" (uuid 416807b3-0ba3-4311-983b-bebca4252eaa))
|
||||
(pin "7" (uuid 91e8ac46-2762-444f-8f19-7db8009307f8))
|
||||
)
|
||||
@@ -13385,27 +13037,15 @@
|
||||
(in_bom yes) (on_board yes)
|
||||
(uuid dbc8c9af-f33d-4244-9cbb-abe15bde7419)
|
||||
(property "Reference" "U11" (id 0) (at 244.348 234.95 0))
|
||||
(property "Value" "74HC14" (id 1) (at 244.348 232.918 0))
|
||||
(property "Value" "74HCT14" (id 1) (at 244.348 232.918 0))
|
||||
(property "Footprint" "Package_DIP:DIP-14_W7.62mm_Socket_LongPads" (id 2) (at 244.348 239.268 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "Datasheet" "http://www.ti.com/lit/gpn/sn74HC14" (id 3) (at 244.348 239.268 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(pin "1" (uuid e3b00d1a-86fa-4003-adb4-d1371f72aced))
|
||||
(pin "2" (uuid c74d1ac5-73dc-4e36-8617-c4795142ff14))
|
||||
(pin "3" (uuid b41e4517-98c8-4329-8bc0-978b2fa63c50))
|
||||
(pin "4" (uuid abb12b97-eb39-44f2-812c-40fa60185ec4))
|
||||
(pin "5" (uuid 98dec1ce-67b4-42e9-af00-a07d1e4c70dd))
|
||||
(pin "6" (uuid 7fec7485-e5ae-4c8a-aadb-9dee232c823d))
|
||||
(pin "8" (uuid 2d0d97e8-4d71-475a-891b-b5fd8c48c5fb))
|
||||
(pin "9" (uuid 0217bc67-6323-4971-a852-fa86076bd8ae))
|
||||
(pin "10" (uuid a41ef2fb-0af7-474d-9a1e-9c912a01ff6f))
|
||||
(pin "11" (uuid bb73d9bc-5179-4e43-9eae-b94e0eb59c23))
|
||||
(pin "12" (uuid 65315837-6e2e-4ecd-8759-319e4cea7036))
|
||||
(pin "13" (uuid a1b1849e-044f-4c9b-a32f-a307cceec4ef))
|
||||
(pin "14" (uuid b82866a6-71a2-4bd0-b8cd-917449236936))
|
||||
(pin "7" (uuid d0c22809-3fdf-4267-aca7-d13a5cd288d5))
|
||||
)
|
||||
|
||||
(symbol (lib_id "power:+5V") (at 219.71 255.778 0) (unit 1)
|
||||
@@ -13578,10 +13218,6 @@
|
||||
(pin "7" (uuid c1b18d9b-b2ab-411a-be66-4b608bd87e7f))
|
||||
(pin "8" (uuid e6aa6f71-c0bc-44a8-b6af-fd25e07bec37))
|
||||
(pin "9" (uuid cd1cdfac-8bf0-4ac6-861c-ae16691b500a))
|
||||
(pin "1" (uuid d2434890-0174-4195-98c8-d920051d2d77))
|
||||
(pin "13" (uuid aea30e0e-36d8-4348-8bd9-845ff148bcee))
|
||||
(pin "38" (uuid 895fdc1a-6cba-4857-86e0-cdf46cf7810e))
|
||||
(pin "50" (uuid 1b5af669-6c08-49e7-aef6-dbae710c9785))
|
||||
)
|
||||
|
||||
(symbol (lib_id "74xx:74HCT04") (at 187.325 101.092 0) (unit 6)
|
||||
@@ -13595,20 +13231,8 @@
|
||||
(property "Datasheet" "https://assets.nexperia.com/documents/data-sheet/74HC_HCT04.pdf" (id 3) (at 187.325 101.092 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(pin "1" (uuid 25a56790-aca2-42bb-beb0-900be700f21f))
|
||||
(pin "2" (uuid 47a14ce8-3e5b-4820-9c5d-29fbe2828c18))
|
||||
(pin "3" (uuid 42399c56-e0f4-408a-9350-07cb5b6d7f50))
|
||||
(pin "4" (uuid 8eb26a33-1ed2-47a7-bea7-d4fb234cf84c))
|
||||
(pin "5" (uuid 9d76b60f-aa66-4ba7-a436-dea5679b5dda))
|
||||
(pin "6" (uuid 0e0be57b-f293-4133-a71a-4018a5c708f8))
|
||||
(pin "8" (uuid f16bf821-0bff-4070-96a8-85bb70622ae0))
|
||||
(pin "9" (uuid 328e2515-4e56-40fa-b869-71d9d148e80b))
|
||||
(pin "10" (uuid d911cf16-dd9b-4153-aa56-cfe690cdf089))
|
||||
(pin "11" (uuid b0ce1fb7-0632-4799-a680-b317da495dbe))
|
||||
(pin "12" (uuid 6d5f86fa-3f67-4c51-9cb1-d497c3f206d1))
|
||||
(pin "13" (uuid 98608ce4-907f-42d2-8245-3942449051fe))
|
||||
(pin "14" (uuid f73f81b1-4dd4-4f4f-ada1-428ca3696482))
|
||||
(pin "7" (uuid 5e943cb8-ba57-4d23-b6c6-3bc096bf10a8))
|
||||
)
|
||||
|
||||
(symbol (lib_id "Connector:TestPoint") (at 329.692 221.742 270) (unit 1)
|
||||
@@ -13781,20 +13405,9 @@
|
||||
(property "Datasheet" "http://www.ti.com/lit/gpn/sn74hc02" (id 3) (at 146.304 196.596 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(pin "1" (uuid d80687dc-d793-48ab-96aa-5587f458d27b))
|
||||
(pin "2" (uuid e116256e-8f08-4c19-9967-3c1b0697bf5e))
|
||||
(pin "3" (uuid f67032f2-0ef3-417d-892e-025a6a35b6ca))
|
||||
(pin "4" (uuid e05b5b58-e2fd-419d-a39f-284307350650))
|
||||
(pin "5" (uuid d8eb17ae-7649-4800-80b1-d0d15ccee7ce))
|
||||
(pin "6" (uuid 6f79cfdc-03c1-407f-a84f-91f27baeafbc))
|
||||
(pin "10" (uuid 812065ce-5f01-4f3f-94cf-cef416146be9))
|
||||
(pin "8" (uuid ee974ca5-c429-4072-bb88-2107b1eadcfc))
|
||||
(pin "9" (uuid dcc1b4d9-0694-4552-af63-e44fd3049232))
|
||||
(pin "11" (uuid ac8d5d63-35ba-4ef1-b4e8-8bc719c6baf7))
|
||||
(pin "12" (uuid 32f97159-f487-4078-8fcf-601f1198c7ff))
|
||||
(pin "13" (uuid 543b7110-8cf8-4b19-bab1-5a27656e6eec))
|
||||
(pin "14" (uuid 5a6274f1-c1b4-4e61-a387-e24481ee2fc3))
|
||||
(pin "7" (uuid 179be303-b3f5-4fbd-a9ac-aad80b796be1))
|
||||
)
|
||||
|
||||
(symbol (lib_id "power:GND") (at 219.71 281.178 0) (unit 1)
|
||||
@@ -14484,25 +14097,25 @@
|
||||
(reference "U10") (unit 7) (value "74HCT04") (footprint "Package_DIP:DIP-14_W7.62mm_Socket_LongPads")
|
||||
)
|
||||
(path "/9afe87de-9bfb-4f0e-8863-52198a180967"
|
||||
(reference "U11") (unit 1) (value "74HC14") (footprint "Package_DIP:DIP-14_W7.62mm_Socket_LongPads")
|
||||
(reference "U11") (unit 1) (value "74HCT14") (footprint "Package_DIP:DIP-14_W7.62mm_Socket_LongPads")
|
||||
)
|
||||
(path "/5e60ccf7-42d3-46c6-8396-05d33b7f1d6c"
|
||||
(reference "U11") (unit 2) (value "74HC14") (footprint "Package_DIP:DIP-14_W7.62mm_Socket_LongPads")
|
||||
(reference "U11") (unit 2) (value "74HCT14") (footprint "Package_DIP:DIP-14_W7.62mm_Socket_LongPads")
|
||||
)
|
||||
(path "/9d41c33f-c4c1-40d0-bff1-733a96e8404b"
|
||||
(reference "U11") (unit 3) (value "74HC14") (footprint "Package_DIP:DIP-14_W7.62mm_Socket_LongPads")
|
||||
(reference "U11") (unit 3) (value "74HCT14") (footprint "Package_DIP:DIP-14_W7.62mm_Socket_LongPads")
|
||||
)
|
||||
(path "/58a8b3a1-a7aa-40fe-9a58-06c1422ea30c"
|
||||
(reference "U11") (unit 4) (value "74HC14") (footprint "Package_DIP:DIP-14_W7.62mm_Socket_LongPads")
|
||||
(reference "U11") (unit 4) (value "74HCT14") (footprint "Package_DIP:DIP-14_W7.62mm_Socket_LongPads")
|
||||
)
|
||||
(path "/873af6b6-9a62-48b1-9afe-8d3f03695547"
|
||||
(reference "U11") (unit 5) (value "74HC14") (footprint "Package_DIP:DIP-14_W7.62mm_Socket_LongPads")
|
||||
(reference "U11") (unit 5) (value "74HCT14") (footprint "Package_DIP:DIP-14_W7.62mm_Socket_LongPads")
|
||||
)
|
||||
(path "/dbc8c9af-f33d-4244-9cbb-abe15bde7419"
|
||||
(reference "U11") (unit 6) (value "74HC14") (footprint "Package_DIP:DIP-14_W7.62mm_Socket_LongPads")
|
||||
(reference "U11") (unit 6) (value "74HCT14") (footprint "Package_DIP:DIP-14_W7.62mm_Socket_LongPads")
|
||||
)
|
||||
(path "/4991d4a0-6bf5-4325-88e8-8eba5fb919d0"
|
||||
(reference "U11") (unit 7) (value "74HC14") (footprint "Package_DIP:DIP-14_W7.62mm_Socket_LongPads")
|
||||
(reference "U11") (unit 7) (value "74HCT14") (footprint "Package_DIP:DIP-14_W7.62mm_Socket_LongPads")
|
||||
)
|
||||
(path "/61bb57b3-b259-44c7-8355-3e1e40d84459"
|
||||
(reference "U12") (unit 1) (value "74HCT139") (footprint "Package_DIP:DIP-16_W7.62mm_Socket_LongPads")
|
||||
|
||||
BIN
Schematics/Z80-MIO/Z80-MIO-backups/Z80-MIO-2022-11-02_165028.zip
Normal file
BIN
Schematics/Z80-MIO/Z80-MIO-backups/Z80-MIO-2022-11-02_165028.zip
Normal file
Binary file not shown.
BIN
Schematics/Z80-MIO/Z80-MIO-backups/Z80-MIO-2022-11-02_165530.zip
Normal file
BIN
Schematics/Z80-MIO/Z80-MIO-backups/Z80-MIO-2022-11-02_165530.zip
Normal file
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@@ -7,6 +7,7 @@
|
||||
(title_block
|
||||
(title "Z8C MIO Board")
|
||||
(date "2022-10-10")
|
||||
(rev "2")
|
||||
(comment 1 "Multi I/O Board for Z8C")
|
||||
(comment 2 "Interrupt-Controller, GPIO, PS2, I2C, RTC, FPU/APU and Speaker")
|
||||
)
|
||||
@@ -555,7 +556,7 @@
|
||||
(stroke (width 0) (type default) (color 0 0 0 0))
|
||||
(fill (type none))
|
||||
)
|
||||
(arc (start -1.016 5.08) (mid -4.6228 2.1214) (end -4.318 -2.54)
|
||||
(arc (start -1.016 5.08) (mid -4.6243 2.1182) (end -4.318 -2.54)
|
||||
(stroke (width 0.254) (type default) (color 0 0 0 0))
|
||||
(fill (type none))
|
||||
)
|
||||
@@ -655,7 +656,7 @@
|
||||
(stroke (width 0) (type default) (color 0 0 0 0))
|
||||
(fill (type none))
|
||||
)
|
||||
(arc (start 4.318 -2.54) (mid 4.6661 2.1322) (end 1.016 5.08)
|
||||
(arc (start 4.318 -2.54) (mid 4.6646 2.1357) (end 1.016 5.08)
|
||||
(stroke (width 0.254) (type default) (color 0 0 0 0))
|
||||
(fill (type none))
|
||||
)
|
||||
@@ -7877,7 +7878,7 @@
|
||||
(effects (font (size 1.27 1.27)) (justify right bottom))
|
||||
(uuid 9408bcfe-7d8e-4d8e-b856-915f44d6875f)
|
||||
)
|
||||
(label "/IOREQ" (at 47.371 29.337 0)
|
||||
(label "~{#IOREQ}" (at 47.371 29.337 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left bottom))
|
||||
(uuid 94e98a14-b840-4bd3-8b50-4cb7ea6d3846)
|
||||
)
|
||||
@@ -8659,7 +8660,7 @@
|
||||
(in_bom yes) (on_board yes)
|
||||
(uuid 2ddc9543-f16e-46ae-8d39-b2918a5be067)
|
||||
(property "Reference" "U7" (id 0) (at 267.081 39.7002 0))
|
||||
(property "Value" "74LS06" (id 1) (at 267.081 42.0116 0))
|
||||
(property "Value" "7406" (id 1) (at 267.081 42.0116 0))
|
||||
(property "Footprint" "Package_DIP:DIP-14_W7.62mm_Socket" (id 2) (at 267.081 47.752 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
@@ -8668,18 +8669,6 @@
|
||||
)
|
||||
(pin "1" (uuid 27447be2-9a03-4c74-8e22-82959aca38d5))
|
||||
(pin "2" (uuid 01dbc623-6e4e-457b-a607-3860dc6c0eb4))
|
||||
(pin "3" (uuid 51b2997d-b40d-4e0c-81eb-c728c8350e74))
|
||||
(pin "4" (uuid bee0e1c1-b842-441d-85d5-538540a63a14))
|
||||
(pin "5" (uuid 2e484963-b269-42b3-9486-24df28465ede))
|
||||
(pin "6" (uuid d07f21eb-823b-4131-acb0-2fd90e8c76eb))
|
||||
(pin "8" (uuid 4cf23c4a-c03c-4897-b0d2-e5da4fd74f72))
|
||||
(pin "9" (uuid e57bcf50-81ce-4f5a-839b-106d5a693317))
|
||||
(pin "10" (uuid 2d21e9d4-5f95-4bd5-bafa-7195b8da2940))
|
||||
(pin "11" (uuid 31aad1ff-f8eb-44a2-b0e6-6f2533cadd8a))
|
||||
(pin "12" (uuid 08278bf4-f6e9-44ff-9adf-6e32e38a8a34))
|
||||
(pin "13" (uuid 2a66cc3a-c090-4ce0-a61f-f7e30ae6a985))
|
||||
(pin "14" (uuid 5828e2b1-6c83-4929-88ca-4d736ceaf660))
|
||||
(pin "7" (uuid 86b01ef4-965c-4060-a9de-b3e20d6f4e09))
|
||||
)
|
||||
|
||||
(symbol (lib_id "Connector_Generic:Conn_02x05_Odd_Even") (at 40.386 83.312 90) (unit 1)
|
||||
@@ -8945,27 +8934,15 @@
|
||||
(in_bom yes) (on_board yes)
|
||||
(uuid 41c1dbec-e911-4a87-9b07-0f0166125df9)
|
||||
(property "Reference" "U7" (id 0) (at 148.971 60.6552 0))
|
||||
(property "Value" "74LS06" (id 1) (at 148.971 62.9666 0))
|
||||
(property "Value" "7406" (id 1) (at 148.971 62.9666 0))
|
||||
(property "Footprint" "Package_DIP:DIP-14_W7.62mm_Socket" (id 2) (at 148.971 68.707 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "Datasheet" "http://www.ti.com/lit/gpn/sn74LS06" (id 3) (at 148.971 68.707 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(pin "1" (uuid 12571566-c362-4020-afc1-5afc9948a4d0))
|
||||
(pin "2" (uuid e132594a-a911-409b-854b-e36aba5c0a64))
|
||||
(pin "3" (uuid 85efdcf2-b2af-4074-a8ec-46a9b78ab437))
|
||||
(pin "4" (uuid be3610cd-c4e5-4eef-a19b-2490be584221))
|
||||
(pin "5" (uuid bf813ca6-c9b0-496b-a4b2-6cd15e7fa5b4))
|
||||
(pin "6" (uuid 5a6be6a3-f5c4-4588-90de-f3e15e2ac316))
|
||||
(pin "8" (uuid 2b4ec33e-09ed-40fd-ad97-076778448929))
|
||||
(pin "9" (uuid 327dfcfa-f52d-4951-82e8-820abf17d1b1))
|
||||
(pin "10" (uuid 48cff926-046a-41be-a025-825acb6f92b4))
|
||||
(pin "11" (uuid 44b809f0-e72f-40a9-941f-7790af2b360e))
|
||||
(pin "12" (uuid 3db97f22-fffc-4d92-abfa-084b23de5826))
|
||||
(pin "13" (uuid 0385f96f-cf91-4f9c-b9eb-23c5fe1ca780))
|
||||
(pin "14" (uuid e82faff1-b691-4551-94bb-116aeaab8477))
|
||||
(pin "7" (uuid 0283e81d-c3e6-41a4-9f69-b9a54cb0d915))
|
||||
)
|
||||
|
||||
(symbol (lib_id "Device:R_Network08") (at 24.511 59.817 90) (unit 1)
|
||||
@@ -9069,33 +9046,21 @@
|
||||
(in_bom yes) (on_board yes)
|
||||
(uuid 4572e6a2-b528-408d-9ec4-54ae9300ab05)
|
||||
(property "Reference" "U7" (id 0) (at 267.081 91.7702 0))
|
||||
(property "Value" "74LS06" (id 1) (at 267.081 94.0816 0))
|
||||
(property "Value" "7406" (id 1) (at 267.081 94.0816 0))
|
||||
(property "Footprint" "Package_DIP:DIP-14_W7.62mm_Socket" (id 2) (at 267.081 99.822 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "Datasheet" "http://www.ti.com/lit/gpn/sn74LS06" (id 3) (at 267.081 99.822 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(pin "1" (uuid 42e15592-6be6-4195-9d8a-70697df9dc26))
|
||||
(pin "2" (uuid dfc6c58b-b2d7-478a-8280-348471912cc8))
|
||||
(pin "3" (uuid b4182176-94b4-4042-a047-ced8894735c1))
|
||||
(pin "4" (uuid 0383ded5-fa86-42c2-b225-b677173a2e63))
|
||||
(pin "5" (uuid 88460b60-161e-4b15-8289-16f0dcbec01a))
|
||||
(pin "6" (uuid bdd9a6a6-57ba-43f2-9b3d-d661f1860a8b))
|
||||
(pin "8" (uuid 186b958a-3ebe-4f29-b8d5-7754a52a3fbe))
|
||||
(pin "9" (uuid 3cbdfe65-dc8b-428d-8079-dd4a88996c3a))
|
||||
(pin "10" (uuid c85ace76-c1ae-478f-9c4b-eef923a2984d))
|
||||
(pin "11" (uuid 128013b4-92f0-4f80-a481-fccffd513291))
|
||||
(pin "12" (uuid 9d209bce-2b1d-4859-b729-fb49b74adacd))
|
||||
(pin "13" (uuid a7409129-13bc-4d7a-8cc3-d55e89e4a486))
|
||||
(pin "14" (uuid 5580f029-0d73-4d2c-af54-06e31f51c0c7))
|
||||
(pin "7" (uuid a6f5341c-35ea-43dc-87a2-8a9e0eb79996))
|
||||
)
|
||||
|
||||
(symbol (lib_id "power:GND") (at 82.296 177.292 0) (unit 1)
|
||||
(in_bom yes) (on_board yes) (fields_autoplaced)
|
||||
(uuid 45ab63b2-69a7-4901-a31d-21ac38882192)
|
||||
(property "Reference" "#PWR?" (id 0) (at 82.296 183.642 0)
|
||||
(property "Reference" "#PWR0101" (id 0) (at 82.296 183.642 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "Value" "GND" (id 1) (at 82.296 181.737 0))
|
||||
@@ -9585,27 +9550,15 @@
|
||||
(in_bom yes) (on_board yes)
|
||||
(uuid 63358355-bbc3-4796-abc2-498c9d08668f)
|
||||
(property "Reference" "U7" (id 0) (at 267.081 70.1802 0))
|
||||
(property "Value" "74LS06" (id 1) (at 267.081 72.4916 0))
|
||||
(property "Value" "7406" (id 1) (at 267.081 72.4916 0))
|
||||
(property "Footprint" "Package_DIP:DIP-14_W7.62mm_Socket" (id 2) (at 267.081 78.232 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "Datasheet" "http://www.ti.com/lit/gpn/sn74LS06" (id 3) (at 267.081 78.232 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(pin "1" (uuid ad09ce9c-7766-4f5c-b537-2abf9551f61d))
|
||||
(pin "2" (uuid 0bfad6c9-9df6-4e45-b18a-5f16528a1f0c))
|
||||
(pin "3" (uuid aadf8ee5-3a49-4003-ad80-644b5101f2a4))
|
||||
(pin "4" (uuid bbbff0c8-2027-4667-b47f-a4c5832ff320))
|
||||
(pin "5" (uuid eef85841-6613-4894-8b17-c0dd2cfaca66))
|
||||
(pin "6" (uuid b386dfc1-01d9-4513-8046-a34156d32478))
|
||||
(pin "8" (uuid f2ffbaa8-eec3-4e43-bf4f-06bf2c7b52eb))
|
||||
(pin "9" (uuid 653fdf05-7ad5-427f-9ad5-b898b68fc587))
|
||||
(pin "10" (uuid d29c636b-b3c5-457a-9201-57cf8aa780a0))
|
||||
(pin "11" (uuid 28612e9d-7a66-4f6c-8213-95ea6c2f7e8b))
|
||||
(pin "12" (uuid 523ab249-e8a0-459f-a478-e73ecd442c13))
|
||||
(pin "13" (uuid e109b596-defe-4fa5-8030-057b98f07ef8))
|
||||
(pin "14" (uuid 039b5e6d-01aa-4a6d-ae69-1ff629b7ab9d))
|
||||
(pin "7" (uuid 5ffe0a63-1ea9-40af-83d8-b3d2717da57e))
|
||||
)
|
||||
|
||||
(symbol (lib_id "power:+5V") (at 208.026 191.262 0) (unit 1)
|
||||
@@ -9912,7 +9865,7 @@
|
||||
(property "Reference" "U7" (id 0) (at 281.813 151.3586 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left))
|
||||
)
|
||||
(property "Value" "74LS06" (id 1) (at 281.813 153.67 0)
|
||||
(property "Value" "7406" (id 1) (at 281.813 153.67 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left))
|
||||
)
|
||||
(property "Footprint" "Package_DIP:DIP-14_W7.62mm_Socket" (id 2) (at 275.971 152.527 0)
|
||||
@@ -9921,18 +9874,6 @@
|
||||
(property "Datasheet" "http://www.ti.com/lit/gpn/sn74LS06" (id 3) (at 275.971 152.527 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(pin "1" (uuid 2bb74159-ccb4-441d-b391-98059a48dcfa))
|
||||
(pin "2" (uuid f981648a-9051-4db0-ae04-701549d3961c))
|
||||
(pin "3" (uuid 221290f4-0522-4f3d-864c-1a98b112eecc))
|
||||
(pin "4" (uuid 575fdc89-9805-4266-a2d9-595fa263b11a))
|
||||
(pin "5" (uuid 0ad96c7a-dc28-4121-8e73-05b2064bbec3))
|
||||
(pin "6" (uuid 88888024-6d70-4fa8-9829-8295a00fc2c9))
|
||||
(pin "8" (uuid 13b942f4-70b4-4c16-8221-c0d89d92d9f4))
|
||||
(pin "9" (uuid eccc4eee-4290-4334-8514-2f5669abdefa))
|
||||
(pin "10" (uuid 5162987c-ba0e-48a9-b339-be2441c4705f))
|
||||
(pin "11" (uuid 7897f435-ca2e-4185-ae83-837e505bab70))
|
||||
(pin "12" (uuid 5eb4aecd-e0df-42c4-9716-e679c869f63c))
|
||||
(pin "13" (uuid 93aeef62-c4d4-4345-8487-cc4871395e12))
|
||||
(pin "14" (uuid be1c73bc-0f44-45e1-b37d-345c106adc9c))
|
||||
(pin "7" (uuid 21fd20d7-158a-4b0f-8ada-26bde74acf0c))
|
||||
)
|
||||
@@ -9957,27 +9898,15 @@
|
||||
(in_bom yes) (on_board yes)
|
||||
(uuid 7e042812-9033-4877-9152-b031dd83a033)
|
||||
(property "Reference" "U7" (id 0) (at 267.081 18.1102 0))
|
||||
(property "Value" "74LS06" (id 1) (at 267.081 20.4216 0))
|
||||
(property "Value" "7406" (id 1) (at 267.081 20.4216 0))
|
||||
(property "Footprint" "Package_DIP:DIP-14_W7.62mm_Socket" (id 2) (at 267.081 26.162 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "Datasheet" "http://www.ti.com/lit/gpn/sn74LS06" (id 3) (at 267.081 26.162 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(pin "1" (uuid 62c1974a-816e-4477-a1c3-21a16c6b106b))
|
||||
(pin "2" (uuid 5363aa10-d5af-4a6f-b8d7-b6072faeb087))
|
||||
(pin "3" (uuid fb604a65-0306-459a-9d44-700105355cd4))
|
||||
(pin "4" (uuid fa787232-ba39-44ff-b079-aae8fa43bf03))
|
||||
(pin "5" (uuid 6b758e48-052b-4247-9b99-f1669fe75d16))
|
||||
(pin "6" (uuid b284637f-e8af-425e-817c-730a06fc9348))
|
||||
(pin "8" (uuid 272f63a1-f713-42f0-8f58-4fac6dd018cc))
|
||||
(pin "9" (uuid a719c4b4-e195-436e-bb36-11336adf330b))
|
||||
(pin "10" (uuid e6645d7c-8aa7-428c-9047-b9994c003579))
|
||||
(pin "11" (uuid 656203b8-2496-463d-a564-4049bc862a59))
|
||||
(pin "12" (uuid cf8be8e8-fba6-419a-9f21-3be1ca8645c2))
|
||||
(pin "13" (uuid 2f677aa4-d5a3-4a37-97a5-385066770256))
|
||||
(pin "14" (uuid ac5bf277-3416-495c-afc2-55995107a595))
|
||||
(pin "7" (uuid f18c02a5-5547-491a-88ba-3ae46155e175))
|
||||
)
|
||||
|
||||
(symbol (lib_id "power:+5V") (at 295.021 37.592 0) (unit 1)
|
||||
@@ -10998,27 +10927,15 @@
|
||||
(in_bom yes) (on_board yes)
|
||||
(uuid cf1c44d8-562d-4508-a840-78f4aed0f2ee)
|
||||
(property "Reference" "U7" (id 0) (at 148.971 75.8952 0))
|
||||
(property "Value" "74LS06" (id 1) (at 148.971 78.2066 0))
|
||||
(property "Value" "7406" (id 1) (at 148.971 78.2066 0))
|
||||
(property "Footprint" "Package_DIP:DIP-14_W7.62mm_Socket" (id 2) (at 148.971 83.947 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "Datasheet" "http://www.ti.com/lit/gpn/sn74LS06" (id 3) (at 148.971 83.947 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(pin "1" (uuid 7dc93a63-5d3f-470f-b8af-1c0b7435de97))
|
||||
(pin "2" (uuid 0952f70b-9a46-4df4-b908-9da98d2239e2))
|
||||
(pin "3" (uuid b04253ec-2e78-4dad-96e6-b24e0b3db85d))
|
||||
(pin "4" (uuid 8bd3d5e3-3f2e-4475-b713-d0fd6846ac45))
|
||||
(pin "5" (uuid 86939526-6aac-4307-8324-878e6ec374bf))
|
||||
(pin "6" (uuid 4e854bd9-3efd-4a6d-a627-29fba1dc4509))
|
||||
(pin "8" (uuid 1f62391d-edad-497c-b927-6f2bee6a0668))
|
||||
(pin "9" (uuid 0c029347-f6a0-49a4-96c0-0365a0ed1131))
|
||||
(pin "10" (uuid 07bb4810-d4e8-4e11-aede-2cf469f26b8a))
|
||||
(pin "11" (uuid 4548ad24-3854-4916-8586-10e817dd1efb))
|
||||
(pin "12" (uuid 1492ac1f-a653-463d-9d50-acea1690ff83))
|
||||
(pin "13" (uuid f66b34c7-9b8a-4b17-b98f-7541b8727f72))
|
||||
(pin "14" (uuid ba972fd4-a0e9-422d-b4b8-a983b2ed4a1b))
|
||||
(pin "7" (uuid c4ec2259-b1f1-4b5a-8fe9-70f14cafe0d8))
|
||||
)
|
||||
|
||||
(symbol (lib_id "power:+12V") (at 378.206 29.972 0) (unit 1)
|
||||
@@ -11056,13 +10973,15 @@
|
||||
(symbol (lib_id "74xx:74HC245") (at 94.996 164.592 0) (unit 1)
|
||||
(in_bom yes) (on_board yes) (fields_autoplaced)
|
||||
(uuid d2e530a1-503a-40ca-b72f-2bf31ec0fb32)
|
||||
(property "Reference" "U3" (id 0) (at 97.0154 143.637 0)
|
||||
(property "Reference" "U3" (id 0) (at 97.0154 143.51 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left))
|
||||
)
|
||||
(property "Value" "74HC245" (id 1) (at 97.0154 146.177 0)
|
||||
(property "Value" "74HC2T45" (id 1) (at 97.0154 146.05 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left))
|
||||
)
|
||||
(property "Footprint" "Package_DIP:DIP-20_W7.62mm_LongPads" (id 2) (at 94.996 164.592 0))
|
||||
(property "Footprint" "Package_DIP:DIP-20_W7.62mm_LongPads" (id 2) (at 94.996 164.592 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "Datasheet" "http://www.ti.com/lit/gpn/sn74HC245" (id 3) (at 94.996 164.592 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
@@ -12108,7 +12027,7 @@
|
||||
(reference "#PWR0100") (unit 1) (value "+5V") (footprint "")
|
||||
)
|
||||
(path "/45ab63b2-69a7-4901-a31d-21ac38882192"
|
||||
(reference "#PWR?") (unit 1) (value "GND") (footprint "")
|
||||
(reference "#PWR0101") (unit 1) (value "GND") (footprint "")
|
||||
)
|
||||
(path "/8e7180ee-df11-413a-a15b-c8e45c120046"
|
||||
(reference "BT1") (unit 1) (value "3V") (footprint "digikey-footprints:Battery_Holder_Coin_2032_BS-7")
|
||||
@@ -12309,7 +12228,7 @@
|
||||
(reference "U2") (unit 1) (value "GAL16V8") (footprint "Package_DIP:DIP-20_W7.62mm_LongPads")
|
||||
)
|
||||
(path "/d2e530a1-503a-40ca-b72f-2bf31ec0fb32"
|
||||
(reference "U3") (unit 1) (value "74HC245") (footprint "Package_DIP:DIP-20_W7.62mm_LongPads")
|
||||
(reference "U3") (unit 1) (value "74HC2T45") (footprint "Package_DIP:DIP-20_W7.62mm_LongPads")
|
||||
)
|
||||
(path "/44d50cf2-8bea-4112-9d30-477d02e50476"
|
||||
(reference "U4") (unit 1) (value "74HC245") (footprint "Package_DIP:DIP-20_W7.62mm_LongPads")
|
||||
@@ -12321,25 +12240,25 @@
|
||||
(reference "U6") (unit 1) (value "PIO-DIP-40") (footprint "Package_DIP:DIP-40_W15.24mm")
|
||||
)
|
||||
(path "/2ddc9543-f16e-46ae-8d39-b2918a5be067"
|
||||
(reference "U7") (unit 1) (value "74LS06") (footprint "Package_DIP:DIP-14_W7.62mm_Socket")
|
||||
(reference "U7") (unit 1) (value "7406") (footprint "Package_DIP:DIP-14_W7.62mm_Socket")
|
||||
)
|
||||
(path "/7e042812-9033-4877-9152-b031dd83a033"
|
||||
(reference "U7") (unit 2) (value "74LS06") (footprint "Package_DIP:DIP-14_W7.62mm_Socket")
|
||||
(reference "U7") (unit 2) (value "7406") (footprint "Package_DIP:DIP-14_W7.62mm_Socket")
|
||||
)
|
||||
(path "/63358355-bbc3-4796-abc2-498c9d08668f"
|
||||
(reference "U7") (unit 3) (value "74LS06") (footprint "Package_DIP:DIP-14_W7.62mm_Socket")
|
||||
(reference "U7") (unit 3) (value "7406") (footprint "Package_DIP:DIP-14_W7.62mm_Socket")
|
||||
)
|
||||
(path "/4572e6a2-b528-408d-9ec4-54ae9300ab05"
|
||||
(reference "U7") (unit 4) (value "74LS06") (footprint "Package_DIP:DIP-14_W7.62mm_Socket")
|
||||
(reference "U7") (unit 4) (value "7406") (footprint "Package_DIP:DIP-14_W7.62mm_Socket")
|
||||
)
|
||||
(path "/41c1dbec-e911-4a87-9b07-0f0166125df9"
|
||||
(reference "U7") (unit 5) (value "74LS06") (footprint "Package_DIP:DIP-14_W7.62mm_Socket")
|
||||
(reference "U7") (unit 5) (value "7406") (footprint "Package_DIP:DIP-14_W7.62mm_Socket")
|
||||
)
|
||||
(path "/cf1c44d8-562d-4508-a840-78f4aed0f2ee"
|
||||
(reference "U7") (unit 6) (value "74LS06") (footprint "Package_DIP:DIP-14_W7.62mm_Socket")
|
||||
(reference "U7") (unit 6) (value "7406") (footprint "Package_DIP:DIP-14_W7.62mm_Socket")
|
||||
)
|
||||
(path "/7bf15ebd-56f9-4728-9fb7-e8f3a6246770"
|
||||
(reference "U7") (unit 7) (value "74LS06") (footprint "Package_DIP:DIP-14_W7.62mm_Socket")
|
||||
(reference "U7") (unit 7) (value "7406") (footprint "Package_DIP:DIP-14_W7.62mm_Socket")
|
||||
)
|
||||
(path "/b235e860-eb06-4b98-9bc2-972f8490f3de"
|
||||
(reference "U8") (unit 1) (value "PCF8584") (footprint "Package_DIP:DIP-20_W7.62mm_LongPads")
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
107
Utility/build.sh
Executable file
107
Utility/build.sh
Executable file
@@ -0,0 +1,107 @@
|
||||
#!/bin/bash
|
||||
# Z8C Monitor build script
|
||||
# by Dennis Gunia 2022
|
||||
#
|
||||
|
||||
FILENAME="$2"
|
||||
EEPROM_PART="AT28C256"
|
||||
|
||||
ROOT_DIR="$(git rev-parse --show-toplevel)"
|
||||
PROJECT_DIR="$1"
|
||||
|
||||
if [ -f $1/properties.env ]; then
|
||||
echo "Found $1/properties.env - Overriding local vars"
|
||||
. $1/properties.env
|
||||
fi
|
||||
|
||||
# Start of build script
|
||||
echo -e "Start building Z8C monitor...\n"
|
||||
echo -e "Root Directory : $ROOT_DIR"
|
||||
echo -e "Project Directory : $PROJECT_DIR"
|
||||
echo -e "ASM File : $FILENAME.asm\n\n"
|
||||
|
||||
# Check path
|
||||
if [ ! -d "$PROJECT_DIR" ]; then
|
||||
echo "Project directory not defined. Use ./build.sh <dir> <asm name>"
|
||||
fi
|
||||
|
||||
if [ ! -f "$PROJECT_DIR/$FILENAME.asm" ]; then
|
||||
echo "ASM file $PROJECT_DIR/$FILENAME.asm not found. Use ./build.sh <dir> <asm name>"
|
||||
fi
|
||||
|
||||
cd $PROJECT_DIR
|
||||
|
||||
# Build
|
||||
CMD="$ROOT_DIR/Utility/zmac $FILENAME.asm -I include -L --oo hex,lst"
|
||||
echo -e "[BUILD] Execute: $CMD"
|
||||
$CMD
|
||||
RC_BUILD=$?
|
||||
|
||||
if [ $RC_BUILD -gt 0 ]; then
|
||||
echo "[BUILD] Build failed! Exit."
|
||||
exit $RC_BUILD
|
||||
else
|
||||
echo "[BUILD] Build successfull!"
|
||||
fi
|
||||
|
||||
if [ $OPT_GEN_OBJFILE -gt 0 ]; then
|
||||
echo "[OBJ] OPT_GEN_OBJFILE set! Generating object file zout/$FILENAME.bin"
|
||||
CMD="objcopy --input-target=ihex --output-target=binary zout/$FILENAME.hex zout/$FILENAME.bin"
|
||||
echo -e "[OBJ] Execute: $CMD"
|
||||
$CMD
|
||||
|
||||
if [ $RC_BUILD -gt 0 ]; then
|
||||
echo "[OBJ] Build failed! Exit."
|
||||
exit $RC_BUILD
|
||||
else
|
||||
echo "[OBJ] Build successfull!"
|
||||
echo "[OBJ] Binary size: $(stat -c %s zout/$FILENAME.bin) bytes"
|
||||
fi
|
||||
else
|
||||
echo "[OBJ] OPT_GEN_OBJFILE not set! Skipping object file"
|
||||
fi
|
||||
|
||||
if [ $OPT_GEN_MONFILE -gt 0 ]; then
|
||||
echo "[MON] OPT_GEN_MONFILE set! Generating monitor file zout/$FILENAME.mon"
|
||||
if [ -f zout/$FILENAME.mon ]; then
|
||||
echo "[MON] Removing old .mon file"
|
||||
rm zout/$FILENAME.mon
|
||||
fi
|
||||
|
||||
while read p; do
|
||||
LINE="!${p:3:4} $(echo ${p:9:-2} | sed 's/.\{2\}/& /g' | sed 's/\ $//')"
|
||||
echo -e "$LINE" >> zout/$FILENAME.mon
|
||||
done <<< "$(grep -e ':......00.*' zout/$FILENAME.hex )"
|
||||
echo "[MON] Generated $(cat zout/$FILENAME.mon | wc -l) lines!"
|
||||
else
|
||||
echo "[OBJ] OPT_GEN_MONFILE not set! Skipping monitor file"
|
||||
fi
|
||||
|
||||
|
||||
if [ $OPT_GEN_SYMBOLTABLE -gt 0 ]; then
|
||||
echo "[SYM] OPT_GEN_SYMBOLTABLE set! Generating symbol file zout/symbols.s"
|
||||
echo "[SYM] Building Symbol File"
|
||||
# generate call locations list
|
||||
echo -e ";This file is generated by the build script.\n;Do not make any changes here!\n" > zout/symbols.s
|
||||
sed -n '/Symbol Table:/,$p' zout/$FILENAME.lst | \
|
||||
grep -v "Symbol Table:" | grep -v -e '^$' | \
|
||||
grep -v = | awk '{printf("%s equ 0x%s\n",$1,$2)}' \
|
||||
>> zout/symbols.s
|
||||
echo "[SYM] Generated Symbol file @ zout/symbols.s"
|
||||
else
|
||||
echo "[SYM] OPT_GEN_SYMBOLTABLE not set! Skipping symbol file"
|
||||
fi
|
||||
|
||||
if [ $OPT_WRITEROM -gt 0 ]; then
|
||||
echo "[PGM] OPT_WRITEROM set! Starting programmer for $EEPROM_PART"
|
||||
read -p "[PGM] Programm EEPROM? (y/N) " -n 1 -r
|
||||
echo
|
||||
if [[ $REPLY =~ ^[Yy]$ ]]
|
||||
then
|
||||
# programm EEPROM
|
||||
minipro -p $EEPROM_PART -w zout/$FILENAME.hex -s
|
||||
fi
|
||||
else
|
||||
echo "[PGM] OPT_WRITEROM not set! Skipping programming"
|
||||
fi
|
||||
|
||||
BIN
Utility/zmac
Executable file
BIN
Utility/zmac
Executable file
Binary file not shown.
Reference in New Issue
Block a user