-
Notifications
You must be signed in to change notification settings - Fork 13
/
changelog
161 lines (151 loc) · 7.55 KB
/
changelog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
v0.2:
- shrunk drivecode size
- serial transfer back at 74 cycles / byte
- fixed sporadic data corruption while loading
- to allow more variance in rotation speed of disc
v0.3:
- further shrunk drive- and resident code
- added 40 track support
- removed intermittent stepping for now as it caused some problems
- NTSC support via config (no autodetect yet)
- removed depack offset feature, too bloated
v0.4:
- waste more cycles when uploading code, here it's a good thing :-)
- added load_next functionality
- added all config params to config.inc, also addresses and so on
- added signalling for first block to be transferred, so less painfull and
smaller code
- added ntsc autodetection and modify code in case
- resident part is now copied by installer, no further manual copy action
needed. Calling bitfire_install_ is now sufficient.
- added a basic framework with load/load_next hooks that can be called safely
without being overwritten, including macros for linking
- initial detection code for sid/cia type with globally available flags
- offloaded blockmap handling and barriers to diskdrive (saves a fair amount
of space on the resident part!)
- further drivecode cleanup and thus saving bytes
- track now checked via header checksum, no explicit checks needed anymore
- bitnax allows now to reference preceeding data that is split/cut off with
--cut-load-addr. This makes files smaller, but preceeding data must be loaded
and depacked beforehand. --full-dict is introduced as switch for that.
v0.5:
- overlap is calculated on a new basis and thus lower
- depack can be done completely in place with zero overlap. This is the new
default. Switch back to old behaviour, but tighter margins with --overlap when using bitnax
- d64write spits out blocks free
- fix assert bug (bailed out with false alarm) on files with huge literals
- fix compilation error with resident.asm when NMI_GAPS are used without
framework
- clean up errors and added warnings on lz.c, and added possibility to exit on
warnings (good if build output is too messy to spot the warnings)
- more documentation
v0.6:
- fix broken NTSC ;_; the indexed opcodes changed from ,x to ,y and an extra nop cured
many things
- shrink resident code size, after we have bloated it with in place depacking
- standalone loader size now $7b bytes \o/
- faster init
- get rid of inversion during sending of data (filename/init)
- allow for an even wider rpm variance when reading a sector/header
- fixed packer. With a given --load-addr and zero overlap option, the last
literal was not copied. It is now included into the stream in that case, and
it is taken care that the file ends with a 257 byte match to signal EOF. Also
needed a fix in the depacker that slows it down :-(
- motor spin up time: relying on checksums is not enough there, in very rare
cases we happen to load junk despite all the checksumming. What a bother! Now
loading arbitrary blocks on spin up until there's success.
- shrink drivecode size after those additions
- testsuite now included
- fixed code upload/reset_drive
- even faster init
- fixed decomp under IO issues and issues with loading of remaining literal
blobs > 255 bytes
- improved depacker speed a bit after other fixes slowed it down and bloat
resident size again up to the max by that, dammit! :-D
- fixed different $01 values depending on hw-detection
- added resident_minimal_zp.asm a minimal version residing in zeropage. Could
be squeezed down to $6a bytes. Useful?
- added --relocate-to addr switch to pack files as if loaded with an
alternative load-address (also helps with --binfile)
- give notice if more then 1 drive is on bus to avoid injuries and pebcak
- switch to 2MHz mode where possible on 1571 especially during transfer to
be on the safe side
v0.7
- add also sln and vcproj files for bitnax
- possibility to choose between NMI and raster IRQ for baseirq
- add possibility for buslock to allow arbitary $dd00 writes when loader is
idle, and add macros for that (bus_lock, bus_unlock $bank)
- fix spin up handling of read dummy sectors (might have been skipped under
some circumstances)
v1.0-alpha
- rewrite of many parts
- reduced dir-entries to 4 byte, only two dir-sectors are needed max
- add on the fly gcr-decoding and checksumming
- 72 cycles transfer loop
- use each sector to 100%, no zeropadded last blcoks of file \o/
- standard files can be linked to certain lines of dir-art
- dir-art now also sets blocksize, filetype and locked status of files
- more sanity checks during disk read
- loading of file number $ff now resets drive, $f0-$fe for requesting disc-sides
- 63 dir-entries per dir-sector
- sfx.asm can now be adopted and is integrated into bitnax/zx0 at compile time
- bus_lock feature improved
- an ATN-responder is uploaded to all remaining drives, so they can stay turned on
- loader is started from current drive ($ba)
- added and adopted zx0 by Einar Saukas as new standard packer/depacker, tiny files, fast depack \o/
v1.0
- new dir structure
- wait 4s until motor spin down
- NTSC works again
- amount of free blocks in d64 can be manipulated with d64write --free, play at your own risk, as it corrupts the BAM somewhat
- fixed barrier bug
- minor speedup
- slow down stepping to make it work with some ALPS and Sankyo-mechanics
- tested on 1541U-II, UK1541, 1541-II (Sankyo, JPN, Mitsumi), 1541 & 1541C (Mitsumi, ALPS)
- works okay on 287-312 rpm on all speedzones
- error logging
- saved space on gcr-tables by combining bit 0 and 2 in one partition
- shrink drivecode
- dali (salvador) as the new packer in the place to be
- speedup of depacker
- smaller depacker code
- reduced code in the resident part
- reworking sfx code
- more sfx options
v1.1
- faster decompressor
- reworked preamble-xfer
- loadraw: ~22% faster than with v0.7
- loadcomp: ~14% faster than with v0.7
- decomp: ~20% faster than with v0.7
- pack ratio: ~5,5% smaller than bitnax
- add --prefix-from to dali
- add --prefix-file to dali
v1.2
- dali compiles on more targets now (ARM64), also Windows-executables are possible
- dali now supports --exit_on_warn
- added proper depack-example to dali
- dali sfx can be relocated to any address (upon feature request by comos)
- fixed bug in fast dali sfx
- 3.5% faster decompressor
- fixed bug, inplace decompression would miss loading sectors if final literal is > than 1 sector/crosses 2 sectors or more
- turn disk is a simple loadraw with file# $fx now that returns when done
- fixed nasty bitrate bug in drivecode that would sometimes choose wrong bitrate on slowest speed zone and bring timing to its edge
- finally fixed and changed buslock-technique so that it also works with THCM's SX64 - broken since introduced in 0.7 /o\
- saved huge amount of bytes
- changed layout of dir-sector
- use free memory for proper caching of first/last sector, thanks to $0262 bytes free for cache and dir
- improve loadraw performance by more than 5%
- sending data between halfsteps seemed to cause problems on my longboard 1541, moved it to the end of stepping when settle time for the stepper is due
- fixed bug with uninitialized d64 in d64write
- added .c (petscii editor by marq) and .png support for dirart (save without border!)
- bootfile can be linked to a single line of dirart (had bugs, fixed now)
- variable interleave per speedzone
- dirart can be loaded raw, use at your own risk
- files can be skipped when using load_next mechanism with a skip_file macro
- filenumbers are shown for bitfire files in the summary
- avoid linking standard or bootfile to other filetypes than prg
- fixed optimal load address on dali when using --no-inplace option
v1.3
shorter resident part
move from libpng to stb_image.h for less dependecies like on cygwin