commit - 928df968ad1b4edd1e9111a04827e1c0a614711a
commit + c13dce56093d2a9cf83bce6cd5326e9f0e7419a5
blob - dd6872c3e9f40944b41a7d59a8e90151bccd9933
blob + 98f04ba38076ec16df0027d9b154b50e77f7ba39
--- hackem.c
+++ hackem.c
{0x4000, MASK(12)}, /* screen */
{0x6000, MASK(0), DEV(dummy)}, /* keyboard */
{0x7000, MASK(1), DEV(itape)}, /* tape reader */
- {0x7002, MASK(1), DEV(otape)}, /* tape writer */
+ {0x7002, MASK(1), DEV(otape)}, /* tape punch */
{0x7004, MASK(1), DEV(printer)}, /* printer */
};
#define MAPSIZE (sizeof memmap / sizeof(struct mem))
* The result of reading from offset 0 is undefined.
*
* Reading from offset 1 yields a status word. A negative value (bit 15 set)
- * indicates that the tape is at an appropriate position. This is invalid,
+ * indicates that the tape is in position for new output. This is invalid,
* however, if 14 is also set. Bit 14 indicates the end of the tape (or that no
* tape is present). All other bits are undefined.
* The result of writing to offset 1 is undefined.
r_otape(struct device *dev, uint16_t *mem, uint16_t offset)
{
if (offset & 1) { /* offset 1 */
- /* bit 15: track hole */
+ /* bit 15: tape position */
/* bit 14: tape presence */
+ mem[offset] = 0x8000;
} else { /* offset 0 */
/* bit 15: tape presence */
}