Kann mir einer sagen in welcher Sprache das geschrieben wurde? Laut dem Eintrag simpl32, denke ich mal, war da ein simpl-compiler mit im Spiel. Ist der Quellcode aus einer steinalten CNC-Steuerung, die Gott-sei-Dank noch in Diskettenform vorhanden war. Vielleicht kennt ja auch jemand die verwendeten Dateiendungen, daher eine Auflistung der Files.
Hier mal die Auflistung der Files,
Auflistung der Ordnerpfade
Volumenummer: 00003467 A057:648A
C:.
----NAT
----MA779
| MA779.BN0
| MA779.LNK
| MA779.MAP
| MA779.PRJ
| MA779.X
| NSDBG.WAT
| NSLAB.CFG
| SIMPL32
| USER.DEF
|
----DMPWIN
| AMP.WIN
| AUS.WIN
| AXPARA.WIN
| BAHN_CLR.WIN
| BILD_CAL.WIN
| CAL.WIN
| CC.WIN
| CHARS.WIN
| CHAR_A_B.WIN
| CHAR_C_D.WIN
| CHAR_E_F.WIN
| CHAR_G_H.WIN
| CHAR_I_J.WIN
| CHAR_K_L.WIN
| CHAR_M_N.WIN
| CHAR_NXT.WIN
| CHAR_O_P.WIN
| CHAR_Q_R.WIN
| CHAR_SPA.WIN
| CHAR_S_T.WIN
| CHAR_U_V.WIN
| CHAR_W_X.WIN
| CHAR_Y_Z.WIN
| COS.WIN
| CP.WIN
| DCHARS.WIN
| DIV.WIN
| DRASPD.WIN
| DRU.WIN
| EIN.WIN
| ENABLE.WIN
| HANDAUFN.WIN
| MEM.WIN
| MIN.WIN
| MUL.WIN
| NEXT.WIN
| NULL.WIN
| PAR.WIN
| PLU.WIN
| PRES.WIN
| QUI.WIN
| REC.WIN
| RESAUSL.WIN
| RESHUB.WIN
| RESROLLE.WIN
| RESWAG1.WIN
| RESWAG2.WIN
| ROHRAUFN.WIN
| ROHRENTL.WIN
| SENV.WIN
| SIN.WIN
| SPA.WIN
| SSTP.WIN
| START.WIN
| STOP.WIN
| TAN.WIN
| TANDEM.WIN
| TEACH.WIN
| VOLT.WIN
| WELDA.WIN
| WELDI.WIN
| WELD_EN.WIN
| WUR.WIN
|
----M
| ##.DM
| ##.M
| A3_0.CRD
| A3_0.PIO
| ABSDATA.M
| ALPHANUM.M ->Auszug siehe Code-Window.
| AXPARA.M
| BOXES.M
| CHECKLIM.M
| COMMANDS.TXT
| DEFAXES.M
| FEHLER.M
| GRENZDAT.M
| HAANE.CRD
| HANDLERS.M
| HYDRTEST.M
| INCDEC.M
| INTERCEP.M
| JOYSTICK.M
| KEYHAANE.M
| L1_0.CRD
| L1_0.PIO
| L1_1.CRD
| L1_1.PIO
| LOGIC.M
| MA779.M
| MASKEN.M
| MESSEN.M
| MOTOREN.TXT
| MSGS.M
| PORT3.M
| RESTPSAV.M
| RESTPULV.M
| ROHRABL.M
| ROHRAUFN.M
| SCHLITT.M
| SENSORS.M
| SOFTERRS.TXT
| TANDEM.M
| TEACH.M
| TEACHSAV.M
| TERMINAL.M
| TIMINT.M
| V3_0.CRD
| V3_0.PIO
| VIDCHARS.M
| VIDIMAGE.M
| VIDSYMB.M
| WELD.M
| WELDEDIT.M
| Z2_0.CRD
| Z2_0.PIO
|
----MACROS
PRINTMAC.I32
SIMPL32A.L32
SIMPL32A.LIB
nicht wundern wenn ihr über google den Text noch woanders findet, habe auch in anderen Foren die Frage gestellt, mit sehr nüchternem Ausgang - keine Antwort. Falls es ein simpl-code ist, hat jemand noch nen simpl-compiler irgendwo 'rumliegen'?
Gruss Robert
Code:
.include simpl32
.include user.def
export data
variable
boolean m_editor m_alphaclear
enddata
data
define
let alpha_blink_rate = 40
variable
boolean m_nextalpha alpha_inv t.inv_sav
byte disp_char alpha_row alpha_col
integer alpha_pos col_alpha
enddata
; ar0 -> Pointer auf Variable
; ar2 -> Pointer auf Variablen - Kennzeichner
; dr0 -> Zähler bis zur Eingabestelle, Konstruktion -> ar0 [dr0]
; dr1 -> Input Alphanum
export routine init_alphanum
reset m_nextalpha disp_char alpha_row alpha_col alpha_inv
reset m_editor m_alphaclear
clear alpha_pos col_alpha
endroutine
routine scan_tast
clear dr1
if N_NEXTALPHA
toggle m_nextalpha
elsif N_BLANK
fill 0 (ar0) with " " t.width byte
clear dr0
elsif N_INCALPHA
increment dr0
if dr0 >= t.width
let dr0 = t.width minus 1
endif
elsif N_DECALPHA
decrement dr0
if dr0 < 0
let dr0 = 0
endif
elsif N_SPACE
let dr1 = " " byte
elsif N_0
let dr1 = "0" byte
elsif N_1
let dr1 = "1" byte
elsif N_2
let dr1 = "2" byte
elsif N_3
let dr1 = "3" byte
elsif N_4
let dr1 = "4" byte
elsif N_5
let dr1 = "5" byte
elsif N_6
let dr1 = "6" byte
elsif N_7
let dr1 = "7" byte
elsif N_8
let dr1 = "8" byte
elsif N_9
let dr1 = "9" byte
elsif N_POINT
let dr1 = "." byte
elsif N_MINUS
let dr1 = "-" byte
elsif !m_nextalpha
if N_A
let dr1 = "A" byte
elsif N_B
let dr1 = "B" byte
elsif N_C
let dr1 = "C" byte
elsif N_D
let dr1 = "D" byte
elsif N_E
let dr1 = "E" byte
elsif N_F
let dr1 = "F" byte
elsif N_G
let dr1 = "G" byte
elsif N_H
let dr1 = "H" byte
elsif N_I
let dr1 = "I" byte
elsif N_J
let dr1 = "J" byte
elsif N_K
let dr1 = "K" byte
elsif N_L
let dr1 = "L" byte
elsif N_M
let dr1 = "M" byte
elsif N_N
let dr1 = "N" byte
elsif N_O
let dr1 = "O" byte
elsif N_P
let dr1 = "P" byte
endif
elsif m_nextalpha
if N_Q
let dr1 = "Q" byte
elsif N_R
let dr1 = "R" byte
elsif N_S
let dr1 = "S" byte
elsif N_T
let dr1 = "T" byte
elsif N_U
let dr1 = "U" byte
elsif N_V
let dr1 = "V" byte
elsif N_W
let dr1 = "W" byte
elsif N_X
let dr1 = "X" byte
elsif N_Y
let dr1 = "Y" byte
elsif N_Z
let dr1 = "Z" byte
endif
endif
if dr1 <> 0
let ar0 [dr0] = dr1 byte
increment dr0
if dr0 >= t.width
let dr0 = t.width minus 1
endif
endif
endroutine
export routine soft_alphanum
set REPEAT_En9 REPEAT_En10
if !m_nextalpha
D_FNSOFT Fn1 SY_CHAR_A_B
D_FNSOFT Fn2 SY_CHAR_C_D
D_FNSOFT Fn3 SY_CHAR_E_F
D_FNSOFT Fn4 SY_CHAR_G_H
D_FNSOFT Fn5 SY_CHAR_I_J
D_FNSOFT Fn6 SY_CHAR_K_L
D_FNSOFT Fn7 SY_CHAR_M_N
D_FNSOFT Fn8 SY_CHAR_O_P
else
D_FNSOFT Fn1 SY_CHAR_Q_R
D_FNSOFT Fn2 SY_CHAR_S_T
D_FNSOFT Fn3 SY_CHAR_U_V
D_FNSOFT Fn4 SY_CHAR_W_X
D_FNSOFT Fn5 SY_CHAR_Y_Z
endif
D_FNSOFT Fn9 SY_CHAR_SPA
D_FNSOFT Fn10 SY_CHAR_NXT
endroutine
export routine input_alphanum
if newonkey
store ar0 dr0 dr1
if t.entry <> col_alpha or m_alphaclear
clear dr0 alpha_pos
let col_alpha = t.entry
reset m_alphaclear
endif
let ar0 = t.pointer
let dr0 = alpha_pos
call scan_tast
let alpha_pos = dr0
endstore
endif
endroutine
export routine disp_inv_alphanum
if alpha_blink_timer = 0 or newonkey
if newonkey
reset alpha_inv
let alpha_blink_timer = alpha_blink_rate
elsif alpha_blink_timer = 0
toggle alpha_inv
let alpha_blink_timer = alpha_blink_rate
endif
store ar0 dr0 ar2
if t.entry <> col_alpha or m_alphaclear
clear dr0 alpha_pos
let col_alpha = t.entry
reset m_alphaclear
endif
let ar0 = t.pointer
let dr0 = alpha_pos
let disp_char = ar0 [dr0] byte
;-- Nur für EDITOR --------------------------------
if m_editor
let ar2 = e.tabcol mult VARSIZE plus e.intable
else
let ar2 = t.variable
endif
;--------------------------------------------------
;-- Test !!!---------------------------------------
let ar3 = t.fixd (ar2) ; REL oder nicht?
;--------------------------------------------------
let alpha_row = t.vrow (ar2) byte
let alpha_col = t.vcol (ar2) byte
increment alpha_col by alpha_pos byte
let t.inv_sav = t.inv byte
let t.inv = alpha_inv byte
AT_CUR alpha_row alpha_col
D_ASC disp_char 1
decrement alpha_col by alpha_pos byte
AT_CUR alpha_row alpha_col
let t.inv = t.inv_sav byte
endstore
endif
endroutine
Hier mal die Auflistung der Files,
Auflistung der Ordnerpfade
Volumenummer: 00003467 A057:648A
C:.
----NAT
----MA779
| MA779.BN0
| MA779.LNK
| MA779.MAP
| MA779.PRJ
| MA779.X
| NSDBG.WAT
| NSLAB.CFG
| SIMPL32
| USER.DEF
|
----DMPWIN
| AMP.WIN
| AUS.WIN
| AXPARA.WIN
| BAHN_CLR.WIN
| BILD_CAL.WIN
| CAL.WIN
| CC.WIN
| CHARS.WIN
| CHAR_A_B.WIN
| CHAR_C_D.WIN
| CHAR_E_F.WIN
| CHAR_G_H.WIN
| CHAR_I_J.WIN
| CHAR_K_L.WIN
| CHAR_M_N.WIN
| CHAR_NXT.WIN
| CHAR_O_P.WIN
| CHAR_Q_R.WIN
| CHAR_SPA.WIN
| CHAR_S_T.WIN
| CHAR_U_V.WIN
| CHAR_W_X.WIN
| CHAR_Y_Z.WIN
| COS.WIN
| CP.WIN
| DCHARS.WIN
| DIV.WIN
| DRASPD.WIN
| DRU.WIN
| EIN.WIN
| ENABLE.WIN
| HANDAUFN.WIN
| MEM.WIN
| MIN.WIN
| MUL.WIN
| NEXT.WIN
| NULL.WIN
| PAR.WIN
| PLU.WIN
| PRES.WIN
| QUI.WIN
| REC.WIN
| RESAUSL.WIN
| RESHUB.WIN
| RESROLLE.WIN
| RESWAG1.WIN
| RESWAG2.WIN
| ROHRAUFN.WIN
| ROHRENTL.WIN
| SENV.WIN
| SIN.WIN
| SPA.WIN
| SSTP.WIN
| START.WIN
| STOP.WIN
| TAN.WIN
| TANDEM.WIN
| TEACH.WIN
| VOLT.WIN
| WELDA.WIN
| WELDI.WIN
| WELD_EN.WIN
| WUR.WIN
|
----M
| ##.DM
| ##.M
| A3_0.CRD
| A3_0.PIO
| ABSDATA.M
| ALPHANUM.M ->Auszug siehe Code-Window.
| AXPARA.M
| BOXES.M
| CHECKLIM.M
| COMMANDS.TXT
| DEFAXES.M
| FEHLER.M
| GRENZDAT.M
| HAANE.CRD
| HANDLERS.M
| HYDRTEST.M
| INCDEC.M
| INTERCEP.M
| JOYSTICK.M
| KEYHAANE.M
| L1_0.CRD
| L1_0.PIO
| L1_1.CRD
| L1_1.PIO
| LOGIC.M
| MA779.M
| MASKEN.M
| MESSEN.M
| MOTOREN.TXT
| MSGS.M
| PORT3.M
| RESTPSAV.M
| RESTPULV.M
| ROHRABL.M
| ROHRAUFN.M
| SCHLITT.M
| SENSORS.M
| SOFTERRS.TXT
| TANDEM.M
| TEACH.M
| TEACHSAV.M
| TERMINAL.M
| TIMINT.M
| V3_0.CRD
| V3_0.PIO
| VIDCHARS.M
| VIDIMAGE.M
| VIDSYMB.M
| WELD.M
| WELDEDIT.M
| Z2_0.CRD
| Z2_0.PIO
|
----MACROS
PRINTMAC.I32
SIMPL32A.L32
SIMPL32A.LIB
nicht wundern wenn ihr über google den Text noch woanders findet, habe auch in anderen Foren die Frage gestellt, mit sehr nüchternem Ausgang - keine Antwort. Falls es ein simpl-code ist, hat jemand noch nen simpl-compiler irgendwo 'rumliegen'?
Gruss Robert