Skip to content

Commit 24a10a8

Browse files
authored
Merge pull request #8 from kg68k/feat/compressdata
feat: Compress data even if the data size is unknown.
2 parents 5dbd0f5 + 9ce8d40 commit 24a10a8

4 files changed

Lines changed: 11 additions & 2 deletions

File tree

CHANGELOG.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
# 変更履歴
22

3-
## Unreleased
3+
## 5.1.0 (2025-12-22)
44

55
* Human68k版(dis.x)で使用法の表示が文字化けしないように対策。
6+
* オプション`-W`によるデータ圧縮について、データサイズが不明な場合は
7+
バイトサイズとして圧縮を行うようにした。
68

79

810
## 5.0.0 (2025-12-06)

docs/README.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -697,6 +697,8 @@ dis_header
697697
より圧縮して出力されますが、一定のサイズより小さい領域は例え同一値であって
698698
も圧縮されません。このオプションでそのサイズの閾値を変更できます。
699699

700+
 なおデータの値が0であれば、.dcb.? ではなく .ds.? で出力されます。
701+
700702
--a7
701703
 a7 レジスタを 'a7' と表記する(デフォルト)。
702704

src/generate.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -732,6 +732,11 @@ static void dataout(address pc, ULONG bytes, opesize size) {
732732
}
733733
}
734734

735+
// サイズ不明の場合はバイト単位として圧縮を試みる
736+
// 圧縮する利点はある(領域のサイズが分かりやすくなる、出力ソースコードのファイルサイズ削減)
737+
// のに対し、する場合の欠点やしない利点というのが特にないため。
738+
if (size == UNKNOWN) size = BYTESIZE;
739+
735740
// BYTESIZEの場合
736741
canCompress = TRUE;
737742
bytesPerUnit = 1;

src/version.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121

2222
#include "version.h"
2323

24-
#define VERSION "5.0.1-dev"
24+
#define VERSION "5.1.0"
2525

2626
const char ProgramAndVersion[] = "dis version " VERSION;
2727

0 commit comments

Comments
 (0)