TAPE: Update tape gap support (Dave Bryan)
With this update, the erase gap operation has been split out of "sim_tape_wrgap" into a separate, internal "tape_erase_fwd" routine that is called from "sim_tape_wrgap" as well as from the new "sim_tape_errecf" routine. There's a corresponding internal "tape_erase_rev" that's called from the new "sim_tape_errecr" routine. I've shimmed "sim_tape_rdlntf" and "sim_tape_rdlntr" to move the tape context and debug stuff out of the routines that I'm maintaining. This will allow me to replace those functions in their entirety with the corresponding functions in my development sources for future updates. It also allows me to keep Bob's version in sync. As my routines are static and only called once from the shims, compilers should optimize away the function calls and instead inline the code, so there'd be no extra call overhead. I'd also like to keep "tape_erase_fwd" and "tape_erase_rev" untouched for the same reason. If you wish to add debug calls to "sim_tape_errecf" and "sim_tape_errecr", that's fine.
This commit is contained in:
parent
54993732dd
commit
fae6a18835
3 changed files with 481 additions and 211 deletions
BIN
doc/simh.doc
BIN
doc/simh.doc
Binary file not shown.
Binary file not shown.
690
sim_tape.c
690
sim_tape.c
File diff suppressed because it is too large
Load diff
Loading…
Add table
Reference in a new issue