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
Thomas Harte
e94e051c87
Adds an allocator for pixels.
2021-06-15 22:03:41 -04:00
Thomas Harte
5fc91effb5
Corrects top border.
2021-06-15 21:48:11 -04:00
Thomas Harte
6c9dacbe89
Stabilises display, albeit that top border mode now appears to be off.
2021-06-15 21:31:07 -04:00
Thomas Harte
6a7eb832cc
Introduces almost-stable block-level frame generation.
2021-06-15 20:55:58 -04:00
Thomas Harte
60cf8486bb
Makes a genuine attempt at real line counting.
...
No output yet though.
2021-06-15 18:57:14 -04:00
Thomas Harte
90b8163d54
Add exposition.
2021-06-15 17:44:39 -04:00
Thomas Harte
a1e4389f63
Give Nick some RAM to inspect and just enough sense to know when it should reload its line parameter table.
2021-06-15 17:43:13 -04:00
Thomas Harte
440b11708b
Adds an unused CRT.
2021-06-14 23:11:48 -04:00
Thomas Harte
f90dce5c54
Take a guess at Nick timing.
2021-06-14 22:56:26 -04:00
Thomas Harte
606c7709cf
Shims in enough to get the Z80 to run perpetually.
...
Notably I don't actually currently know how the interrupt registers work, but getting some sort of display running might be the first order of business.
2021-06-14 22:28:31 -04:00
Thomas Harte
1d1e6d1820
Adds a shell of a Nick.
2021-06-14 22:19:25 -04:00
Thomas Harte
3eb4dd74a2
Exposes memory control.
...
Machine now runs as far as trying to interact with Nick.
2021-06-14 21:45:12 -04:00
Thomas Harte
853914480c
Revised guess; there's a jump to C02E almost immediately.
2021-06-14 21:40:19 -04:00
Thomas Harte
2a2ac1227b
Makes first attempt at giving the Z80 something to do.
2021-06-14 21:29:56 -04:00
Thomas Harte
b5340c8f74
Correct syntax.
2021-06-14 21:17:35 -04:00
Thomas Harte
196c4dcdd9
Adds an appropriate ROM request.
2021-06-14 21:17:09 -04:00
Thomas Harte
c5a86f0ef7
Add Enterprise parts of the static analyser.
2021-06-14 21:11:06 -04:00
Thomas Harte
5f7b3ae313
Adds bare minimum to get a non-functional machine.
2021-06-14 21:02:40 -04:00
Thomas Harte
61c127ed2e
Adds Enterprise as a File -> New... machine.
...
And, similarly, exposes it for the route used by SDL.
2021-06-14 20:55:39 -04:00
Thomas Harte
1ea4130035
Avoid OpenGL restretching bug.
2021-06-13 19:46:47 -04:00
Thomas Harte
d18a537509
Fiddles with the preprocessor to make kiosk mode match other OSes even on macOS.
2021-06-13 19:28:05 -04:00
Thomas Harte
778b9ef683
Ensures set_square_pixels is exposed, works around OpenGL aspect ratio bug.
2021-06-07 20:41:02 -04:00