@@ -30,7 +30,7 @@ program RhodusVersionThreeProject;
3030
3131uses
3232 { $IFDEF DEBUG}
33- FastMM4 in ' ..\..\Library\FastMM\FastMM4.pas' ,
33+ // FastMM4 in '..\..\Library\FastMM\FastMM4.pas',
3434 { $ENDIF }
3535 Windows,
3636 ShellAPI,
3939 Math,
4040 IOUtils,
4141 Classes,
42+ Vcl.GraphUtil,
43+ Vcl.Graphics,
4244 System.Types,
4345 System.Generics.Defaults,
4446 System.Generics.Collections,
8082 uRhodusTypes in ' ..\VirtualMachine\uRhodusTypes.pas' ;
8183
8284var sourceCode : string;
85+ fragment : string;
8386 runFramework : TRunFramework;
87+ color : TColor;
8488
8589
8690function searchHelp (const helpStr : string) : string;
@@ -223,6 +227,7 @@ begin
223227
224228 try
225229 computeBaseLineMemoryAllocated;
230+ SetExtendedConsoleMode; // To get more colors
226231 displayWelcome;
227232 while True do
228233 begin
@@ -235,8 +240,28 @@ begin
235240 if runCommand (sourceCode) then
236241 continue;
237242
238- runFramework.showAssembler := bolShowAssembler;
239- runFramework.runCode (sourceCode, True);
243+ runFramework.showAssembler := bolShowAssembler;
244+
245+ if sourceCode = ' #p' then
246+ begin
247+ writeln (' Type q or return to exit and run program' );
248+ write (' ... ' );
249+ sourceCode := ' ' ;
250+ readln (fragment);
251+ while (fragment <> ' q' ) and (fragment <> ' ' ) do
252+ begin
253+ if sourceCode = ' ' then
254+ sourceCode := fragment
255+ else
256+ sourceCode := sourceCode + sLineBreak + fragment;
257+ write (' ... ' );
258+ readln (fragment)
259+ end ;
260+ // writeln (sourceCode);
261+ runFramework.runCode (sourceCode, True);
262+ end
263+ else
264+ runFramework.runCode (sourceCode, True);
240265
241266 except
242267 on e:exception do
0 commit comments