From c50845632500c20a1179c065290de6f7bacba8b2 Mon Sep 17 00:00:00 2001 From: Jeremy Penner Date: Sat, 2 Jan 2021 14:47:57 -0500 Subject: [PATCH] First cut at disk image generation; generated disk will not currently boot --- ProDOS_2_4_2.dsk | Bin 0 -> 143360 bytes asm/asm.fnl | 4 +- asm/prodos.fnl | 336 ++++++++++++++++++++++++++++++++++++++++++++ editor/tileedit.fnl | 5 +- game/bosskey.fnl | 7 +- game/disk.fnl | 19 +++ lib/util.fnl | 20 ++- link/serial.fnl | 2 +- todo.txt | 37 +++++ 9 files changed, 416 insertions(+), 14 deletions(-) create mode 100644 ProDOS_2_4_2.dsk create mode 100644 asm/prodos.fnl create mode 100644 game/disk.fnl diff --git a/ProDOS_2_4_2.dsk b/ProDOS_2_4_2.dsk new file mode 100644 index 0000000000000000000000000000000000000000..25215fb9e36b311f9f22dc7f88745f1c3947a1a4 GIT binary patch literal 143360 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 (length bytes) (+ offset 0x27)) + (local entry (self:parse-entry (bytes:sub (+ offset 1) (+ offset 0x27)))) + (set entry.entry-offset offset) + (table.insert entries entry))) + {: prev-block : next-block : entries}) + +(set Prodos.storage-type { + :deleted 0 + :seedling 1 + :sapling 2 + :tree 3 + :dir 13 + :subdir-header 14 + :volume-header 15 +}) + +(set Prodos.file-type { + :none 0x00 + :BAD 0x01 + :TXT 0x04 + :BIN 0x06 + :DIR 0x0F + :ADB 0x19 + :AWP 0x1a + :ASP 0x1b + :PAS 0xef + :CMD 0xf0 + :BAS 0xfc + :VAR 0xfd + :REL 0xfe + :SYS 0xff +}) + +(fn Prodos.parse-structure [self] + (set self.files {}) + (set self.next-free nil) + (set self.root nil) + (var iblock 2) + (while (~= iblock 0) + (local dir (self:parse-directory iblock)) + (each [ientry entry (ipairs dir.entries)] + (match entry.entry-type + self.storage-type.volume-header (set self.root entry) + self.storage-type.deleted (set self.next-free {: entry : iblock : ientry}) + _ (tset self.files entry.name {: entry : iblock : ientry}))) + (set iblock dir.next-block)) + self) + +(fn Prodos.parse-index [self iblock] + (local block (self:block iblock)) + (local index []) + (for [i 1 256] + (local lo (block:sub i i)) + (local hi (block:sub (+ i 256) (+ i 256))) + (table.insert index (bytes-to-uint16 (.. lo hi))))) + +(fn Prodos.set-index [self iblock index] + (var block "") + (for [i 1 256] (set block (.. block (string.char (lo (or (. index i) 0)))))) + (for [i 1 256] (set block (.. block (string.char (hi (or (. index i) 0)))))) + (self:set-block iblock block)) + +(fn bit-in-bytes [bytes ibit] + (local ibyte (math.floor (/ ibit 8))) + (local byte (string.byte (bytes:sub (+ ibyte 1) (+ ibyte 1)))) + (local mask (bit.lshift 1 (% ibit 8))) + (values byte mask ibyte)) + +(fn Prodos.parse-bitmap [self] + (local block (self:block self.root.bitmap-pointer)) + (local bitmap {}) + (for [ibit 0 280] + (local (byte mask) (bit-in-bytes block ibit)) + (when (~= (bit.band byte mask) 0) + (tset bitmap ibit true))) + bitmap) + +(fn Prodos.set-bitmap [self bitmap] + (var block (string.rep "\0" 512)) + (each [ibit f (pairs bitmap)] + (when (= f true) + (local (byte mask ibyte) (bit-in-bytes block ibit)) + (set block (splice block ibyte (string.char (bit.bor byte mask)))))) + (self:set-block self.root.bitmap-pointer block)) + +(fn Prodos.find-next-free-block [self] + (next (self:parse-bitmap))) + +(fn Prodos.add-file-data [self bytes] + (assert (< (length bytes) 0xffff)) + (if (> (length bytes) 512) + (let [index []] + (for [offset 1 (length bytes) 512] + (local iblock (self:add-file-data (bytes:gsub offset (+ offset 511)))) + (table.insert index iblock)) + (local iblock-index (self:find-next-free-block)) + (self:set-index iblock-index index) + (values iblock-index self.storage-type.sapling (+ (length index) 1))) + + (let [iblock-index (self:find-next-free-block)] + (self:set-block iblock-index bytes) + (values iblock-index self.storage-type.seedling 1)))) + +(fn Prodos.generate-file-entry [self iblock-parent filename type aux bytes] + (local (iblock storage-type block-count) (self:add-file-data bytes)) + (.. + (int8-to-bytes (bit.bor (bit.lshift storage-type 4) (length filename))) + filename + (string.rep "\0" (- 15 (length filename))) + (int8-to-bytes type) + (int16-to-bytes iblock) + (int16-to-bytes block-count) + (int24-to-bytes (length bytes)) + "\0\0\0\0" ; created date + (int8-to-bytes 36) ; version + (int8-to-bytes 0) ; min-version + (int8-to-bytes 0x01) ; access (read-only, locked) + (int16-to-bytes aux) ; aux-type - generally load address + "\0\0\0\0" ; last modified date + (int16-to-bytes iblock-parent))) + +(fn Prodos.generate-volume-header [self ?overrides] + (local overrides (or ?overrides {})) + (local name (or overrides.name self.root.name)) + (.. + (int8-to-bytes (bit.bor (bit.lshift self.storage-type.volume-header 4) (length name))) + name + (string.rep "\0" (- 15 (length name))) + "\0\0\0\0\0\0\0\0" ; reserved + "\0\0\0\0" ; created date + (int8-to-bytes 36) ; version + (int8-to-bytes 0) ; min-version + (int8-to-bytes 0x01) ; access (read-only, locked) + (int8-to-bytes 0x27) + (int8-to-bytes 0x0d) + (int16-to-bytes (or overrides.file-count self.root.file-count)) + (int16-to-bytes (or overrides.bitmap-pointer self.root.bitmap-pointer)) + (int16-to-bytes 280))) + +(fn Prodos.update-volume-header [self ?overrides] + (local block (-> (self:block 2) (splice 4 (self:generate-volume-header ?overrides)))) + (self:set-block 2 block) + (self:parse-structure)) + +(fn Prodos.add-file [self filename type aux bytes] + (assert self.next-free) + (local iblock self.next-free.iblock) + (var block (self:block iblock)) + (local file-entry (self:generate-file-entry iblock filename type aux bytes)) + (print (length file-entry) file-entry) + (set block (splice block self.next-free.entry.entry-offset file-entry)) + (self:set-block iblock block) + (self:update-volume-header {:file-count (+ self.root.file-count 1)})) + +Prodos diff --git a/editor/tileedit.fnl b/editor/tileedit.fnl index 4db9a6a..06596a4 100644 --- a/editor/tileedit.fnl +++ b/editor/tileedit.fnl @@ -33,10 +33,7 @@ (bit.bor (if is-set orval 0)))) (fn set-tile-bit [tile ibyte ibit is-set] - (.. - (tile:sub 1 ibyte) - (string.char (set-bit tile ibyte ibit is-set)) - (tile:sub (+ ibyte 2)))) + (util.splice tile ibyte (string.char (set-bit tile ibyte ibit is-set)))) (fn draw-bit-color [bit x y] (local (bgcolor color) (tiledraw.pal-from-bit bit)) diff --git a/game/bosskey.fnl b/game/bosskey.fnl index 7888076..bad5bfa 100644 --- a/game/bosskey.fnl +++ b/game/bosskey.fnl @@ -47,17 +47,12 @@ (cells 16 ["TOTAL" style.inverse] "TOO MANY" ["* MAGIC *" style.flashing] "ALL@ONCE") (cells 17) (cells 18) (cells 19) (cells 20)]) -(fn splice [bytes offset str] - (.. (bytes:sub 1 offset) - str - (bytes:sub (+ (length str) offset 1)))) - (fn bytes-from-lines [lines] (var bytes (string.rep (astr " ") 0x400)) (each [y line (ipairs lines)] (local offset (+ (* (math.floor (/ (- y 1) 8)) 0x28) (* (% (- y 1) 8) 0x80))) - (set bytes (splice bytes offset line))) + (set bytes (util.splice bytes offset line))) bytes) (textorg:append [:bytes (bytes-from-lines (generate-boss-screen-lines))]) diff --git a/game/disk.fnl b/game/disk.fnl new file mode 100644 index 0000000..48f03bf --- /dev/null +++ b/game/disk.fnl @@ -0,0 +1,19 @@ +(local asm (require :asm.asm)) +(local Prodos (require :asm.prodos)) +(local {: basic} (require :asm.tape)) + +(local prg (basic (asm.new))) +(local org (prg:org 0x801)) + +(org:append [:basic + [10 :print "\"HELLO FROM A GENERATED DISK IMAGE!\""] + [20 :goto :10]]) + +(prg:assemble) + +(local disk (Prodos "ProDOS_2_4_2.dsk")) +(disk:add-file "STARTUP" Prodos.file-type.BAS 0x801 org.block.bytes) +(disk:update-volume-header {:name "NEUT.TOWER"}) +(pp disk) +(disk:write "Test.dsk") + diff --git a/lib/util.fnl b/lib/util.fnl index e8ef93b..dc071ad 100644 --- a/lib/util.fnl +++ b/lib/util.fnl @@ -13,6 +13,21 @@ (string.char (lo i))) (fn int16-to-bytes [i] (string.char (lo i) (hi i))) +(fn int24-to-bytes [i] + (string.char (lo i) (hi i) (bit.band (bit.rshift i 16) 0xff))) +(fn bytes-to-uint8 [b ?offset] + (string.byte b (+ 1 (or ?offset 0)) (+ 1 (or ?offset 0)))) +(fn bytes-to-uint16 [b ?offset] + (local (lo hi) (string.byte b (+ 1 (or ?offset 0)) (+ 2 (or ?offset 0)))) + (bit.bor lo (bit.lshift hi 8))) +(fn bytes-to-uint24 [b ?offset] + (local (lo mid hi) (string.byte b (+ 1 (or ?offset 0)) (+ 3 (or ?offset 0)))) + (bit.bor lo (bit.lshift mid 8) (bit.lshift hi 16))) + +(fn splice [bytes offset str] + (.. (bytes:sub 1 offset) + str + (bytes:sub (+ (length str) offset 1)))) (fn reload [modname] (tset package.loaded modname nil) @@ -61,5 +76,8 @@ (fn in-coro [f ...] (-> (coroutine.create f) (coroutine.resume ...))) -{: lo : hi : int8-to-bytes : int16-to-bytes : reload : hotswap : swappable :require swappable-require : readjson : writejson : waitfor : in-coro} +{: int8-to-bytes : int16-to-bytes : int24-to-bytes : bytes-to-uint8 : bytes-to-uint16 : bytes-to-uint24 + : splice : lo : hi + : reload : hotswap : swappable :require swappable-require + : readjson : writejson : waitfor : in-coro} diff --git a/link/serial.fnl b/link/serial.fnl index 0f86608..c06a7c7 100644 --- a/link/serial.fnl +++ b/link/serial.fnl @@ -41,7 +41,7 @@ (set bytes-to-write (bytes-to-write:sub 11)) (set addrout (+ addrout 10)))) :monitor (fn [self] (self:cmd "CALL-151")) - :stub (fn [self org post-debug-stub]) ; todo +; :stub (fn [self org post-debug-stub]) ; todo }) (command.add #(not (machine:connected?)) { diff --git a/todo.txt b/todo.txt index 3a8ddc2..20bae15 100644 --- a/todo.txt +++ b/todo.txt @@ -1,3 +1,40 @@ +FLOPPY DISK IDEAS: +* I am not going to write my own DOS +* I will use ProDOS - BOOTI-compatible, modern +* ProDOS 2.4.2 - https://prodos8.com/ +* Generate file(s) to be injected into a blank bootable ProDOS disk image + +thinking: +neut.tower contains all code / data +loader.system contains a small program that maps offsets of 512-byte blocks to memory addresses +- is loaded to 0x2000 & will be wiped by gfx? No, PRODOS is loaded at $2000 and moved +- no, XXX.SYSTEM is loaded to 0x2000 as well +- Alternately, we could write one program that batch-loads the whole game into $2000 and moves it to where it belongs? +- How big is the game with all levels? Could we load the whole thing into consecutive memory starting at $4000? + - (I don't think this would work on 32kb tape-loaded machines...) +- With ProDOS I can assume 64kb +prodos claims: +$bf00-$ffff - ProDOS +$9600-$bf00 - BASIC.SYSTEM - don't care? +$0100-$0800 - "other use or reserved" +$3A-$3F - used by disk routines, unsafe +$40-$4F - used by ProDOS but preserved, safe to use + +system bitmap: marks pages of memory as "not valid to allocate a file buffer" +- loader will have to protect memory that it will be moving game code to? + +https://prodos8.com/docs/techref/calls-to-the-mli/ +the existence of SET_BUF should mean we can load directly to the memory +we care about? orr I guess 512 bytes is housekeeping stuff (index block) + +16kb version - $0000-$4000 - no we need at least 32kb +there's basically only 5kb of code space for an hgr game? +$0000-$03ff 0kb-1kb - zp, stack, input buffer, DOS +$0400-$07ff 1kb-2kb - text page 1 +$0800-$0bff 2kb-3kb - text page 2 +$0c00-$1fff 3kb-8kb - free space +$2000-$4000 8kb-16kb - hgr gfx page 1 + Game: * level loading * Title screen