Commit Graph
26 Commits
Author SHA1 Message Date
Iván Izaguirre 5cbd4fc6dd board, screen and model none parameters 2026-10-06 21:34:11 +02:00
Iván Izaguirre 66b5cac559 Show the drives a file can be dropped on
A file dropped on the window went to drive 1 or drive 2 depending on the
half it landed on. There was no way to know beforehand which drive was
which or what each one had inserted, and no sign afterwards of where the
file went. The machines with two Disk II cards have four drives and only
the first two could be reached.

F8 now shows a screen with one area per removable media drive, each with
the name of its drive and the image it has inserted, or EMPTY, and the
same screen appears for a moment after a drop with the drive that got the
file marked. It is a text screen of 80 columns rendered the same way the
help is, so SnapshotMessageGenerator takes the number of columns now.

The drives register with a label and tell the media they have, so the
frontends ask the machine with GetRemovableMediaDrives instead of assuming
two. The name of the media is written by the emulation goroutine and read
by the frontends, hence the atomic access.

The new frontend/shared package holds what the frontends have in common
and the emulator library has no place for: the composition of the screen
and the mapping from a position to a drive.

a2sdl reads the position of the pointer on the desktop when the file is
dropped. The mouse motion events do not arrive while another application
drags a file, so the last known position was stale and the file could land
on the wrong drive.

a2sdl3 shows the areas while the file is being dragged over the window,
which is something only SDL3 reports.

a2ebiten had no drag and drop at all, although the help it shows said
otherwise. Ebitengine hides the paths of the files dropped, but it opens
the real files and the handle tells the path back, so the images are
loaded like on every other frontend, compressed files included.
2026-08-10 21:56:40 +02:00
Iván Izaguirre 4e0cf9167c Four screen modes, phosphor and scan lines apart
The screen modes mixed two independent things. Green, plain and NTSC read
as three points on one scale, but plain and NTSC are the same colour
rendering and differ in whether the gaps between the scan lines are drawn,
while green is a phosphor that happened to always get them.

They are now the four combinations of the two: ScreenModeGreen,
ScreenModeColor, ScreenModeGreenScanlines and ScreenModeColorScanlines,
built from a bit for each property. isColor and hasScanlines read them, so
each place says what it means, and NextScreenMode rotates through the four.

The old modes map onto the new ones exactly, green to green with scan lines,
plain to color, NTSC to color with scan lines, and the frontends are moved
over so nothing they show changes. The scenarios of the tests now cover all
four, and their images are renamed after the modes. The three that already
existed render byte for byte as they did.
2026-08-07 08:53:22 +02:00
Iván Izaguirre 17674029b6 Small fixes 2026-03-30 18:30:24 +02:00
Iván Izaguirre 84c71bbc4c go fix 1.26.0 2026-02-28 18:10:48 +01:00
Ivan Izaguirre fbecc320d2 Softer attenuation on the NTSC filter 2024-09-09 21:40:11 +02:00
Ivan Izaguirre 02bde9e795 Remove warnings 2024-09-09 21:39:22 +02:00
Iván Izaguirre 0598a8a393 some cleaning 2024-07-29 18:07:24 +02:00
Iván Izaguirre 1938b9072b Partial support for the Basis 108 clone 2024-07-28 22:37:48 +02:00
Iván Izaguirre 10f6c05e6d Help is uppercase when lowercase is not supported 2024-07-21 23:28:31 +02:00
Ivan Izaguirre 4b061a76ff Help info with F1 2024-02-13 23:39:25 +01:00
Ivan Izaguirre 5cf351f05c Reverse 6 colors mod 2024-02-08 20:24:37 +01:00
Ivan Izaguirre 36faa6e906 Original BrainBoard card 2024-01-27 17:21:54 +01:00
Iván Izaguirre 624374f344 Video 7 RGB doesn't have NTSC artifacts on the mixed mode text 2024-01-25 18:42:59 +01:00
Iván Izaguirre 0a1a619586 Configuration redone 2024-01-06 21:48:23 +01:00
Iván Izaguirre 695eaa603b Save GIFs on headless mode 2022-05-09 14:34:47 +02:00
Ivan Izaguirre cde673a552 Test boot process for all models 2022-02-21 23:05:53 +01:00
Ivan Izaguirre dfb8b1ffb2 Videx Videoterm 80 columns card support. Videx Soft Video Switch support 2021-03-14 18:46:52 +01:00
Iván Izaguirre 9d040fa58b Show alt text character map 2021-03-02 00:19:18 +01:00
Ivan Izaguirre e49bef397b Ctrl-F10 to show the current character map 2021-02-14 23:53:29 +01:00
Ivan Izaguirre c9bb9f2208 Update README.md 2020-11-03 18:41:10 +01:00
Ivan Izaguirre 6c4a4df730 Move frontends 2020-10-17 23:59:52 +02:00
Ivan Izaguirre 7329d4f042 Snapshot testing for screen rendering 2020-10-17 19:34:06 +02:00
Ivan Izaguirre 1a4a1507a5 Remove warnings 2020-10-17 13:42:31 +02:00
Ivan Izaguirre de7a1af593 Separate package for screen rendering 2020-10-17 13:31:42 +02:00
Ivan Izaguirre 083c19d2c2 Separate package for screen rendering 2020-10-17 13:31:42 +02:00