Thomas Harte
|
bdc6a5635f
|
Merge branch 'master' of github.com:TomHarte/CLK
|
2016-08-31 21:21:37 -04:00 |
|
Thomas Harte
|
a9b67dfba0
|
Introduced an NSDocumentController subclass.
|
2016-08-31 21:21:07 -04:00 |
|
Thomas Harte
|
7bc2b6b161
|
Added the minor piece that will allow analysis results to be obtained from Objective-C, and exposed to Swift in sufficient detail for it to be able to pass on to the machine.
|
2016-08-31 20:43:29 -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
|
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 |
|