; *************************************************************************** ; *************************************************************************** ; ; zx0_6502.asm ; ; NMOS 6502 decompressor for data stored in Einar Saukas's ZX0 format. ; ; This code is written for the ACME assembler. ; ; The code is 196 bytes long, and is self-modifying. ; ; Copyright John Brandwood 2021. ; ; Distributed under the Boost Software License, Version 1.0. ; (See accompanying file LICENSE_1_0.txt or copy at ; http://www.boost.org/LICENSE_1_0.txt) ; ; *************************************************************************** ; *************************************************************************** ; *************************************************************************** ; *************************************************************************** ; ; Decompression Options & Macros ; ; ; Assume that we're decompessing from a large multi-bank ; compressed data file, and that the next bank may need to ; paged in when a page-boundary is crossed. ; ZX0_FROM_BANK = 0 ; ; Macro to increment the source pointer to the next page. ; !macro ZX0_INC_PAGE { !if ZX0_FROM_BANK { jsr zx0_next_page } else { inc