Category : Forth Source Code
Archive   : FPCSLICE.ZIP
Filename : FORMEX.SEQ

 
Output of file : FORMEX.SEQ contained in archive : FPCSLICE.ZIP
\ FORMEX.SEQ SAMPLE STRUCTURE SETUP...MULTIPLE POP UP MENUS
\ copyright 1988 Robert J. Gesswein
\ -----------------------------------------------------------------------
CR
.( rjg-lib ) FLOAD RJG-LIB .( ### ) CR
.( formbld ) FLOAD FORMBLD .( ### ) CR
.( slicore ) FLOAD SLICORE .( ### ) CR
.( sliext ) FLOAD SLIEXT .( ### ) CR
.( lslice ) FLOAD LSLICE .( ### ) CR
.( formdyn ) FLOAD FORMDYN .( ### ) CR
.( formview ) FLOAD FORMVIEW .( ### ) CR
\ -----------------------------------------------------------------------
1000 ALLOC DROP CONSTANT MENUSEG MENUSEG 0 ROT 0 LFILL
\ -----------------------------------------------------------------------
: MENU.AL ( -- aL ) MENUSEG 0 ;

CR .( Making MLINHEAD )
START-FORM MLINHEAD
2 F-VAR ML_OFF \ adrO of string/char. to display in window
2 F-VAR ML_DISP \ cfa of word to execute to disp window line
2 F-VAR ML_RUN \ cfa of word to execute if mline selected
1 F-VAR ML_FLAG \ T=use in novice mode, F=don't use in novice
END-FORM MLINHEAD
.( Finished MLINHEAD) CR

.( Making MENUHEAD )
START-FORM MENUHEAD
1 F-VAR M_RC \ right column
1 F-VAR M_BR \ bottom row
1 F-VAR M_LC \ left column
1 F-VAR M_TR \ top row
2 F-VAR M_OFF \ offset of start of menu array in segment
2 F-VAR M_TITLEO \ offset of title string for menu
2 F-VAR M_PREV \ menu on before entering this one
5 F-SLI ML.ON MLINHEAD \ menu line currently on
END-FORM MENUHEAD
.( Finished MENUHEAD) CR

.( Making MENUHOLDER )
START-FORM MENUHOLDER
F-VAR-EXE> MENU.AL
3 F-LNK MENU.ON MENUHEAD \ holds current menu
END-FORM MENUHOLDER
.( Finished MENUHOLDER) CR
\ -----------------------------------------------------------------------
: SEE-EXAMPLE ( -- ) ['] MENUHOLDER >BODY SHOW.STRU ;

: T2 ( -- ) SLICE>> ML.ON INSERT
SLICE>> MENU.ON INSERT
SLICE>> ML.ON INSERT
SLICE>> MENU.ON INSERT ;

MAKE-INSTANCE MENUHOLDER

\ -->
\ -----------------------------------------------------------------------
COMMENT:
\ structure in lists

ÒÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄ¿
º base-exe ³ size ³ link ³ type ³ of.par ³ MLINHEAD (header)
ÐÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÙ
ÒÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄ¿
º base-exe ³ offset ³ link ³ type ³ par ³ ML_OFF (f-var)
ÐÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÙ
ÒÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄ¿
º base-exe ³ offset ³ link ³ type ³ par ³ ML_DISP (f-var)
ÐÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÙ
...


ÒÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄ¿
º base-exe ³ size ³ link ³ type ³ of.par ³ MENUHEAD (header)
ÐÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÙ
ÒÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄ¿
º base-exe ³ offset ³ link ³ type ³ par ³ M_RC (f-var)
ÐÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÙ
ÒÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄ¿
º base-exe ³ offset ³ link ³ type ³ par ³ M_BR (f-var)
ÐÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÙ
...
ÒÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄ¿
º base-exe ³ offset ³ link ³ type ³ par ³ of.form ³ bytes ³ tot# ³ ML.ON
ÐÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÙ (f-sli)


ÒÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄ¿
º base-exe ³ size ³ link ³ type ³ of.par ³ MENUHOLDER (header)
ÐÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÙ
ÒÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄ¿
º base-exe ³ offset ³ link ³ type ³ par ³ of.form ³ bytes ³ tot# ³ MENU.ON
ÐÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÙ (f-lnk)


\ -->
\ -----------------------------------------------------------------------
\ structure in segment

0ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿2
³ tot bytes in stru. ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
2ÚÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ¿10
³ offset ³ curr-offset ³ curr-lslice# ³ tot-lslice# ³ tot-size ³ L.C.B.
ÀÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÙ
12ÚÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄ¿4
³ ln.bytes ³ ln.prev ³ L.C.B. NODE #1
ÀÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÙ
16ÚÄÄÄÄÄÄ/ÄÄÄÄÄÄ¿10
³ menu \ vars ³ menu-vars for menu#1
ÀÄÄÄÄÄÄ/ÄÄÄÄÄÄÙ
26ÚÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄ¿12
³ offset ³ s.curr ³ s.bytes ³ s.first ³ s.here ³ s.tot# ³ S.C.B. for
ÀÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÙ menu#1 lines
38ÚÄÄÄÄÄÄÄÄÄÄÄ/ÄÄÄÄÄÄ¿7
³ menu-line \ vars ³ menu-line#1 for menu#1
ÀÄÄÄÄÄÄÄÄÄÄÄ/ÄÄÄÄÄÄÙ
45ÚÄÄÄÄÄÄÄÄÄÄÄ/ÄÄÄÄÄÄ¿7
³ menu-line \ vars ³ menu-line#2 for menu#1
ÀÄÄÄÄÄÄÄÄÄÄÄ/ÄÄÄÄÄÄÙ
... 52,59,66
73ÚÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄ¿4
³ ln.bytes ³ ln.prev ³ L.C.B. NODE #2
ÀÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÙ
77ÚÄÄÄÄÄÄ/ÄÄÄÄÄÄ¿10
³ menu \ vars ³ menu-vars for menu#2
ÀÄÄÄÄÄÄ/ÄÄÄÄÄÄÙ
87ÚÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄ¿12
³ offset ³ s.curr ³ s.bytes ³ s.first ³ s.here ³ s.tot# ³ S.C.B. for
ÀÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÙ menu#2 lines
99ÚÄÄÄÄÄÄÄÄÄÄÄ/ÄÄÄÄÄÄ¿7
³ menu-line \ vars ³ menu-line#1 for menu#2
ÀÄÄÄÄÄÄÄÄÄÄÄ/ÄÄÄÄÄÄÙ
106ÚÄÄÄÄÄÄÄÄÄÄÄ/ÄÄÄÄÄÄ¿7
³ menu-line \ vars ³ menu-line#2 for menu#2
ÀÄÄÄÄÄÄÄÄÄÄÄ/ÄÄÄÄÄÄÙ
... 113,120,127
134ÚÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄ¿4
³ ln.bytes ³ ln.prev ³ L.C.B. NODE #3
ÀÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÙ
138ÚÄÄÄÄÄÄ/ÄÄÄÄÄÄ¿10
³ menu \ vars ³ menu-vars for menu#3
ÀÄÄÄÄÄÄ/ÄÄÄÄÄÄÙ
148ÚÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄ¿12
³ offset ³ s.curr ³ s.bytes ³ s.first ³ s.here ³ s.tot# ³ S.C.B. for
ÀÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÙ menu#3 lines
160ÚÄÄÄÄÄÄÄÄÄÄÄ/ÄÄÄÄÄÄ¿7
³ menu-line \ vars ³ menu-line#1 for menu#3
ÀÄÄÄÄÄÄÄÄÄÄÄ/ÄÄÄÄÄÄÙ
167ÚÄÄÄÄÄÄÄÄÄÄÄ/ÄÄÄÄÄÄ¿7
³ menu-line \ vars ³ menu-line#2 for menu#3
ÀÄÄÄÄÄÄÄÄÄÄÄ/ÄÄÄÄÄÄÙ
... 174,181,188 total size = 195 bytes
195

\ -->
\ -----------------------------------------------------------------------
\ sample of a more complex (arbitrary) structure showing control only

ÚÄÄÄLCB (1)
ÚÄÄØÄÄÄLCB (1)
³ ÀÂÄÄ>NODE (1)
³ ³ ÚÄÄLCB (2)
³ ³ ÚÄØÄÄLCB (2)
³ ³ ³ ÀÂÄ>NODE (2)
³ ³ ³ ³ ÚSCB (3)
³ ³ ³ ³ ÚÅSCB (3)
³ ³ ³ ³ ³ÀÂ>slice data (3)
³ ³ ³ ³ ³ À>slice data (3)
³ ³ ³ ³ ÀÄÂ>slice data (3)
³ ³ ³ ³ À>slice data (3)
³ ³ ³ ÀÄ>NODE (2)
³ ³ ³ ÚSCB (3)
³ ³ ³ ÚÅSCB (3)
³ ³ ³ ³ÀÂ>slice data (3)
³ ³ ³ ³ À>slice data (3)
³ ³ ³ ÀÄÂ>slice data (3)
³ ³ ³ À>slice data (3)
³ ³ ÀÄÂÄÄ>NODE (2)
³ ³ ³ DATA (2)
³ ³ ÀÄÄ>NODE (2)
³ ³ DATA (2)
³ ÀÂÄ>NODE (1)
³ ³ DATA (1)
³ ÀÄ>NODE (1)
³ DATA (1)
³ ...
ÀÄÄÄÂÄÄ>NODE (1)
³ DATA (1)
ÀÄÄ>NODE (1)
DATA (1)
...
COMMENT;
\ --|


  3 Responses to “Category : Forth Source Code
Archive   : FPCSLICE.ZIP
Filename : FORMEX.SEQ

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/