Virgil Dupras
07e50313c7
pcat: separate MBR code and OS code
...
MBR code now strictly loads OS code into memory and jumps into it.
Now, I've got to consolidate my assembler code, modrm logic is
messed up.
2020-06-13 15:35:16 -04:00
Virgil Dupras
e17f2e6907
pcat: read sector from floppy
2020-06-13 13:29:04 -04:00
Virgil Dupras
b037c86598
recipes/pcat: now tested on real hardware!
2020-06-13 11:47:32 -04:00
Virgil Dupras
f9d04848bd
emul: adjust README. AT-XY is implemented
2020-06-13 11:46:59 -04:00
Maykel Moya
7be6475ea2
Document how to launch a REPL in the host ( #117 )
2020-06-13 11:11:54 -04:00
Virgil Dupras
66b27b0790
8086asm: properly initialize DS and DF
2020-06-12 19:07:23 -04:00
Virgil Dupras
177750c928
recipes/pcat: first steps into 8086!
2020-06-12 14:03:31 -04:00
Virgil Dupras
4e18fafe46
8086asm: now enough tooling to assemble a PC/AT Hello World boot
2020-06-12 13:12:41 -04:00
Virgil Dupras
210b833c71
8086asm: begin adding MODRM-enabled ops
2020-06-12 12:07:48 -04:00
Virgil Dupras
749fdf1b18
8086asm: add 8-bit JMP, MOVrI, INT,
...
Verified against nasm with equivalent code.
2020-06-12 11:29:00 -04:00
Virgil Dupras
405444d630
8086asm: first steps
2020-06-12 10:49:27 -04:00
Virgil Dupras
1871c46614
VE: add backspace support in replace mode
2020-06-11 22:29:05 -04:00
Virgil Dupras
dc368597a6
VE: Add dirtiness indicator in status bar
...
Written from VE!
2020-06-11 21:52:08 -04:00
Virgil Dupras
838c88459b
Make BLK@ FLUSH only if loading a different block
...
Otherwise, when editing a file with VE, we would constantly write
to disk, which is a bit inefficient.
2020-06-11 21:42:52 -04:00
Virgil Dupras
e317e9cc78
VE: use system input buffer for IBUF and FBUF typing
...
This gives us backspace handling. Also, remove all usages of C<
which allows us to remove the C<* override.
2020-06-11 20:45:46 -04:00
Virgil Dupras
4146110e0d
Move EMPTY to core words
...
It's a quite useful word and it doesn't make sense to reload it from
disk after each usage.
2020-06-11 19:04:03 -04:00
Virgil Dupras
f6ded7712e
VE: add 't'
...
This is the first commit I do entirely in VE. It's a habit I'm planning
on taking as it helps a lot to find usability issues.
2020-06-11 18:12:01 -04:00
Virgil Dupras
e83d5073ba
VE: disallow buffer overflow during typing
...
When reaching the end of the buffer when typing in IBUF or FBUF, stop
typing instead of overflowing.
2020-06-11 14:48:18 -04:00
Virgil Dupras
394f962510
recipe: fix makefiles for fresh clone contexts
...
All recipe makesfiles would previously assume a built emul/.
Fixes #113
2020-06-11 12:23:59 -04:00
Virgil Dupras
bd7da4658b
VE: add gutter
2020-06-11 12:01:22 -04:00
Virgil Dupras
a405f77185
ed: don't crash when inserting in 64th char of the line
2020-06-10 20:56:19 -04:00
Virgil Dupras
7cad9ffe40
LIST: simplify logic
...
There wasn't much of a reason to leave a loop early on 0x0d or null.
The idea was that once you have a CR or null, the rest is garbage
and you shouldn't see it.
However, it brought a problem: In VE, you couldn't insert characters
past that limit. It would be written, but never displayed. So let's
get rid of this logic and simply always display a 64x16 grid.
2020-06-10 19:00:03 -04:00
Virgil Dupras
bc951a5ff1
ed and VE: add command Y
2020-06-10 17:27:14 -04:00
Virgil Dupras
8f0e51a21c
VE: make D copy first deleted line to IBUF
2020-06-10 16:59:12 -04:00
Virgil Dupras
6a6c59300e
VE: make ACC reset after each non-digit keystrokes
...
It simplifies things. Also, removed ';' which became useless.
2020-06-10 16:54:36 -04:00
Virgil Dupras
c16c5c98ce
Improve usage docs
2020-06-09 22:55:42 -04:00
Virgil Dupras
1adfd0c1a6
ed: make X and E cut to IBUF
...
This allows cut&paste similar to VI's
2020-06-09 22:09:15 -04:00
Virgil Dupras
f90e03b0cb
ed: free some blocks for the docs
2020-06-09 21:48:49 -04:00
Virgil Dupras
64ce8ab3e9
ed: Improve F with repeated searches
...
Make F search from curpos+1 so that it's possible to search the
same word we've just found a second time. Previously, it would find
the word under the cursor.
Also, improve docs a bit.
2020-06-09 21:17:08 -04:00
Virgil Dupras
54bc2e4b96
CONTRIBUTING: add note about typo PRs
...
ref #3
2020-06-09 20:36:40 -04:00
Virgil Dupras
b2a07ca68d
Remove mailing list link from README
...
I think we can say it didn't take off.
2020-06-09 08:32:55 -04:00
Virgil Dupras
4d893d90fc
VE: Improve I and F buffer typing
...
Previously, it would keep the old buffer displayed why typing over
it. I had kept it thus because I didn't want to erase the buffer
right away because the behavior is that when we type nothing, we
keep the buffer as-is and repeat the action.
Now, the behavior of I and F is much better. It keeps the buffer
displayed until the first non-return keystroke and then erases it.
Also, fixed PSP leak in _type and fixed PSP overuse in successful
_F (they balanced out).
2020-06-08 21:23:23 -04:00
Zac Stewart
ae954906d8
Make blkpack close files when it's done reading them ( #108 )
...
* Report when a file cannot be opened
* Close files when done reading them
2020-06-08 19:09:45 -05:00
Virgil Dupras
48f371d380
emul: add sanity check for blkfs
2020-06-08 06:47:06 -04:00
Virgil Dupras
bcddfd461d
blkpack: Remove usage of nonstandard d_type
...
The man page says it's not always available and it caused problems
under some FSes. The condition is not needed in the context of
blk/, let's scrap it.
2020-06-08 06:38:33 -04:00
Virgil Dupras
a36db99651
VE: properly initialize variables
...
This fixes weird glitches I had on trs80. It's *always* a matter of
RAM initialization. By now, I should know...
2020-06-07 16:16:07 -04:00
Virgil Dupras
b2b556911f
trs80: implement AT-XY
...
Also, I've run VE on the TRS-80 for the first time! It doesn't work
well though. Screen is mostly blank all the time.
I removed instructions from the recipe which became obsolete when
Collapse OS became 100% bootstrapped. Also, I've updated instructions
to change the NL override which is necessary for blkup to work.
2020-06-07 11:14:57 -04:00
Virgil Dupras
ab76d8d648
VE: add 'D'
2020-06-07 09:30:31 -04:00
Virgil Dupras
15acf30ca3
VE: add 'o' and 'O'
2020-06-07 07:25:02 -04:00
Virgil Dupras
c6016cd429
VE: fix buffer overflow with 'f' and make 'H' and 'L' affect 'f'
2020-06-06 21:59:22 -04:00
Virgil Dupras
b22ab8437b
VE: add command 'f'
...
Kinda proud of this one. Efficiently piggy-backing on the Block
Editor, keeping things simple, and yet, building power into the
editor.
2020-06-06 21:46:46 -04:00
Virgil Dupras
204a66277e
VE: replace 'W' with 'b' and implement 'W' and 'B'
...
Which are end-of-word movements.
2020-06-06 21:01:35 -04:00
Virgil Dupras
9d4e9ef08d
VE: Add X
2020-06-05 14:01:39 -04:00
Virgil Dupras
6212a08866
VE: Add F and E
2020-06-05 13:54:45 -04:00
Virgil Dupras
a1b99275e6
VE: Add replace mode
2020-06-05 11:01:26 -04:00
Virgil Dupras
e7a6c777c7
VE: refactor mode indicators
...
The indicator is going to be empty most of the time and will be
emitted by the mode changer directly. That's going to the upper-right
corner and the status bar avoids emitting in that area.
2020-06-05 10:38:05 -04:00
Virgil Dupras
4af93d53e3
VE: add I command
...
Also, add insert and find buffers to the header, making it 3 lines
high.
Also, fix the "I" overshadowing word which wasn't operating on the
proper RSP level.
Also, fix I which didn't mark the block as dirty.
2020-06-04 22:54:27 -04:00
Virgil Dupras
e36080d7b8
VE: load Block Editor and reuse some of its words
2020-06-04 20:20:35 -04:00
Virgil Dupras
297c187426
VE: add mode indicator in status bar
2020-06-04 20:07:02 -04:00
Virgil Dupras
2bf4db59ed
VE: Add H and L
...
Also, add MODE indirection.
2020-06-04 19:20:40 -04:00