mirror of
https://github.com/KrisKennaway/ii-vision.git
synced 2024-06-17 12:29:31 +00:00
Compare commits
3 Commits
a885ec1305
...
4f6d7a796a
Author | SHA1 | Date | |
---|---|---|---|
|
4f6d7a796a | ||
|
d603445862 | ||
|
45ce98d6ef |
21
README.md
21
README.md
|
@ -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.
|
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
|
## Release Notes
|
||||||
|
|
||||||
### v0.2 (19 July 2019)
|
### v0.2 (19 July 2019)
|
||||||
|
|
18120
player/iivision.dbg
Normal file
18120
player/iivision.dbg
Normal file
File diff suppressed because one or more lines are too long
4
requirements-dev.txt
Normal file
4
requirements-dev.txt
Normal 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
12
requirements.txt
Normal 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
|
|
@ -58,7 +58,7 @@ def compute_diff_matrix(pal: Type[palette.BasePalette]):
|
||||||
|
|
||||||
Specifically CIE2000 delta values for this palette.
|
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():
|
for colour1, a in pal.RGB.items():
|
||||||
alab = colormath.color_conversions.convert_color(
|
alab = colormath.color_conversions.convert_color(
|
||||||
|
|
|
@ -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)
|
X_Y_TO_OFFSET = np.zeros((192, 40), dtype=np.uint8)
|
||||||
|
|
||||||
# Mask of which (page, offset) bytes represent screen holes
|
# 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
|
# Dict mapping memory address to (page, y, x_byte) tuple
|
||||||
ADDR_TO_COORDS = {}
|
ADDR_TO_COORDS = {}
|
||||||
|
@ -417,7 +417,7 @@ class Bitmap:
|
||||||
this content byte.
|
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)
|
offsets = self._byte_offsets(is_aux)
|
||||||
|
|
||||||
|
|
|
@ -53,9 +53,9 @@ class Video:
|
||||||
)
|
)
|
||||||
|
|
||||||
# Accumulates pending edit weights across frames
|
# 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:
|
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:
|
def tick(self, ticks: int) -> bool:
|
||||||
"""Keep track of when it is time for a new image frame."""
|
"""Keep track of when it is time for a new image frame."""
|
||||||
|
|
Loading…
Reference in New Issue
Block a user