50 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| 
 | |
| ; 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)))))))
 | |
| )
 | |
| 
 |