mirror of
https://github.com/hsoft/collapseos.git
synced 2024-12-25 05:08:05 +11:00
shell: cleanup
This commit is contained in:
parent
21168f6c4e
commit
e4e7db8e23
@ -11,6 +11,9 @@
|
||||
; Commands, for now, are dummy.
|
||||
;
|
||||
; See constants below for error codes.
|
||||
;
|
||||
; All numerical values in the Collapse OS shell are represented and parsed in
|
||||
; hexadecimal form, without prefix or suffix.
|
||||
|
||||
; *** CONSTS ***
|
||||
|
||||
@ -46,23 +49,11 @@ shellInit:
|
||||
.db "Collapse OS", 0
|
||||
|
||||
shellLoop:
|
||||
call chkbuf
|
||||
jr shellLoop
|
||||
|
||||
|
||||
printcrlf:
|
||||
ld a, ASCII_CR
|
||||
call aciaPutC
|
||||
ld a, ASCII_LF
|
||||
call aciaPutC
|
||||
ret
|
||||
|
||||
; check if the input buffer is full or ends in CR or LF. If it does, prints it
|
||||
; back and empty it.
|
||||
chkbuf:
|
||||
; check if the input buffer is full or ends in CR or LF. If it does,
|
||||
; prints it back and empty it.
|
||||
call aciaBufPtr
|
||||
cp 0
|
||||
ret z ; BUFIDX is zero? nothing to check.
|
||||
jr z, shellLoop ; BUFIDX is zero? nothing to check.
|
||||
|
||||
cp ACIA_BUFSIZE
|
||||
jr z, .do ; if BUFIDX == BUFSIZE? do!
|
||||
@ -78,8 +69,7 @@ chkbuf:
|
||||
jr z, .do ; char is LF? do!
|
||||
|
||||
; nothing matched? don't do anything
|
||||
ret
|
||||
|
||||
jr shellLoop
|
||||
.do:
|
||||
; terminate our string with 0
|
||||
xor a
|
||||
@ -90,6 +80,13 @@ chkbuf:
|
||||
; alright, let's go!
|
||||
ld hl, ACIA_BUF
|
||||
call shellParse
|
||||
jr shellLoop
|
||||
|
||||
printcrlf:
|
||||
ld a, ASCII_CR
|
||||
call aciaPutC
|
||||
ld a, ASCII_LF
|
||||
call aciaPutC
|
||||
ret
|
||||
|
||||
; Parse command (null terminated) at HL and calls it
|
||||
|
Loading…
Reference in New Issue
Block a user