1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-12-26 09:29:45 +00:00
Commit Graph

34 Commits

Author SHA1 Message Date
Thomas Harte
6522a9a6c2 Pulled the strands together provisionally to complete Commodore ROM-format tape parsing. Things are going to get complicated if or when I need to tackle turbo loaders. 2016-09-07 07:34:48 -04:00
Thomas Harte
d66516fd62 Finished parser for data blocks. 2016-09-06 22:10:33 -04:00
Thomas Harte
bdebc18e0a Added a header parser for Commodore tapes. No time to grab file bodies now; time to go to work. 2016-09-06 08:49:32 -04:00
Thomas Harte
8901e94f0f Fixed: was counting between low->high transitions rather than vice versa by adding low time then checking. 2016-09-06 07:06:46 -04:00
Thomas Harte
149cbb327b Made something of a first attempt at a parser. Which is failing terribly. 2016-09-06 06:59:51 -04:00
Thomas Harte
8b933182af Added enough wiring (hopefully) that the Commodore tape's GetFiles should be called when appropriate. 2016-09-06 06:39:40 -04:00
Thomas Harte
cfe8251166 Further documented interface, fixed a potential parsing blockage. 2016-09-05 22:12:52 -04:00
Thomas Harte
963e307d0c Increased documentation. 2016-09-05 22:06:39 -04:00
Thomas Harte
05c24222d8 Liberated the tape parser template. 2016-09-05 20:02:35 -04:00
Thomas Harte
463b74301d Sought to reduce the amount of heap nonsense. 2016-09-05 19:59:58 -04:00
Thomas Harte
11850b872d Sought to emulate 0111 as a longer 0110 to test a particular HQ UEF. Some progress. Not great. 2016-09-05 18:28:43 -04:00
Thomas Harte
6239297212 Fixed off-by-one error on filename lengths and order-of-operations mistake preventing data CRC from being checked. 2016-09-05 18:15:15 -04:00
Thomas Harte
e25fee2332 I'm going back to believing in this test. 2016-09-05 17:55:40 -04:00
Thomas Harte
68874b6080 Fixed accidental implicit assumption that Acorn files will be at least two blocks. 2016-09-05 17:53:57 -04:00
Thomas Harte
93f5b5303e Factored out the stuff I expect to be common to this tape nonsense, started looking at the one currently-failing tape. More on the latter to do. 2016-09-05 17:17:52 -04:00
Thomas Harte
6f62803814 Resolved dropping of every other file. 2016-09-01 08:35:28 -04:00
Thomas Harte
21e5f407d8 I need to get a bit more definitive on naming but this gets all the way to setting a configuration upon an Electron. 2016-08-31 22:03:42 -04:00
Thomas Harte
9d7962d6c0 Closed the loop on Electron analysis for now. Including loading command detection. 2016-08-31 20:24:13 -04:00
Thomas Harte
d8c0da7ccb I think this should lead to a full representation of files on an Acorn tape, but subject to is_at_end working. 2016-08-31 19:57:09 -04:00
Thomas Harte
7b5d5858ff CRCs are just stored reversed. Of course. So this should be sufficient to load each chunk of an Acorn file. 2016-08-30 08:13:40 -04:00
Thomas Harte
b3521ed187 Started working towards capturing everything there is to know about a file. CRC calculation appears to be flawed somehow at the moment. 2016-08-30 07:38:08 -04:00
Thomas Harte
6218f05b8c This loads the name. That'll do for now. 2016-08-29 22:05:06 -04:00
Thomas Harte
963a479908 Made a quick first attempt at getting a file name from Acorn tape, failing terribly but at least formalising tapes being able to signal their end. 2016-08-29 21:53:06 -04:00
Thomas Harte
0032ad2634 Edging ever onwards; killed forced attempt at uniformity in targets, sketched out the interface for a next-file-from call to Acorn tapes. 2016-08-29 21:10:38 -04:00
Thomas Harte
d1abfc040c Addressed my dithering here: the file format containers themselves should do nothing but inspect the data to find out whether it is of the correct format. The machine steps are there for machine-specific validation. So it's probably easier to treat a binary ROM image just as a binary ROM image. Therefore, the Acorn-specific .rom detection is now in an Acorn-specific area. 2016-08-29 08:48:49 -04:00
Thomas Harte
d9f0065154 Sketched out just enough classes to get through the get-contents-into-memory step of static analysis. 2016-08-28 12:20:40 -04:00
Thomas Harte
24938326ac ROMs definitely have no behaviour other than responding to memory accesses. Cartridges might. So picked the more general term. Sketched out a class at least to parse PRG as though it were a cartridge. Hence the static analyser can guess at whether a PRG is a cartridge or an ordinary program. 2016-08-27 18:26:51 -04:00
Thomas Harte
a1b3a18d11 Started forcing a resolution on ROMs by doing. But have immediately misstepped. Rename coming momentarily... 2016-08-27 18:17:40 -04:00
Thomas Harte
56c0d70c1f Gave disks their own namespace. 2016-08-27 17:15:09 -04:00
Thomas Harte
c0402d0c2b Gave tapes their own namespace. 2016-08-27 17:09:45 -04:00
Thomas Harte
8c333059a8 Turning this into a slog: gave UEF a more appropriate name, got as far as now having to decide what to do about ROMs as to structure. I guess they're machine specific, so specific classes? 2016-08-27 16:40:21 -04:00
Thomas Harte
55ada536ac Added a test call, further mutated result structure. 2016-08-27 14:25:16 -04:00
Thomas Harte
e68ff64045 Actually, this is less prescriptive. 2016-08-27 13:42:51 -04:00
Thomas Harte
5ffd9e4f0d This is probably how the static analyser interface will look? 2016-08-23 21:35:59 -04:00