Compare commits

...

3 Commits

Author SHA1 Message Date
kris 4f6d7a796a Fix some numpy deprecation warnings 2023-01-17 12:26:25 +00:00
kris d603445862 Add basic installation instructions and requirements.txt 2023-01-17 12:26:00 +00:00
kris 45ce98d6ef Generate iivision.dbg file which is read by transcoder 2023-01-17 12:25:01 +00:00
7 changed files with 18162 additions and 5 deletions

View File

@ -48,6 +48,27 @@ I gave a talk about this at [KansasFest 2019](https://www.kansasfest.org/), see
TODO: link video once it is available.
## Installation
This currently requires python3.7 because some dependencies (e.g. weighted-levenshtein) don't compile with 3.9+, and 3.8
has a [bug](https://bugs.python.org/issue44439) in object pickling.
```
python3.7 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
```
To generate the data files required by the transcoder:
```
% python transcoder/make_data_tables.py
```
This takes about 3 hours on my machine.
TODO: download instructions
## Release Notes
### v0.2 (19 July 2019)

18120
player/iivision.dbg Normal file

File diff suppressed because one or more lines are too long

4
requirements-dev.txt Normal file
View File

@ -0,0 +1,4 @@
-r requirements.txt
py65==1.1.0
flake8==5.0.4
black==22.12.0

12
requirements.txt Normal file
View File

@ -0,0 +1,12 @@
audioread==3.0.0
colormath==3.0.0
etaprogress==1.1.1
librosa==0.9.2
networkx==2.6.3
numpy==1.21.6
Pillow==9.4.0
scikit-learn==1.0.2
scikit-video==1.1.11
scipy==1.7.3
soundfile==0.11.0
weighted-levenshtein==0.2.1

View File

@ -58,7 +58,7 @@ def compute_diff_matrix(pal: Type[palette.BasePalette]):
Specifically CIE2000 delta values for this palette.
"""
dm = np.ndarray(shape=(16, 16), dtype=np.int)
dm = np.ndarray(shape=(16, 16), dtype=np.int32)
for colour1, a in pal.RGB.items():
alab = colormath.color_conversions.convert_color(

View File

@ -39,7 +39,7 @@ X_Y_TO_PAGE = np.zeros((192, 40), dtype=np.uint8)
X_Y_TO_OFFSET = np.zeros((192, 40), dtype=np.uint8)
# Mask of which (page, offset) bytes represent screen holes
SCREEN_HOLES = np.full((32, 256), True, dtype=np.bool)
SCREEN_HOLES = np.full((32, 256), True, dtype=np.bool8)
# Dict mapping memory address to (page, y, x_byte) tuple
ADDR_TO_COORDS = {}
@ -417,7 +417,7 @@ class Bitmap:
this content byte.
"""
diff = np.ndarray((32, 256), dtype=np.int)
diff = np.ndarray((32, 256), dtype=np.int32)
offsets = self._byte_offsets(is_aux)

View File

@ -53,9 +53,9 @@ class Video:
)
# Accumulates pending edit weights across frames
self.update_priority = np.zeros((32, 256), dtype=np.int)
self.update_priority = np.zeros((32, 256), dtype=np.int32)
if self.mode == mode.DHGR:
self.aux_update_priority = np.zeros((32, 256), dtype=np.int)
self.aux_update_priority = np.zeros((32, 256), dtype=np.int32)
def tick(self, ticks: int) -> bool:
"""Keep track of when it is time for a new image frame."""