Quellcode durchsuchen

Begin working on a Visual Editor

pull/107/head
Virgil Dupras vor 4 Jahren
Ursprung
Commit
c07a594e1a
15 geänderte Dateien mit 59 neuen und 13 gelöschten Zeilen
  1. +1
    -1
      blk/001
  2. +0
    -1
      blk/030
  3. +0
    -2
      blk/048
  4. +0
    -4
      blk/056
  5. +0
    -1
      blk/062
  6. +0
    -2
      blk/064
  7. +16
    -0
      blk/120
  8. +13
    -0
      blk/121
  9. +2
    -0
      blk/125
  10. +14
    -0
      blk/126
  11. +7
    -0
      blk/127
  12. +2
    -0
      blk/158
  13. +0
    -1
      blk/307
  14. +0
    -1
      blk/496
  15. +4
    -0
      tools/blkpack.c

+ 1
- 1
blk/001 Datei anzeigen

@@ -2,7 +2,7 @@ MASTER INDEX

3 Usage 30 Dictionary
70 Implementation notes 100 Block editor
150 Extra words
120 Visual Editor 150 Extra words
200 Z80 assembler 260 Cross compilation
280 Z80 boot code 350 Core words
410 PS/2 keyboard subsystem 420 Bootstrap guide


+ 0
- 1
blk/030 Datei anzeigen

@@ -14,4 +14,3 @@ and Extra words (B150).





+ 0
- 2
blk/048 Datei anzeigen

@@ -14,5 +14,3 @@ J -- n Copy RS third item to PS






+ 0
- 4
blk/056 Datei anzeigen

@@ -14,7 +14,3 @@ NOT f -- f Push the logical opposite of f








+ 0
- 1
blk/062 Datei anzeigen

@@ -14,4 +14,3 @@ a newline.





+ 0
- 2
blk/064 Datei anzeigen

@@ -14,5 +14,3 @@ LOADR+ n1 n2 -- Relative ranged load.
WIPE -- Empties current block





+ 16
- 0
blk/120 Datei anzeigen

@@ -0,0 +1,16 @@
Visual Editor

This editor, unlike the Block Editor (B100), is grid-based
instead of being command-based. It requires the AT-XY, COLS
and LINES words to be implemented.

It is loaded with "125 LOAD" and invoked with "VE".

This editor uses 17 lines. The top line is the status line and
the 16 others are contents lines. The content shown is that
of the currently selected block.

All keystrokes are directly interpreted by VE and have the
effect described below.

(cont.)

+ 13
- 0
blk/121 Datei anzeigen

@@ -0,0 +1,13 @@
Pressing a 0-9 digit accumulates that digit into what is named
the "modifier". That modifier affects the behavior of many
keystokes described below. The modifier starts at zero, but
most commands interpret a zero as a 1 so that they can have an
effect.

'G' selects the block specified by the modifier as the current
block. Any change madde to the previously selected block is
saved beforehand.

'[' and ']' advance the selected block by modifier.

'Return' resets the modifier

+ 2
- 0
blk/125 Datei anzeigen

@@ -0,0 +1,2 @@
'? UPPER NOT [IF] 33 LOAD+ [THEN] DROP ( B158 )
1 2 LOADR+

+ 14
- 0
blk/126 Datei anzeigen

@@ -0,0 +1,14 @@
CREATE CMD 2 C, '$' C, 0 C,
VARIABLE ACC
: 0acc 0 ACC ! ;
: num ACC @ SWAP _pdacc IF DROP ELSE ACC ! THEN ;
: nspcs ( n -- , spit n space ) 0 DO SPC LOOP ;
: aty 0 SWAP AT-XY ;
: clrln DUP aty COLS nspcs aty ;
: clrscr LINES 0 DO I clrln LOOP ;
: status 0 clrln ." BLK" SPC BLK> ? SPC ACC ? ;
: contents 1 aty BLK> @ LIST ;
: selblk BLK@ 0acc contents ;
: $G ACC @ selblk ;
: $[ BLK> @ ACC @ 1 MAX - selblk ;
: $] BLK> @ ACC @ 1 MAX + selblk ;

+ 7
- 0
blk/127 Datei anzeigen

@@ -0,0 +1,7 @@
: handle ( c -- f )
UPPER DUP '0' '9' =><= IF num 0 EXIT THEN
DUP CMD 2+ C! CMD FIND IF EXECUTE ELSE DROP THEN
'Q' = ;
: VE clrscr 0acc contents
BEGIN status KEY handle UNTIL 18 aty ;


+ 2
- 0
blk/158 Datei anzeigen

@@ -0,0 +1,2 @@
: LOWER DUP 'A' 'Z' =><= IF 32 + THEN ;
: UPPER DUP 'a' 'z' =><= IF 32 - THEN ;

+ 0
- 1
blk/307 Datei anzeigen

@@ -14,4 +14,3 @@ CODE ?DUP
CODE DROP
HL POPqq,
;CODE


+ 0
- 1
blk/496 Datei anzeigen

@@ -14,4 +14,3 @@ CODE @GET ( a -- c f )
0x28 RSTn,
PUSHA, PUSHZ,
;CODE


+ 4
- 0
tools/blkpack.c Datei anzeigen

@@ -54,6 +54,10 @@ int main(int argc, char *argv[])
}
strncpy(buf+(blkid*1024)+(i*64), line, cnt-1);
}
ssize_t cnt = getline(&line, &n, fp);
if (cnt > 0) {
fprintf(stderr, "blk %s has more than 16 lines\n", ep->d_name);
}
free(line);
}
fwrite(buf, 1024, blkcnt, stdout);


Laden…
Abbrechen
Speichern