expand memory to 2GB
It requires more than 1GB to fill the screen with a chessboard pattern using the definition in shell/iterative-definitions.limg. I also speed up the chessboard program by clearing the screen up front and then only rendering the white pixels.
This commit is contained in:
parent
8185a605c6
commit
22a95bd813
|
@ -28,7 +28,7 @@ Heap: # allocation-descriptor
|
||||||
# curr
|
# curr
|
||||||
0x01000000/imm32 # 16 MB
|
0x01000000/imm32 # 16 MB
|
||||||
# limit
|
# limit
|
||||||
0x08000000/imm32 # 128 MB is how much RAM Qemu models by default
|
0x80000000/imm32 # 2 GB
|
||||||
|
|
||||||
Next-alloc-id: # int
|
Next-alloc-id: # int
|
||||||
0x100/imm32 # save a few alloc ids for fake handles
|
0x100/imm32 # save a few alloc ids for fake handles
|
||||||
|
|
|
@ -9,11 +9,11 @@ $ ./translate shell/*.mu # generates code.img
|
||||||
|
|
||||||
2. Run it:
|
2. Run it:
|
||||||
```sh
|
```sh
|
||||||
$ qemu-system-i386 code.img
|
$ qemu-system-i386 -m 2G code.img
|
||||||
```
|
```
|
||||||
or:
|
or:
|
||||||
```
|
```
|
||||||
$ bochs -f bochsrc
|
$ bochs -f bochsrc # _much_ slower
|
||||||
```
|
```
|
||||||
|
|
||||||
To save typing in a large s-expression, create a secondary disk for data:
|
To save typing in a large s-expression, create a secondary disk for data:
|
||||||
|
@ -34,7 +34,7 @@ $ cat iterative-definitions.limg |dd of=data.img conv=notrunc
|
||||||
|
|
||||||
Now run with both code and data disks:
|
Now run with both code and data disks:
|
||||||
```sh
|
```sh
|
||||||
$ qemu-system-i386 -hda code.img -hdb data.img
|
$ qemu-system-i386 -m 2G -hda code.img -hdb data.img
|
||||||
```
|
```
|
||||||
or:
|
or:
|
||||||
```
|
```
|
||||||
|
@ -58,7 +58,7 @@ may speed up emulation:
|
||||||
As a complete example, here's the command I typically use on Linux:
|
As a complete example, here's the command I typically use on Linux:
|
||||||
|
|
||||||
```
|
```
|
||||||
$ qemu-system-i386 -enable-kvm -hda code.img -hdb data.img
|
$ qemu-system-i386 -m 2G -enable-kvm -hda code.img -hdb data.img
|
||||||
```
|
```
|
||||||
|
|
||||||
*Known issues*
|
*Known issues*
|
||||||
|
|
|
@ -66,15 +66,19 @@
|
||||||
(chessboard . (fn () (screen px)
|
(chessboard . (fn () (screen px)
|
||||||
(chessboard1 screen px 0 15)))
|
(chessboard1 screen px 0 15)))
|
||||||
(chessboard1 . (fn () (screen px y color)
|
(chessboard1 . (fn () (screen px y color)
|
||||||
|
(clear screen)
|
||||||
(while (< y (height screen))
|
(while (< y (height screen))
|
||||||
(chessboard2 screen px y 0 color)
|
(chessboard2 screen px y 0 color)
|
||||||
(set y (+ y px))
|
(set y (+ y px))
|
||||||
(set color (- 15 color)))))
|
(chessboard2 screen px y px color)
|
||||||
|
(set y (+ y px)))))
|
||||||
(chessboard2 . (fn () (screen px y x color)
|
(chessboard2 . (fn () (screen px y x color)
|
||||||
(while (< x (width screen))
|
(while (< x (width screen))
|
||||||
(fill_rect screen x y (+ x px) (+ y px) color)
|
(fill_rect screen x y (+ x px) (+ y px) color)
|
||||||
(set x (+ x px))
|
(set x (+ x px))
|
||||||
(set color (- 15 color)))))
|
(set x (+ x px)))))
|
||||||
|
(main . (fn () (screen keyboard)
|
||||||
|
(chessboard screen 16)))
|
||||||
))
|
))
|
||||||
(sandbox . (+ 1 2))
|
(sandbox . (+ 1 2))
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in New Issue