Thomas Harte
|
3e6b804896
|
Switches to linked 1/50/1000 Hz timers, and per-interrupt state toggling.
|
2021-07-06 20:12:44 -04:00 |
|
Thomas Harte
|
c20e8f4062
|
Honours 8/12Mhz selection in non-video delays.
|
2021-07-03 23:05:09 -04:00 |
|
Thomas Harte
|
4add48cffb
|
Obey Dave's 8/12MHz programmable divider.
|
2021-07-03 22:43:20 -04:00 |
|
Thomas Harte
|
43ceca8711
|
Use type alias.
|
2021-07-03 19:10:39 -04:00 |
|
Thomas Harte
|
3ef28a4f03
|
Remove unused instance variable.
|
2021-07-03 19:10:29 -04:00 |
|
Thomas Harte
|
5715c9183f
|
The target is now definitely used.
|
2021-07-03 15:20:37 -04:00 |
|
Thomas Harte
|
196651d9aa
|
Consolidates TODO.
|
2021-07-03 13:08:53 -04:00 |
|
Thomas Harte
|
6b46212a4e
|
Deal with dangling TODO.
|
2021-07-03 13:07:41 -04:00 |
|
Thomas Harte
|
2a6fff2008
|
Takes a stab at what might happen if you read from Nick.
|
2021-07-03 13:06:07 -04:00 |
|
Thomas Harte
|
c5944efe50
|
Adds various method definitions.
|
2021-07-03 12:56:56 -04:00 |
|
Thomas Harte
|
f384370b18
|
Switch what's left of Enterprise logging to actual LOGs.
|
2021-07-03 12:50:46 -04:00 |
|
Thomas Harte
|
278671cdb9
|
Correct Nick interrupt prediction.
|
2021-07-03 00:05:13 -04:00 |
|
Thomas Harte
|
964d2d4fa4
|
Be consistent in expression of logic.
|
2021-07-03 00:00:00 -04:00 |
|
Thomas Harte
|
283092cfbc
|
With a unit test in aid, corrects some lingering TimedInterruptSource issues.
|
2021-07-02 23:41:19 -04:00 |
|
Thomas Harte
|
614953a222
|
Allows the low-pass filter to react to high-pass effects.
|
2021-07-02 22:36:35 -04:00 |
|
Thomas Harte
|
4fffb3cf19
|
Allow that final Z80 cycle to start anywhere in the first three of Nick's window of six.
|
2021-07-02 22:29:35 -04:00 |
|
Thomas Harte
|
d715e5fd1d
|
Expose composite/RGB option in Qt.
|
2021-07-02 21:51:48 -04:00 |
|
Thomas Harte
|
7826a26c7b
|
Adds Enterprise composite video option.
While enabling more pixels on the left for RGB mode.
|
2021-07-02 21:42:09 -04:00 |
|
Thomas Harte
|
763b9ba0ec
|
Ensure the splash screen is skipped for self-booting disks.
|
2021-07-02 21:11:54 -04:00 |
|
Thomas Harte
|
51d98ef9ab
|
Add missing stddef header where size_t is used.
|
2021-07-01 23:15:32 -04:00 |
|
Thomas Harte
|
742d44a532
|
Switch to an activity-based typing trigger; add a target loading command.
|
2021-07-01 22:53:23 -04:00 |
|
Thomas Harte
|
52b96db2b9
|
Correct syntax, mapping and inter-key timing.
|
2021-07-01 21:18:15 -04:00 |
|
Thomas Harte
|
0b9de78c38
|
Add typer support for the Enterprise.
|
2021-07-01 21:05:03 -04:00 |
|
Thomas Harte
|
1c424833a9
|
Correct EXDOS ROM name.
|
2021-06-29 21:04:53 -04:00 |
|
Thomas Harte
|
3d8fc9952d
|
Remove dead TODO, correct for overflow position.
|
2021-06-29 15:44:02 -04:00 |
|
Thomas Harte
|
8ce8fbd977
|
Provide correct input when one of the tone generators is the interrupt source.
|
2021-06-29 15:41:08 -04:00 |
|
Thomas Harte
|
7f08218b28
|
The Nick interrupt input also seems to be a live poll, not a retrieval of the mask.
This corrects the two pieces of software I knew not to be working.
|
2021-06-28 22:10:11 -04:00 |
|
Thomas Harte
|
2c139ad931
|
Adds some notes to self.
I think I'm starting to find enough information to handle tapes.
|
2021-06-28 22:03:06 -04:00 |
|
Thomas Harte
|
1119779c8b
|
Ensure EXDOS card is completely disabled if no FDC is present.
|
2021-06-28 21:47:53 -04:00 |
|
Thomas Harte
|
5351ac560f
|
Ensure the motor goes off for unselected drives.
|
2021-06-28 21:40:12 -04:00 |
|
Thomas Harte
|
49f0ab0f15
|
Add note to self.
Although I still think there may be some issue lurking.
|
2021-06-28 21:31:55 -04:00 |
|
Thomas Harte
|
a5c57e777e
|
VRES appears to work negatively in attribute mode too.
|
2021-06-28 21:24:13 -04:00 |
|
Thomas Harte
|
3c59042388
|
Fixes initial state for 1kHz.
|
2021-06-28 21:08:41 -04:00 |
|
Thomas Harte
|
919e211bc4
|
Reduces number of interrupt-related sequence points.
|
2021-06-28 19:30:12 -04:00 |
|
Thomas Harte
|
daa0737ce4
|
Ensure addresses tick upwards even during sync/burst; correct 2/4/8bpp character sizing.
|
2021-06-28 19:00:51 -04:00 |
|
Thomas Harte
|
36805cb120
|
Correct tone channel interrupts, remove dead warning.
|
2021-06-27 23:21:00 -04:00 |
|
Thomas Harte
|
7de69e9874
|
Makes an attempt to round out the timed interrupts.
|
2021-06-27 23:09:11 -04:00 |
|
Thomas Harte
|
b93575bbcc
|
Spots that b0 and b2 of 0xb4 are 'dividers', not enables.
|
2021-06-27 22:33:20 -04:00 |
|
Thomas Harte
|
116e0f0105
|
Interupts 1kHz and 50Hz interrupts, while edging towards tone generator interrupts.
|
2021-06-27 22:08:38 -04:00 |
|
Thomas Harte
|
e4a650aaff
|
Implements the 1Hz interrupt.
|
2021-06-27 21:47:21 -04:00 |
|
Thomas Harte
|
b5312b9ba0
|
get_interrupt_line can be const.
|
2021-06-27 21:37:11 -04:00 |
|
Thomas Harte
|
6afee7bb9b
|
Captures appropriate fields.
No action yet.
|
2021-06-27 21:36:55 -04:00 |
|
Thomas Harte
|
2f53b105bb
|
The Enterprise is now an Activity::Source; also sketches out the owner of Dave's timed interrupt logic.
|
2021-06-27 21:02:04 -04:00 |
|
Thomas Harte
|
be19fa9dde
|
This mapping needs to know where it will occur.
|
2021-06-27 17:30:09 -04:00 |
|
Thomas Harte
|
81e9ba5608
|
This is correct from the Enterprise's side of things, I think.
I just need to complete the missing part of JustInTimeActor. After I do some empirical testing of this.
|
2021-06-27 17:24:21 -04:00 |
|
Thomas Harte
|
f2d7b9f6a9
|
Apply a crop, allow time until Z80 slot to be a future-based query.
|
2021-06-27 17:13:07 -04:00 |
|
Thomas Harte
|
1ea034310a
|
Edge up very close to video waits.
I just need to implement back conversions that include marginal phase over in the JustInTimeActor.
|
2021-06-27 16:28:01 -04:00 |
|
Thomas Harte
|
10bf6744aa
|
Correct typo.
|
2021-06-27 16:26:55 -04:00 |
|
Thomas Harte
|
895d98e266
|
Implements out-of-video-area pauses.
|
2021-06-27 16:11:22 -04:00 |
|
Thomas Harte
|
903e343895
|
Attempts to complete Dave's audio duties.
|
2021-06-27 14:06:49 -04:00 |
|
Thomas Harte
|
f8b7c59616
|
Corrects tone frequency.
|
2021-06-26 23:51:43 -04:00 |
|
Thomas Harte
|
fcd267a3f9
|
Starts implementing noise.
|
2021-06-26 23:48:53 -04:00 |
|
Thomas Harte
|
f8bb66d2a0
|
Attempts an essentially-complete implementation of tone channels.
|
2021-06-26 23:39:59 -04:00 |
|
Thomas Harte
|
f2336d2efc
|
I think reloads occur after overflow, not before.
|
2021-06-26 23:16:00 -04:00 |
|
Thomas Harte
|
c2d093fa3c
|
Respect user volume input.
Basic tones are now present. Neato!
|
2021-06-24 22:27:02 -04:00 |
|
Thomas Harte
|
1a97cc8a91
|
Start making some effort towards audio generation.
|
2021-06-24 22:21:01 -04:00 |
|
Thomas Harte
|
c34a548fa0
|
Ensure character pixel reads can't go out of bounds.
|
2021-06-24 22:19:50 -04:00 |
|
Thomas Harte
|
520c3c9218
|
Corrects colour deserialisation.
Long story short: the documentation I'm reading inexplicably lists the bits in reverse order. Luckily, a lot of the other documentation doesn't.
|
2021-06-24 20:59:04 -04:00 |
|
Thomas Harte
|
9230cf1726
|
Corrects bug when left_ or right_margin_ = 0.
|
2021-06-24 20:28:50 -04:00 |
|
Thomas Harte
|
6e616972a5
|
Better binds margin tests to window movements; simplifies line parameter addressing.
|
2021-06-24 18:55:15 -04:00 |
|
Thomas Harte
|
f98888824d
|
Switches to an overt active/inactive state machine.
|
2021-06-24 18:34:21 -04:00 |
|
Thomas Harte
|
6c8b23e708
|
Alters 4bpp mapping; adds character mode 4bpp and 8bpp.
|
2021-06-23 19:35:47 -04:00 |
|
Thomas Harte
|
2c2bb3765f
|
Withdraws the EPDOS option.
At least for now; it's something to worry about later.
|
2021-06-23 19:32:34 -04:00 |
|
Thomas Harte
|
0d165740ea
|
Honours memory size request.
|
2021-06-22 21:48:55 -04:00 |
|
Thomas Harte
|
8319aca351
|
Correct syntax errors.
|
2021-06-22 20:50:03 -04:00 |
|
Thomas Harte
|
a66734883a
|
Starts sketching out Dave.
|
2021-06-22 19:33:41 -04:00 |
|
Thomas Harte
|
e062780968
|
Extends back to 128kb and stops halting on unrecognised ports.
|
2021-06-22 06:15:42 -04:00 |
|
Thomas Harte
|
3acd0be1f7
|
Copy and paste 2bpp character support.
|
2021-06-21 23:27:13 -04:00 |
|
Thomas Harte
|
c1678d7be7
|
Corrects exposition and transmission of drive selection.
What a klutz I've been.
|
2021-06-21 22:56:25 -04:00 |
|
Thomas Harte
|
117f9a9794
|
Adds notes on intended meaning of status register.
|
2021-06-21 07:31:58 -04:00 |
|
Thomas Harte
|
b49cc407c6
|
Adds some guesses as to the EXDos expansion.
... with plenty left to do.
|
2021-06-20 22:30:27 -04:00 |
|
Thomas Harte
|
954386f1cc
|
Creates a shell for the disk-drive add-on card.
|
2021-06-20 20:50:23 -04:00 |
|
Thomas Harte
|
d7ff6bd04d
|
Adds necessary declarations to install a DOS ROM.
|
2021-06-20 20:30:54 -04:00 |
|
Thomas Harte
|
6025516f9f
|
Ensure addresses increment even when there's no target for pixels.
|
2021-06-20 14:31:02 -04:00 |
|
Thomas Harte
|
d8b9cdf7a2
|
Correct multiplier.
|
2021-06-20 14:25:37 -04:00 |
|
Thomas Harte
|
09dbff39f2
|
Also map keypad to F keys.
This is a pragmatic and arguably Apple-centric decision. But also it's fairly arbitrary, as the Enterprise doesn't have a number pad.
|
2021-06-20 14:25:28 -04:00 |
|
Thomas Harte
|
2fe15a6168
|
Switch to idealised Nick clock rate.
|
2021-06-20 14:21:56 -04:00 |
|
Thomas Harte
|
07dc26f8fa
|
Adds TODO to resolve screen jumping.
|
2021-06-19 23:41:29 -04:00 |
|
Thomas Harte
|
0e1e8c7faa
|
Attempts to support the panoply of EXOS and BASIC versions.
|
2021-06-19 22:59:09 -04:00 |
|
Thomas Harte
|
42a98e1676
|
Fix composition with empty nodes.
|
2021-06-19 22:13:17 -04:00 |
|
Thomas Harte
|
23e26e0333
|
Attempts to complete handling of VRES.
|
2021-06-19 22:00:19 -04:00 |
|
Thomas Harte
|
fadb04f3f3
|
Attempts to implement LSBALT and MSBALT.
|
2021-06-19 21:57:26 -04:00 |
|
Thomas Harte
|
4968ccf46d
|
Corrects attributed mode.
|
2021-06-19 13:08:14 -04:00 |
|
Thomas Harte
|
1dcac304d3
|
Implements the ALTIND bits and attempts ATTR mode.
|
2021-06-19 13:04:18 -04:00 |
|
Thomas Harte
|
1651efe4fc
|
Ensures all keys are initially unpressed.
|
2021-06-19 13:03:31 -04:00 |
|
Thomas Harte
|
8f24aed43e
|
Slightly reduces logging.
|
2021-06-18 23:17:44 -04:00 |
|
Thomas Harte
|
a381374e31
|
Drops back down to 64kb.
|
2021-06-18 23:14:44 -04:00 |
|
Thomas Harte
|
9411c37d23
|
Fleshes out the keyboard map.
|
2021-06-18 23:14:35 -04:00 |
|
Thomas Harte
|
6af6f21868
|
Attempts to implement interrupt latches and clears.
|
2021-06-18 22:59:41 -04:00 |
|
Thomas Harte
|
9a0022cfcb
|
Removes temporary work.
|
2021-06-18 18:44:07 -04:00 |
|
Thomas Harte
|
fbf1adef05
|
Introduces unit test and thereby seemingly fixes get_next_sequence_point.
There's still improper output in the actual machine though, so maybe something else is afoot?
|
2021-06-18 17:44:17 -04:00 |
|
Thomas Harte
|
311ddfb05a
|
Add note to self for tomorrow.
|
2021-06-17 22:34:52 -04:00 |
|
Thomas Harte
|
2fd8a8aa66
|
Begins addition of interrupt feedback from Nick.
Also fixes clock rate. Though clearly get_next_sequence_point isn't quite right yet.
|
2021-06-17 22:30:24 -04:00 |
|
Thomas Harte
|
0c3e9dca28
|
Adds some basic keyboard inputs.
I think the next thing required is interrupts though.
|
2021-06-17 20:47:56 -04:00 |
|
Thomas Harte
|
c331d15429
|
Makes space to allow for 64kb EXOS ROMs.
I think some of the later ROMs have a more thorough memory test, which might provide better detail on whatever's going on here.
|
2021-06-16 22:25:00 -04:00 |
|
Thomas Harte
|
4414e96710
|
Adds enough text mode for now.
Discovered: a memory fault is being reported at startup.
|
2021-06-16 21:42:20 -04:00 |
|
Thomas Harte
|
7161783a4f
|
Adds lpixel output.
|
2021-06-16 21:16:26 -04:00 |
|
Thomas Harte
|
cbac48da86
|
Attempts full run at pixel mode.
|
2021-06-16 20:43:22 -04:00 |
|
Thomas Harte
|
d9142d5427
|
Adjusts declared scale, accurately to communicate pixel clock.
|
2021-06-15 22:39:44 -04:00 |
|
Thomas Harte
|
e5e988b28f
|
Adds an incorrect assumed-pixel-mode serialiser.
This actually shows something a bit like the Enterprise boot logo.
|
2021-06-15 22:31:50 -04:00 |
|