1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-07-07 08:28:57 +00:00
Commit Graph

987 Commits

Author SHA1 Message Date
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
29c972f4b8 Added hacky segue into analysis for all Electron formats. Added analyser to try to differentiate Acorn-format ROMs from other things called .rom, which are likely to be numerous. 2016-08-28 12:43:17 -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
82c8459055 Minor tidying of namespace usage declarations. 2016-08-27 17:18:12 -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
1aebb4ea03 Merge remote-tracking branch 'origin/master' into FasterLoading 2016-08-24 20:52:10 -04:00
Thomas Harte
2f470843e2 Update README.md
Extended discussion, fixed sentence structure.
2016-08-24 09:21:01 -04:00
Thomas Harte
b3ae582c76 Update README.md
Fixed number list.
2016-08-24 09:19:26 -04:00
Thomas Harte
f170991c78 Update README.md
Produced a more philosophical rewrite.
2016-08-24 09:18:35 -04:00
Thomas Harte
5ffd9e4f0d This is probably how the static analyser interface will look? 2016-08-23 21:35:59 -04:00
Thomas Harte
0d077691b0 Resolved warning. 2016-08-23 21:10:22 -04:00
Thomas Harte
dab3580111 Experimental: can I afford a lower sampling rate if there's a low-pass filter in effect? 2016-08-22 22:18:05 -04:00
Thomas Harte
f937e08c91 Merge pull request #47 from TomHarte/PALAudioFrequency
Corrects Vic audio output (i) in PAL mode; and (ii) generally as concerns all but the highest-frequency channel
2016-08-21 20:45:09 -04:00
Thomas Harte
1541273785 Moved responsibility for throwing in a low-pass filter up to the Vic, appropriately. 2016-08-21 18:13:31 -04:00
Thomas Harte
c783090980 It turns out that the Vic has a 1.6Khz low-pass filter. So added that. 2016-08-21 12:13:41 -04:00
Thomas Harte
8d839c5278 I think this is correct. And have explained why. 2016-08-20 16:54:43 -04:00
Thomas Harte
7c9455251d Fixed reload for the lower-frequency audio channels. 2016-08-19 17:34:01 -04:00
Thomas Harte
99157ad6b2 Ensured the 6560 knows its real audio clock on a PAL machine; removed some stray semicolons. 2016-08-19 13:35:34 -04:00
Thomas Harte
e985c72ce8 Removed a dead special case. 2016-08-19 12:23:06 -04:00
Thomas Harte
0cf3e25dd0 Merge pull request #46 from TomHarte/PRGTape
Adjusts non-ROM PRG loading to be via the tape interface
2016-08-19 12:20:11 -04:00
Thomas Harte
73ce67bee8 Added some documentation of the intention here. 2016-08-19 11:04:59 -04:00
Thomas Harte
4edd1214f1 This has now successfully loaded its first PRG-as-a-tape. 2016-08-19 10:58:42 -04:00
Thomas Harte
902c0f967a Implements known phase pattern for PAL output. 2016-08-17 08:09:48 -04:00
Thomas Harte
2935848f35 Adopted header/header/data/data pattern. But still not complete joy. 2016-08-17 08:03:34 -04:00
Thomas Harte
e5523dbbed This gets through loading the first(/only?) copy. I tried repeating it with a bit-flipped header, now I'm trying repeating the header with a different file type. More documentation searching to do, I guess. 2016-08-16 22:17:08 -04:00
Thomas Harte
1bca9aa2bb Fixed parity: now calculated from the actual byte and works the other way around. The Vic now believes it is loading the actual program. So I guess bytes, headers and the lead-in is working. 2016-08-16 21:41:09 -04:00
Thomas Harte
dfe9fb83ef This proves that bytes are being deposited properly. For the first 36 anyway, and with no announcement. 2016-08-16 21:09:50 -04:00
Thomas Harte
12f8aff65b Lengths I'd taken seem to have been for dipoles, not single poles. So I just doubled the clock rate. Also I was producing each dipole as high then low, when they should probably be low then high. The Vic now at least recognises that something is happening on the tape. 2016-08-16 19:46:53 -04:00
Thomas Harte
3a23d5d8cf Adjusted the check digit. 2016-08-15 22:44:36 -04:00
Thomas Harte
dbe47f3f45 I've obviously misunderstood something as, as far as I'm concerned, this should at least get me a 'LOADING'. 2016-08-15 22:40:05 -04:00
Thomas Harte
7994148f55 I'm starting to make a little headway, I think: this performs lead-ins and countdowns, though with no actual data or anything as helpful as that. 2016-08-15 22:10:53 -04:00
Thomas Harte
7e2b4554ea This likely forms the Commodore dipoles correctly. It just stays stuck in leader tone forever is all. 2016-08-15 20:08:50 -04:00
Thomas Harte
ca2dc6b6c4 Ensured ROMs survive in the new memory model. 2016-08-15 19:56:01 -04:00
Thomas Harte
38aec44d85 Made sufficient changes for the Vic itself to believe it can recast a PRG as a tape and insert it that way. So now the ball is in the court of: how the heck are Commodore tapes encoded? 2016-08-15 19:44:41 -04:00
Thomas Harte
3aa40212f3 Fixed minor documentation error; admitted that this class didn't invent the idea of a pulse. 2016-08-15 19:37:21 -04:00
Thomas Harte
e59301b416 Merge pull request #45 from TomHarte/MemoryModels
Vic: Adds support for expanded memory and PAL region machines.
2016-08-14 20:01:19 -04:00
Thomas Harte
547aefb696 Slightly adjusted PRG strategy, made a note about where next. 2016-08-14 16:36:42 -04:00
Thomas Harte
6079d30e58 Eliminated waiting here — either the buffer can be enqueued now or it is dropped. 2016-08-14 16:20:24 -04:00
Thomas Harte
48a00d9e05 ... which means that all files are now expected. 2016-08-14 14:24:03 -04:00