Narco Police fell too

tapclean -extvisipatch -o NARCO_POLICE.TAP
[...]

GENERAL INFO AND TEST RESULTS

TAP Name    : clean.NARCO_POLICE.tap
TAP Size    : 1659156 bytes (1620 kB)
TAP Version : 1
Recognized  : 100%
Data Files  : 1443
Pauses      : 19
Gaps        : 0
Magic CRC32 : 6E6B1395
TAP Time    : 12:43.14
Bootable    : YES (1 part, name: NARCO POLICE)
Loader ID   : Visiload T1

Overall Result    : PASS

Header test       : PASS [Sig: OK] [Ver: OK] [Siz: OK]
Recognition test  : PASS [1659136 of 1659136 bytes accounted for] [100%]
Checksum test     : PASS [4 of 4 checksummed files OK]
Read test         : PASS [0 Errors]
Optimization test : PASS [1443 of 1443 files OK]

Saved: tcreport.txt
Operation completed in 00:00:39.

This wasn’t too complicate to resolve. It is just that Narco Police loads data in stages and after one stage is completed, load parameters are reset to their defaults (in fact, the whole loader is overwritten with a freshly loaded copy).

As example, after loading the intro screen and upon pressing the fire button, the code does some cleanup at $1AAD, relocates the loader at $1B11, also overwriting the vector at $0300 (Print BASIC Error Message). The freshly relocated loader then executes starting at $0378, through the above mentioned vector.

For backward compatibility, TAPClean is being tested with all known Visiload T1 tapes, in order to make sure that the patch only affects Narco Police.

About Luigi Di Fraia

I am a Senior DevOps Engineer so I get to work with the latest technologies and open-source software. However, in my private time I enjoy retro-computing.
This entry was posted in Retrocomputing and tagged , , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s