11#!/usr/bin/env python3
22# -*- coding: utf-8 -*-
33
4- import sys
5- from typing import List
64import argparse
75import os
86import re
7+ import sys
98
109CORE_MAJOR = 0
1110CORE_MINOR = 1
3029loading_HiCol : bytearray = bytearray (6144 + 6144 )
3130
3231hires_colour = 0
33- bigFile : bytearray = bytearray (1024 ** 3 )
32+ bigFile : bytearray = bytearray (1024 ** 3 )
3433
3534
3635class LoadingScreen :
@@ -70,7 +69,7 @@ def pad(b: bytes, n: int) -> bytes:
7069class Header :
7170 """ZX Next NEX header definition"""
7271
73- def __init__ (self ):
72+ def __init__ (self ) -> None :
7473 self .next : bytes = b"Next"
7574 self .version_number : bytes = b"V1.1"
7675 self .RAM_required = 0
@@ -80,7 +79,7 @@ def __init__(self):
8079 self .SP = 0
8180 self .PC = 0
8281 self .num_extra_files = 0
83- self .banks : List [int ] = [0 ] * 112
82+ self .banks : list [int ] = [0 ] * 112
8483 self .loading_bar = 0
8584 self .loading_color = 0
8685 self .loading_bank_delay = 0
@@ -141,7 +140,7 @@ def get_next_bank(bank: int) -> int:
141140 return [1 , 3 , 0 , 4 , 6 , 2 , 7 , 8 ][bank ]
142141
143142
144- def make_num (* nums ) -> int :
143+ def make_num (* nums : int ) -> int :
145144 result = 0
146145 acc = 1
147146
@@ -171,7 +170,7 @@ def parse_int(string: str) -> int:
171170 return int (string )
172171
173172
174- def add_file (fname : str , bank = None , address = None , * SNA_Bank ):
173+ def add_file (fname : str , bank : str | None = None , address : str | None = None , * SNA_Bank ) -> None :
175174 global current_bank , last_bank , current_address
176175
177176 if len (fname ) < 4 :
@@ -263,15 +262,15 @@ def get_palette_value(r: int, g: int, b: int) -> int:
263262
264263
265264def load_bmp (
266- filename ,
265+ filename : str ,
267266 use_8bit_palette : bool ,
268267 dont_save_palette : int ,
269- border = None ,
270- bar1 = None ,
271- bar2 = None ,
272- delay1 = None ,
273- delay2 = None ,
274- ):
268+ border : str | int | None = None ,
269+ bar1 : str | int | None = None ,
270+ bar2 : str | int | None = None ,
271+ delay1 : str | int | None = None ,
272+ delay2 : str | int | None = None ,
273+ ) -> None :
275274 global file_added , palette
276275
277276 with open (filename , "rb" ) as f :
@@ -321,7 +320,7 @@ def load_bmp(
321320 HEADER512 .loaded_delay = int (delay2 )
322321
323322
324- def load_scr (filename : str ):
323+ def load_scr (filename : str ) -> None :
325324 global file_added
326325
327326 try :
@@ -334,7 +333,7 @@ def load_scr(filename: str):
334333 print (f"Can't find file '{ filename } " )
335334
336335
337- def load_slr (filename : str ):
336+ def load_slr (filename : str ) -> None :
338337 global file_added , palette_LoRes
339338
340339 try :
@@ -369,7 +368,7 @@ def load_slr(filename: str):
369368 print (f"Can't find file '{ filename } " )
370369
371370
372- def load_shr (filename : str , hires_colour = None ):
371+ def load_shr (filename : str , hires_colour : str | int | None = None ) -> None :
373372 global loading_HiRes , file_added
374373
375374 try :
@@ -382,10 +381,10 @@ def load_shr(filename: str, hires_colour=None):
382381 HEADER512 .loading_screen |= LoadingScreen .HI_RES
383382 file_added = True
384383 if hires_colour is not None :
385- HEADER512 .hires_colour = int (hires_colour )
384+ HEADER512 .hi_res_colors = int (hires_colour )
386385
387386
388- def load_shc (filename : str ):
387+ def load_shc (filename : str ) -> None :
389388 global loading_HiCol , file_added
390389
391390 try :
@@ -398,7 +397,7 @@ def load_shc(filename: str):
398397 print (f"Can't find file '{ filename } " )
399398
400399
401- def set_entry_bank (bank ) :
400+ def set_entry_bank (bank : str | int ) -> None :
402401 global VERSION_DECIMAL
403402
404403 HEADER512 .entry_bank = int (bank )
@@ -408,7 +407,7 @@ def set_entry_bank(bank):
408407 print (f"Entry Bank={ HEADER512 .entry_bank } " )
409408
410409
411- def set_PCSP (PC , SP = None , entry_bank = None ):
410+ def set_PCSP (PC : str , SP : str | None = None , entry_bank : str | int | None = None ) -> None :
412411 global VERSION_DECIMAL
413412
414413 HEADER512 .PC = parse_int (PC )
@@ -422,26 +421,23 @@ def set_PCSP(PC, SP=None, entry_bank=None):
422421 set_entry_bank (entry_bank )
423422
424423
425- def load_mmu (filename : str , bank8k = None , address8k = None ):
424+ def load_mmu (filename : str , bank8k : str | int | None = None , address8k : str | None = None ) -> None :
426425 global current_bank , current_address
427426
428427 if bank8k is not None :
429428 bank8k = int (bank8k )
430429 current_bank = bank8k >> 1
431430
432431 if address8k is not None :
433- current_address = address8k = parse_int (address8k )
432+ current_address = parse_int (address8k )
434433 if bank8k != (current_bank << 1 ):
435434 current_address += 0x2000
436435
437- print (
438- f"File '{ filename } ' 8K bank { bank8k } , { '%04x' % address8k } "
439- f"(16K bank { current_bank } , { '%04x' % current_address } )"
440- )
436+ print (f"File '{ filename } ' 8K bank { bank8k } " f"(16K bank { current_bank } , { '%04x' % current_address } )" )
441437 add_file (filename )
442438
443439
444- def parse_file (fname : str ):
440+ def parse_file (fname : str ) -> None :
445441 global line_num , current_bank , current_address , hires_colour , VERSION_DECIMAL
446442
447443 line_num = 0
@@ -511,7 +507,7 @@ def parse_file(fname: str):
511507 set_entry_bank (line [5 :])
512508
513509
514- def generate_file (filename : str , ram_required : int = None ):
510+ def generate_file (filename : str , ram_required : int | None = None ) -> None :
515511 if last_bank <= - 1 and not file_added :
516512 return
517513
0 commit comments