; draw_spin.asm -- CONTROL payload: draw the same three boxes, then freeze. ; ; It proves the coordinates and the renderer mapping (the boxes appear in the ; next dumped frame). It deliberately does NOT return, so the OS is dead from ; this point. Compare with draw_box.asm, which returns and leaves the OS alive ; and whose boxes are gone by the next dumped frame: the OS repaints. ; ; Linked at bit 01840000h by dwt/visual/build.sh. .text _start: setf 16, 0, 0 setf 32, 0, 1 movi 0FFFFh, a0, L ; box A (50,50) movi 0400C832h, a2, L movi 32, a3, L movi 2, a4, L rowA: move a4, a5 wordA: move a0, *a2+, 0 dsjs a5, wordA addi 03E0h, a2 dsjs a3, rowA ; box B (250,400) movi 040640FAh, a2, L movi 32, a3, L movi 2, a4, L rowB: move a4, a5 wordB: move a0, *a2+, 0 dsjs a5, wordB addi 03E0h, a2 dsjs a3, rowB ; box C (930,750) movi 040BBBA2h, a2, L movi 32, a3, L movi 2, a4, L rowC: move a4, a5 wordC: move a0, *a2+, 0 dsjs a5, wordC addi 03E0h, a2 dsjs a3, rowC movi 05B5Bh, a0, L move a0, @01850020h, 0 ; SPIN_MARK = 5B5B dint spin: nop jruc spin .end