
;  This file is part of KC87 SDK.
;
;  Copyright (c) 2026 René Coignard
;
;  This software is provided 'as-is', without any express or implied
;  warranty. In no event will the authors be held liable for any damages
;  arising from the use of this software.
;
;  Permission is granted to anyone to use this software for any purpose,
;  including commercial applications, and to alter it and redistribute it
;  freely, subject to the following restrictions:
;
;  1. The origin of this software must not be misrepresented; you must not
;     claim that you wrote the original software. If you use this software
;     in a product, an acknowledgment in the product documentation would be
;     appreciated but is not required.
;  2. Altered source versions must be plainly marked as such, and must not be
;     misrepresented as being the original software.
;  3. This notice may not be removed or altered from any source distribution.

macro format?.kcc? name:''
    local len, val
    virtual at 0
        db name
        len = $
        if len > 16
            len = 16
        end if
        if len > 0
            load val : len from 0
        end if
    end virtual
    if len > 0
        db val
    end if
    if len < 16
        db (16 - len) dup 20h
    end if
    db 3
    dw 0, 0, 0
    db 105 dup 0
    postpone ?
        store $$ : word at : 17
        store $ : word at : 19
        store $$ : word at : 21
    end postpone
end macro
