joevt
9cefaec49c
atirage: Spelling.
2024-03-02 20:44:39 -07:00
joevt
55b79c1518
atirage: Use register bit field names.
2024-03-02 20:44:08 -07:00
joevt
c2ab86d4ba
atirage: Do something for hw cursor invert pixels.
...
Try a 50% alpha blend with black.
2024-03-02 20:43:54 -07:00
joevt
0e5fcde1e9
atirage: Add CUR_HORZ_VERT_OFF name.
2024-03-02 17:27:45 -07:00
joevt
002cce886c
atirage: Indent.
2024-03-02 17:15:39 -07:00
joevt
151ea2ece4
atimach64defs: Add register bit fields.
2024-03-02 17:15:25 -07:00
joevt
568882a2ea
atimach64defs: Sort addresses in descending order.
2024-03-02 17:14:59 -07:00
joevt
f38d6d73f4
atimach64defs: Add more device IDs.
2024-03-02 17:08:31 -07:00
joevt
569893861d
heathrow: Don't set lat_timer.
...
It will be set by firmware.
2024-03-02 16:42:49 -07:00
joevt
e81ac6f61e
Add PERCH slot.
...
So you can connect a USB controller or whatever to it.
2024-03-02 16:02:19 -07:00
joevt
1e78512c95
Rename Curio and Mesh.
2024-03-02 11:12:45 -07:00
joevt
1b147151f0
videoctrl: Rename get_palette_color.
...
So it matches set_palette_color.
2024-03-02 08:59:02 -07:00
joevt
ad8a26616f
scsidevice: Add LUN field.
...
This may make it possible for multiple LUNs to be added to the same target ID.
For now just use LUN #0 .
2024-03-02 08:52:09 -07:00
joevt
8f28823217
scsi: Initialize cur_phase.
2024-03-02 08:51:45 -07:00
joevt
b509df78df
Don't allow vert_blank to be 0.
2024-03-02 08:37:44 -07:00
joevt
5876cc7e17
bandit: Fix indent.
2024-03-02 08:09:42 -07:00
joevt
15e132c824
cmake: Add header files in CMakeLists.txt.
...
So they will appear in Xcode project.
mkdir -p dingusppc/build-xcode
cd dingusppc/build-xcode
cmake -G Xcode ..
xcodebuild -configuration Release
2024-03-01 19:41:43 -07:00
joevt
2998796c2c
pci: Fix log message for PCI rom exceptions.
...
It should log device name, not just "PCIDevice".
2024-03-01 08:02:01 -07:00
joevt
3978d0754d
CD-ROM: Add max blocks check.
...
The code does not support more than 2^32 - 2 blocks because of this expression: static_cast<uint32_t>(this->size_blocks + 1)
2024-03-01 08:01:31 -07:00
joevt
655b9a17e1
psx: Set name of Psx memory controller.
...
For the logs.
2024-03-01 07:59:33 -07:00
joevt
84a694d4c2
nvram: Output nvram file name in error message.
...
So that you don't see identical messages "Could not restore NVRAM content from the given file."
Instead, one will mention nvram.bin and the other will mention pram.bin.
2024-03-01 07:59:19 -07:00
joevt
fe05b1de12
Fix compiler warnings.
...
Xcode build has compiler warnings involving loss of precision. Remove them by adding type casts. Check results in some cases for overflow.
2024-02-29 18:49:14 -07:00
joevt
18afe91a82
atirage: Use convert frame big-endian methods.
2024-02-26 14:46:31 +01:00
Maxim Poliakovski
b8d0ed39d9
atirage: fix FB pitch calculation.
2024-02-26 14:21:53 +01:00
dingusdev
2e3e65f3e7
Moving vid_enable_seq
...
Visual C complains about this being in the wrong place
2024-02-21 07:07:18 -07:00
dingusdev
fb9b6886fa
Add stdio for Windows serial
2024-02-20 18:05:11 -07:00
joevt
8baf722343
Spelling.
2024-02-20 01:53:32 +01:00
joevt
57d919e424
appleramdac: HW cursor fixes.
...
- Add mask so that hardware cursor cannot be drawn beyond the right edge of the frame buffer.
- Add invert pixels. Invert pixels are used in the I-beam cursor and the Watch cursor.
2024-02-20 01:00:50 +01:00
joevt
b0dc893a05
dma: Add name to dma classes.
...
For logging purposes, each DMA channel should have a name.
2024-02-19 15:30:20 +01:00
Maxim Poliakovski
f5bb484226
sc53c94: fix interrupt reporting.
2024-02-19 15:30:20 +01:00
Maxim Poliakovski
bc2714ab2a
platinum: handle non-DWORD register accesses.
2024-02-15 15:35:17 +01:00
joevt
8a800062dd
grandcentral: Add DMA channel enum.
2024-02-12 14:06:19 +01:00
Maxim Poliakovski
28e7a806b4
grandcentral: use MeshStub on machines without MESH.
2024-02-12 02:38:38 +01:00
Maxim Poliakovski
a0e56aa4cf
grandcentral: connect external SCSI HW.
2024-02-12 02:17:09 +01:00
Maxim Poliakovski
b3e3b73159
grandcentral: connect MESH HW.
2024-02-12 02:17:09 +01:00
Maxim Poliakovski
046452fc56
mesh: various improvements.
2024-02-12 02:17:09 +01:00
Maxim Poliakovski
e77b8785ff
grandcentral: wire SWIM3 DMA interrupt.
2024-02-12 02:01:01 +01:00
Maxim Poliakovski
061fc5a24d
hwinterrupt: remove deprecated SCSI0 & SCSI1.
2024-02-12 01:46:21 +01:00
Maxim Poliakovski
cb8c2cb450
Wire CONTROL interrupt.
2024-02-12 01:46:21 +01:00
Maxim Poliakovski
98d661eda1
Wire PLATINUM interrupt.
2024-02-12 01:46:21 +01:00
Maxim Poliakovski
8ddbc9c427
Wire SCSI_MESH interrupt.
2024-02-12 01:46:21 +01:00
Maxim Poliakovski
5902cd5c28
Wire SCSI_CURIO interrupt.
2024-02-12 01:46:21 +01:00
Maxim Poliakovski
ce2f6ddadd
grandcentral: cleanup interrupt acknowledgement.
2024-02-12 01:46:21 +01:00
Maxim Poliakovski
cdc5589bcf
hwinterrupt: new interrupt definitions (joevt's work).
2024-02-12 01:42:59 +01:00
Maxim Poliakovski
8d30fea63b
platinum: implement video emulation.
2024-02-11 22:59:43 +01:00
Maxim Poliakovski
7d06c5b37a
control: use RaDACal emulation from appleramdac.
2024-02-11 22:59:43 +01:00
Maxim Poliakovski
dd95468d74
New source for TNT RAMDAC emulation (DACula & RaDACal).
2024-02-11 22:59:43 +01:00
Maxim Poliakovski
478bd31dc7
dbdma.h: add missing include.
2024-02-11 22:59:43 +01:00
Maxim Poliakovski
44b1d34cc7
control: support interlaced modes.
2024-02-11 22:22:27 +01:00
Maxim Poliakovski
5f06be6226
control: implement HW cursor rendering.
2024-01-19 23:48:22 +01:00
Maxim Poliakovski
a68afbf79a
videoctrl: add one more cursor rendering callback.
2024-01-19 23:48:22 +01:00
Maxim Poliakovski
7432369162
display_sdl.cpp: improve formatting and add license header.
2024-01-19 09:48:54 +01:00
Maxim Poliakovski
43dc9ed88a
control: remove unused defines and variables.
2024-01-19 09:48:54 +01:00
Maxim Poliakovski
d413e4a278
control: incorporate recent HW knowledge.
2024-01-19 09:48:54 +01:00
joevt
5c460c9f3b
videoctrl: Add VBL callback.
...
Allows overriding the method used to post interrupts.
2024-01-13 00:41:08 +01:00
joevt
cf9237f7d6
control: Fixes.
...
- Fix video vram endianness. It should behave like RAM.
- Add read for registers ENABLE, INT_STATUS, INT_ENABLE.
- Add write for registers CNTTST, INT_ENABLE.
- Add support for 16bpp and 32bpp.
- Add vbl interrupt.
2024-01-13 00:41:08 +01:00
dingusdev
79ee8543f5
Merge pull request #77 from mihaip/upstream-machineid
...
machinepdm: fix machine ID
2024-01-03 07:44:38 -07:00
Maxim Poliakovski
679e80a7c3
atahd: basic commands for disk I/O.
2023-12-30 16:23:00 +01:00
Maxim Poliakovski
ebdefb5acd
atabasedevice: transfer data in chunks.
2023-12-30 16:23:00 +01:00
Mihai Parparita
e36e1cf282
machinepdm: fix machine ID
...
Handle 4 byte reads from the machine ID MMIO region. Also change the 6100
machine ID to match the one used by MAME.
2023-12-29 23:31:16 +00:00
Mihai Parparita
ae0bb838bf
Add basic support for the extended ADB mouse protocol.
...
We now respond to the switch to device handler ID 4 and the register 1
read (as described by https://developer.apple.com/library/archive/technotes/hw/hw_01.html#Extended ).
We don't yet use the extra precision bits in the register 0.
2023-12-15 16:04:27 -08:00
Maxim Poliakovski
fd92d86954
mesh: add MESH TNT variant.
2023-12-11 08:05:39 +01:00
Mihai Parparita
ea9de4feaf
Fix uninitialized value read in the ScsiHardDisk constructor
...
The call to the ScsiDevice superclass was using the name field (which
was not initialized yet) instead of the name constructor argument
2023-12-10 08:58:12 -08:00
Maxim Poliakovski
114737db41
scsicdrom: use CdromDrive as base class.
2023-12-10 00:19:44 +01:00
Maxim Poliakovski
bf278af950
scsidevice: add get_more_data() method.
...
It is required for supporting large data transfers split
into multiple chunks.
2023-12-10 00:19:44 +01:00
Maxim Poliakovski
e1b231882e
cdromdrive: declare some methods virtual.
2023-12-10 00:19:44 +01:00
Maxim Poliakovski
705dd390e9
grandcentral: respect size when reading from IOBus devices.
2023-12-10 00:19:44 +01:00
Maxim Poliakovski
078aa79270
grandcentral: remove board register 1 stub.
2023-12-10 00:19:44 +01:00
Maxim Poliakovski
a1ad0a3e07
machineid: implement BoardRegister class.
2023-12-10 00:19:44 +01:00
Maxim Poliakovski
858f699750
hammerhead: add configuration accessors.
2023-12-10 00:19:44 +01:00
Mihai Parparita
30ded5e803
Add support for more ATI Rage video modes
...
Cherrypicks a small piece of joevt/dingusppc@117ca1e449
so that booting from the 10.2 CD gets past it trying to change the video
mode to 15bpp.
Co-authored-by: joevt <joevt@shaw.ca>
2023-12-07 00:16:48 -08:00
Maxim Poliakovski
65a343ce5c
Clean up names for SCSI devices.
2023-12-04 22:41:01 +01:00
Maxim Poliakovski
8841c3e7f9
scsihd: more commands.
2023-12-04 21:41:55 +01:00
Maxim Poliakovski
1e4579a076
Improve SCSI state machine.
2023-12-04 21:41:55 +01:00
Maxim Poliakovski
be2721cd67
scsihd: cleanup, fixes and more commands.
2023-12-04 21:41:55 +01:00
Maxim Poliakovski
58281520d3
Implement writes to SCSI Pseudo-DMA register.
2023-12-04 21:41:55 +01:00
Maxim Poliakovski
58dacfa263
amic: improve VIA2_IFR and VIA2_IER emulation.
2023-12-04 21:41:55 +01:00
Maxim Poliakovski
ae903082d8
amic: implement SCSI DRQ callback.
2023-12-04 21:41:55 +01:00
Mihai Parparita
1a859669eb
Remove obsolete ADB_Bus class
...
Superseded by e9d91175c4
and subsequent
changes.
2023-12-03 23:15:25 -08:00
joevt
0096d063dd
pdmonboard: Add 2, 4, 15, 24 bpp support.
2023-12-03 20:38:01 +01:00
joevt
7c3bb41728
videoctrl: Add more convert frame methods.
...
Also rename 1bpp and 8bpp methods to 1bpp_indexed and 8bpp_indexed.
2023-12-03 20:38:01 +01:00
dingusdev
7eb2fd23c3
Fixing typos
2023-12-01 14:04:26 -07:00
Maxim Poliakovski
46961711e4
amic: stub for Ch-B serial xmit DMA.
2023-12-01 22:01:48 +01:00
dingusdev
07030378c8
Non-US keyboard support started
...
This is quite unfinished, but should get some of the major targets started.
2023-12-01 10:23:41 -07:00
Maxim Poliakovski
94872b3ebb
Store SCSI bus object pointer during registration.
2023-11-24 19:48:07 +01:00
Maxim Poliakovski
9ae863d7c4
sc53c94: add is_dma_cmd member variable.
2023-11-24 19:48:07 +01:00
Maxim Poliakovski
457accf329
scsi: define READ_BUFFER and WRITE_BUFFER commands.
2023-11-24 19:48:07 +01:00
Mihai Parparita
d08b486db0
Fix keyboard events occasionally being dropped
...
AdbKeyboard would copy the event into its own fields and set the
changed field, so that we could return the event when register was 0.
However, if a subsequent event was received before ADB polling, the
previous event would be overwritten and lost.
Fix this by maintaining a queue of events, so that we can return
everything since the last poll.
2023-11-24 10:08:16 -08:00
Maxim Poliakovski
d37d83c5b6
Merge pull request #64 from mihaip/upstream-a-key
...
Fix "a" key always being as as a keyup
2023-11-24 11:35:18 +01:00
Mihai Parparita
d45bba924d
Fix "a" key always being as as a keyup
...
We were using an empty value on the second byte of the ADB keyboard
register 0, but that maps to the "a" key. This manifested itself
as the Key Caps DA never showing the "a" key as being down.
Switch to a non-existent key for the second byte.
2023-11-23 22:39:06 -08:00
Maxim Poliakovski
446b1b8d99
atahd: various improvements implementing basic commands.
2023-11-22 17:35:14 +01:00
Maxim Poliakovski
27ff05607c
atadefs: bit definitions for the device/head register.
2023-11-22 17:35:14 +01:00
Maxim Poliakovski
f2558cd379
atabasedevice: data transfers to host.
2023-11-22 17:35:14 +01:00
Maxim Poliakovski
4f76a4ead2
Move signal_data_ready() to atabasedevice.
2023-11-22 17:35:14 +01:00
Maxim Poliakovski
be633d3872
soundserver_cubeb: remove soundio code.
2023-11-15 19:01:54 +01:00
Maxim Poliakovski
453930ff75
awacs: pausing sound output DMA channel.
2023-11-15 19:01:54 +01:00
Maxim Poliakovski
b7341d0ab8
amic: implement sound out DMA IRQ.
2023-11-15 19:01:54 +01:00
Maxim Poliakovski
c3f2c9e84c
awac-pdm: improve read_stat().
2023-11-15 19:01:54 +01:00
Mihai Parparita
d4c9db7fcf
Move disk image reading to be behind an ImgFile class
...
Allows different implementations for different platforms (the JS
build relies on browser APIs to stream disk images over the network).
Setting aside the JS build, this also reduces some code duplication.
2023-11-09 21:49:28 -08:00
Maxim Poliakovski
04956c19d5
Fix tiny tipo in adbdevice.h
2023-11-09 11:51:33 +01:00