; drawal.asm -- one-shot static VRAM draw at word-aligned coordinates, return. ; ; Three solid-black 32x32 boxes: ; A (48,48) root weave, outside every window ; B (256,400) inside the Terminal Manager white body ; C (928,752) root weave, lower right ; All x are multiples of 16, which the TMS34010 16-bit field store requires. ; Writes marker words, then `rets` so the rdebug session and the OS survive. ; ; Linked at bit 01840000h by dwt/visual/build.sh. .text _start: setf 16, 0, 0 setf 32, 0, 1 sub a0, a0 ; 0000 = black ; box A (48,48) movi 0400C030h, 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 (256,400) movi 04064100h, 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 (928,752) movi 040BC3A0h, 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 0D2A0h, a0, L move a0, @01850020h, 0 ; DRAW_MARK = D2A0 movi 0B0C0h, a0, L move a0, @01850030h, 0 ; DRAW_MARK2 = B0C0 rets .end