; To load the VM into Scheme 48: ; ,exec ,load README ; ; Then, for example, ; (start-vm "~/s48/initial.image" 4000000 20000 '#()) ; in the user package will start up the VM with the initial image. ; Be patient. It will take a while. Running the initial image as ; above on a SGI Indy (100 mhz R4000) it took over 70 minutes to ; get the - prompt. scheme48.image starts up faster as it does little ; in the way of initialization. ; ; You will need to have a large heap to start with. -h 12000000 works ; for loading the initial image in version 0.35, smaller heaps may also ; work. (config) (load "ps-interface.scm") (load "interfaces.scm") (load "s48-package-defs.scm") (load "package-defs.scm") (load-package 'destructuring) ; used in FOR-SYNTAX clause (load-package 'bigbit) (load-package 'interpreter) (user) (open 'pre-scheme) (open 'interpreter) (open 'memory-debug) (run ' (define (start-vm image-file heap-size stack-size start-args) (reinitialize-memory) (let ((needed-space (+ (quotient (check-image-header image-file) 4) (required-init-space start-args (vector-length start-args))))) (cond ((< heap-size (* 16 needed-space)) (display "Heap too small, want at least ") (display (* 16 needed-space)) (newline)) (else (let ((heap (allocate-memory heap-size)) (stack (allocate-memory stack-size))) (initialize-vm heap (quotient heap-size 4) stack (quotient stack-size 4)) (call-startup-procedure (read-image image-file 0) start-args (vector-length start-args))))))) )