浏览代码

tools/upload: use A! instead of C! to write

By default, it changes nothing, but it allows interesting
setups, such as using AT28! for directly uploading to EEPROM.

I've also updated the EEPROM recipe to upload directly to 0x2000.
I'm not sure what has changed, but it's working fine now.
master
Virgil Dupras 3 年前
父节点
当前提交
7dc00179f7
共有 2 个文件被更改,包括 5 次插入14 次删除
  1. +4
    -13
      recipes/rc2014/eeprom.md
  2. +1
    -1
      tools/upload.c

+ 4
- 13
recipes/rc2014/eeprom.md 查看文件

@@ -44,18 +44,9 @@ can use `/tools/exec` to send `blk/593` to the RC2014.

## Writing contents to the AT28

The driver provides `AT28!` which can be plugged in adev's `A!*`.
The driver provides `AT28!` which can be plugged in adev's `A!*`. You can do so
with `' AT28! A!* !`.

First, upload your binary to some place in memory, for example `a000`. To do so,
run this from your modern computer:
Then, upload your binary to EEPROM with:

./upload <tty device> a000 <filename>

Then, activate `AT28!` with `' AT28! A!* !` and then run
`0xa000 0x2000 <size-of-bin> AMOVE`. `AT28!` checks every byte for integrity,
so it there's no error, you should be fine. Your content is now on the EEPROM!

Why not upload content directly to `0x2000` after having activated `AT28!`?
Technically, you could. It was my first idea too. However, at the time of this
writing, I always get weird mismatch errors about halfway through. Maybe that
the ACIA interrupt does something wrong...
./upload <tty device> 2000 <filename>

+ 1
- 1
tools/upload.c 查看文件

@@ -42,7 +42,7 @@ int main(int argc, char **argv)
}
char s[0x40];
sprintf(s,
": _ 0x%04x 0x%04x DO KEY DUP .x I C! LOOP ; _",
": _ 0x%04x 0x%04x DO KEY DUP .x I A! LOOP ; _",
memptr+bytecount, memptr);
sendcmd(fd, s);



正在加载...
取消
保存