aboutsummaryrefslogtreecommitdiff
path: root/j1demo/firmware/loader.fs
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2019-10-30 20:04:56 +0100
committerDimitri Sokolyuk <demon@dim13.org>2019-10-30 20:04:56 +0100
commita76977af62010a392c16010c367185e61e856ffe (patch)
tree56cf4177d5bc0e3ead781d1c60818c13b1df0f3c /j1demo/firmware/loader.fs
parentc0165d167d7cb40d80028bcf7a4a6b160b5a7e83 (diff)
mv to docs
Diffstat (limited to 'j1demo/firmware/loader.fs')
-rw-r--r--j1demo/firmware/loader.fs114
1 files changed, 0 insertions, 114 deletions
diff --git a/j1demo/firmware/loader.fs b/j1demo/firmware/loader.fs
deleted file mode 100644
index d4ae725..0000000
--- a/j1demo/firmware/loader.fs
+++ /dev/null
@@ -1,114 +0,0 @@
-( LOADER PROTOCOL JCB 09:16 11/11/10)
-
-947 constant PORT
-
-: response0 ( -- )
- ETH.IP.UDP.SOURCEPORT packet@
- PORT
- d# 2 ETH.IP.SRCIP mac-inoffset mac@n
- net-my-ip
- 2over arp-lookup
- ( dst-port src-port dst-ip src-ip *ethaddr )
- udp-header
- d# 0 mac-pkt-,
- ETH.IP.UDP.LOADER.SEQNO packet@ mac-pkt-,
-;
-
-: response1
- udp-wrapup mac-send
-;
-
-: respond
- response0
- response1
-;
-
-: ramread
- response0
- ETH.IP.UDP.LOADER.RAMREAD.ADDR packet@
- d# 128 bounds begin
- dup @ mac-pkt-,
- cell+
- 2dup=
- until
- 2drop
- response1
-;
-
-: ramwrite
- ETH.IP.UDP.LOADER.RAMWRITE.ADDR packet@
- d# 64 0do
- ETH.IP.UDP.LOADER.RAMWRITE.DATA i cells + packet@
- over !
- cell+
- loop
- drop
- respond
-;
-
-: reboot
- respond bootloader ;
-
-: flashread
- response0
- ETH.IP.UDP.LOADER.FLASHREAD.ADDR packetd@ d2/
- flash-reset
- d# 64 0do
- 2dup flash@
- mac-pkt-,
- d1+
- loop
- 2drop
- response1
-;
-
-: flasherase
- respond flash-chiperase ;
-
-: flashdone
- response0
- ETH.IP.UDP.LOADER.FLASHREAD.ADDR packetd@ d2/
- flash-erased mac-pkt-,
- response1
-;
-
-: flashwrite
- ETH.IP.UDP.LOADER.FLASHWRITE.ADDR packetd@ d2/
- d# 64 0do
- 2dup
- ETH.IP.UDP.LOADER.FLASHWRITE.DATA i cells + packet@
- -rot flash!
- d1+
- loop
- 2drop
- respond
-;
-
-: flashsectorerase
- ETH.IP.UDP.LOADER.FLASHWRITE.ADDR packetd@ d2/
- flash-sectorerase
- respond
-;
-
-jumptable opcodes
-( 0 ) | ramread
-( 1 ) | ramwrite
-( 2 ) | reboot
-( 3 ) | flashread
-( 4 ) | flasherase
-( 5 ) | flashdone
-( 6 ) | flashwrite
-( 7 ) | flashsectorerase
-
-: loader-handler ( -- )
- IP_PROTO_UDP ip-isproto if
- ETH.IP.UDP.DESTPORT packet@ PORT =
- d# 2 ETH.IP.SRCIP mac-inoffset mac@n arp-lookup 0<> and if
- udp-checksum? if
- ETH.IP.UDP.LOADER.OPCODE packet@
- \ s" loader opcode=" type dup hex4 cr
- opcodes execute
- then
- then
- then
-;