Thomas Harte
|
2b053436e5
|
Missed from previous commit; removed assumption that get_next_data always succeeds.
|
2016-09-08 07:39:43 -04:00 |
|
Thomas Harte
|
54557d7f13
|
Added reminder, ensured the couldn't-find-data case doesn't cause a crash. Though it should imply some manual investigation.
|
2016-09-08 07:39:17 -04:00 |
|
Thomas Harte
|
50175a9aed
|
Added logic to try to spot when the first program is BASIC and, if so, what the correct memory model is, then to get that information to the Vic. Though it currently then gets overwritten by the view controller. Grrrr.
|
2016-09-07 22:17:19 -04:00 |
|
Thomas Harte
|
556b77f2fd
|
Added some TODOs, re-enabled master Acorn decision.
|
2016-09-07 07:39:47 -04:00 |
|
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 |
|