Skip to content

Refactor typed interrupt services and device operations - #2485

Merged
kevinferrare merged 1 commit into
masterfrom
feature/typed-services-and-device-operations
Nov 8, 2026
Merged

kevinferrare merged 1 commit into
masterfrom
feature/typed-services-and-device-operations

Conversation

@kevinferrare

Copy link
Copy Markdown
Contributor

Adds typed results and shared DOS/BIOS operations, with thin interrupt wrappers and preserved stub behavior.
Adds CMOS, PIT, VGA and OPL operations and combines safe port sequences in generated code.
Consolidates service metadata and adds regression coverage for preserved registers, interrupt guards and device state.

Copilot AI balanced review requested due to automatic review settings November 6, 2026 21:27

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

No active review issues are reported for the interrupt-service and device-operation changes, though runtime tests were not run in this snapshot.

No open issues 🎉

What changed in this PR

This PR separates interrupt service metadata from CPU effects and introduces typed return values for service helpers. It also exposes shared device operations that generated code can use instead of individual port calls.

Changes:

  • Adds explicit stub/direct execution paths and updates service metadata, IR traversal, result handling and printing.
  • Exposes VGA and OPL operations and updates generated-code goldens for combined device calls.
  • Adds register-preservation, service-baseline and device-scenario regression coverage.

New types: InterruptServiceEntry holds service metadata separately from effect-only ServiceContract; InterruptServiceDeclarations pairs entries with implementation methods. ServiceExecutionPath distinguishes execution modes. DeviceOperationCallNode and DeviceOperationValueNode distinguish device I/O from generic calls for IR effect analysis. The port map extends the existing registered-port data with handler types.

Regression coverage: ServicesMatchRecordedBaseline checks recorded registers, flags and memory. The new preserved_output ASM section checks AX preservation and cleared carry for AH=67h. Added DOS contract cases exercise valid and invalid commit handles, and the catalogue registers the device-operations scenario.

Runtime tests were not run in this review snapshot.

File Description
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​xms_umb_disabled.pit.ivt.xms.noumb.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​xms_installation_check.pit.ivt.xms.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​xms_entry_point.pit.ivt.xms.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​umb_ems_size.a20.ivt.xms.ems.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​umb_disabled.a20.ivt.xms.noumb.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​tsr_zero_paragraphs.a20.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​tsr_valid_paragraphs.a20.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​tsr_return_code.a20.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​tsr_parent_psp_size.a20.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​tsr_large_paragraphs.a20.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​tsr_interrupt_vector.a20.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​tsr_batch_continues.pit.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​tsr_basic.a20.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​strings.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​stipending.pit.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​standard_file_handles_inherited.a20.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​set_handle_count_updates_psp.a20.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​set_file_attributes_roundtrip.a20.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​scroll_up_clears_full_row.pit.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​sb_reset_delay.pit.a20.ivt.sbpro2.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​register_locals_across.pit.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​realloc_test_pad16.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​realloc_test_pad15.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​realloc_test_pad13.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​realloc_test_pad12.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​realloc_test_pad1.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​realloc_test_pad0.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​psp_parent_command_com.a20.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​program_arguments_print_argv0.a20.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​program_arguments_access_argv.a20.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​opl_write_delay.pit.a20.ivt.opl3.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​opl_read_delay.pit.a20.ivt.opl3.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​keyboard_reassignment_reset.a20.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​interrupt_handler_partial_inputs.pit.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​interrupt_handler_changes_register.pit.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​interior_entry.pit.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​int16_ah11_extended_key_scan_code.pit.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​graphics_scroll_moves_rows.pit.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​flush_input_clears_stuffahead.a20.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​flashback_video.ivt.spec.handlersD000.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​flashback_mode13.ivt.spec.handlersD000.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​find_first_wildcard.a20.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​file_attributes_readonly.a20.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​externalint.pit.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​environment_block_not_corrupted.a20.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​environment_block_contains_program_path.a20.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​ems_save_page_map.pit.ivt.ems.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​ems_restore_page_map.pit.ivt.ems.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​ems_memory_access_mapped_pages.pit.ivt.ems.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​ems_map_invalid_handle.pit.ivt.ems.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​ems_get_version.pit.ivt.ems.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​ems_get_unallocated_page_count.pit.ivt.ems.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​ems_get_status.pit.ivt.ems.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​ems_get_page_frame_segment.pit.ivt.ems.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​ems_get_handle_pages.pit.ivt.ems.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​ems_get_handle_count.pit.ivt.ems.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​ems_detection_interrupt_vector.pit.ivt.ems.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​ems_detection_device_name.pit.ivt.ems.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​ems_allocate_zero_pages.pit.ivt.ems.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​ems_allocate_pages.pit.ivt.ems.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​device_status_report.a20.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​dbcs_table_private_area.a20.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​dbcs_lead_byte_table_invalid_al.a20.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​dbcs_lead_byte_table_al0.a20.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​dataflow_interrupt_boundaries.pit.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​data_segment_values.pit.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​create_new_psp_valid_copy.a20.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​create_directory_empty_path.a20.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​create_child_psp_valid.a20.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​crack_close_handle8_hook.a20.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​control_break_roundtrip.a20.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​console_ioctl0e_z_drive.pit.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​console_ioctl0e_floppy_drive.pit.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​console_ioctl09_z_drive.pit.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​console_ioctl09_fixed_drive.pit.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​console_ioctl07_stdout_ready.pit.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​console_ioctl06_redirect_file_eof_after_read.pit.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​console_ioctl06_redirect_file_empty.pit.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​console_ioctl06_redirect_file_data.pit.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​console_ioctl06_poll_and_read.pit.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​console_ioctl06_keyboard_empty.pit.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​console_ioctl06_keyboard_available.pit.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​console_ioctl00_stdin_character_device.pit.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​console_ioctl_unsupported_11.pit.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​console_ioctl_unsupported_10.pit.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​console_ioctl_unsupported_0f.pit.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​console_ioctl_unsupported_0a.pit.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​console_ah0b_input_available.pit.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​console_ah09_print_string.pit.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​console_ah06_output_redirect.pit.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​console_ah06_input_no_key.pit.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​console_ah06_input_key.pit.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​console_ah03_ctrl_c_break.pit.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​console_ah02_ctrl_c_break.pit.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​child_return_code_subsequent_zero.a20.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​child_return_code_initial.a20.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​check_stdin_status_ctrl_c.a20.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​check_stdin_status_ctrl_break.a20.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​cds_initialized_known_location.a20.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​batch_pipe_input_first_segment.pit.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​batch_output_redirection.pit.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​batch_multi_input_tight.pit.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​batch_multi_input_spaced.pit.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​batch_maupiti_tatou_nested_directory.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​batch_input_redirection.pit.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​batch_double_input_operator.pit.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​batch_choice_timeout_keypress.pit.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​batch_choice_timeout_default.pit.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​GeneratedCode/​batch_append_redirection.pit.ivt.spec.cs.txt Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​res/​DumpedCfgPartitions/​device_operations.json Updated as part of this pull request.
tests/​Spice86.Tests/​Resources/​cpuTests/​asmsrc/​int_service_calls.asm Updated as part of this pull request.
tests/​Spice86.Tests/​MouseDriverTests.cs Updated as part of this pull request.
tests/​Spice86.Tests/​InterruptHandlers/​ServiceContractStubTest.cs Updated as part of this pull request.
tests/​Spice86.Tests/​InterruptHandlers/​EmsServiceContractTest.cs Updated as part of this pull request.
tests/​Spice86.Tests/​InterruptHandlers/​DosInt21ServiceContractTest.cs Updated as part of this pull request.
tests/​Spice86.Tests/​AsmFixtures/​LatchIoPortHandler.cs Updated as part of this pull request.
tests/​Spice86.Tests/​AsmFixtures/​AsmScenarioCatalog.cs Updated as part of this pull request.
src/​Spice86.Core/​Emulator/​ReverseEngineer/​InterruptServices/​UserTimerServices.cs Updated as part of this pull request.
src/​Spice86.Core/​Emulator/​ReverseEngineer/​InterruptServices/​RtcServices.cs Updated as part of this pull request.
src/​Spice86.Core/​Emulator/​ReverseEngineer/​InterruptServices/​PrinterServices.cs Updated as part of this pull request.
src/​Spice86.Core/​Emulator/​ReverseEngineer/​InterruptServices/​MemorySizeServices.cs Updated as part of this pull request.
src/​Spice86.Core/​Emulator/​ReverseEngineer/​InterruptServices/​EquipmentServices.cs Updated as part of this pull request.
src/​Spice86.Core/​Emulator/​ReverseEngineer/​InterruptServices/​DosNetworkServices.cs Updated as part of this pull request.
src/​Spice86.Core/​Emulator/​ReverseEngineer/​InterruptServices/​DosIdleServices.cs Updated as part of this pull request.
src/​Spice86.Core/​Emulator/​ReverseEngineer/​InterruptServices/​CriticalErrorServices.cs Updated as part of this pull request.
src/​Spice86.Core/​Emulator/​ReverseEngineer/​FunctionPartitioning/​Model/​InterruptServiceVector.cs Updated as part of this pull request.
src/​Spice86.Core/​Emulator/​ReverseEngineer/​FunctionPartitioning/​Model/​HardwareInterruptSetup.cs Updated as part of this pull request.
src/​Spice86.Core/​Emulator/​ReverseEngineer/​FunctionPartitioning/​Model/​GeneratorInputsCollector.cs Updated as part of this pull request.
src/​Spice86.Core/​Emulator/​ReverseEngineer/​FunctionPartitioning/​Model/​GeneratorInputs.cs Updated as part of this pull request.
src/​Spice86.Core/​Emulator/​ReverseEngineer/​Contracts/​ServiceCallSignature.cs Updated as part of this pull request.
src/​Spice86.Core/​Emulator/​ReverseEngineer/​CfgCodeGeneration/​Ir/​TypedSignatures.cs Updated as part of this pull request.
src/​Spice86.Core/​Emulator/​ReverseEngineer/​CfgCodeGeneration/​Ir/​RegisterLocalPromotion.cs Updated as part of this pull request.
src/​Spice86.Core/​Emulator/​ReverseEngineer/​CfgCodeGeneration/​Ir/​Memory/​IrSegmentValues.cs Updated as part of this pull request.
src/​Spice86.Core/​Emulator/​ReverseEngineer/​CfgCodeGeneration/​Ir/​IrMethodEmitter.cs Updated as part of this pull request.
src/​Spice86.Core/​Emulator/​ReverseEngineer/​CfgCodeGeneration/​Ir/​IrFlagReadCensusClassifier.cs Updated as part of this pull request.
src/​Spice86.Core/​Emulator/​ReverseEngineer/​CfgCodeGeneration/​Ir/​IrEffectsVisitor.cs Updated as part of this pull request.
src/​Spice86.Core/​Emulator/​ReverseEngineer/​CfgCodeGeneration/​Ir/​IrAstChildren.cs Updated as part of this pull request.
src/​Spice86.Core/​Emulator/​ReverseEngineer/​CfgCodeGeneration/​Ir/​DosCallRecord.cs Updated as part of this pull request.
src/​Spice86.Core/​Emulator/​ReverseEngineer/​CfgCodeGeneration/​Ir/​DosCallComments.cs Updated as part of this pull request.
src/​Spice86.Core/​Emulator/​ReverseEngineer/​CfgCodeGeneration/​CSharpStatementPrinter.cs Updated as part of this pull request.
src/​Spice86.Core/​Emulator/​ReverseEngineer/​CfgCodeGeneration/​Ast/​DeviceOperationValueNode.cs Updated as part of this pull request.
src/​Spice86.Core/​Emulator/​ReverseEngineer/​CfgCodeGeneration/​Ast/​DeviceOperationCallNode.cs Updated as part of this pull request.
src/​Spice86.Core/​Emulator/​OperatingSystem/​Dos.cs Updated as part of this pull request.
src/​Spice86.Core/​Emulator/​InterruptHandlers/​Timer/​DummyInt1CHandler.cs Updated as part of this pull request.
src/​Spice86.Core/​Emulator/​InterruptHandlers/​InterruptHandler.cs Updated as part of this pull request.
src/​Spice86.Core/​Emulator/​InterruptHandlers/​IInterruptHandler.cs Updated as part of this pull request.
src/​Spice86.Core/​Emulator/​InterruptHandlers/​Dos/​DosInt2aHandler.cs Updated as part of this pull request.
src/​Spice86.Core/​Emulator/​InterruptHandlers/​Dos/​DosInt28Handler.cs Updated as part of this pull request.
src/​Spice86.Core/​Emulator/​InterruptHandlers/​Dos/​DosInt24Handler.cs Updated as part of this pull request.
src/​Spice86.Core/​Emulator/​InterruptHandlers/​Common/​Contracts/​ServiceExecutionPath.cs Updated as part of this pull request.
src/​Spice86.Core/​Emulator/​InterruptHandlers/​Common/​Contracts/​ServiceContract.cs Updated as part of this pull request.
src/​Spice86.Core/​Emulator/​InterruptHandlers/​Common/​Contracts/​InterruptServiceEntry.cs Updated as part of this pull request.
src/​Spice86.Core/​Emulator/​InterruptHandlers/​Common/​Contracts/​InterruptServiceDeclarations.cs Updated as part of this pull request.
src/​Spice86.Core/​Emulator/​InterruptHandlers/​Common/​Contracts/​HandlerServices.cs Updated as part of this pull request.
src/​Spice86.Core/​Emulator/​InterruptHandlers/​Common/​Callback/​CallbackDescriptions.cs Updated as part of this pull request.
src/​Spice86.Core/​Emulator/​InterruptHandlers/​Bios/​SystemBiosInt12Handler.cs Updated as part of this pull request.
src/​Spice86.Core/​Emulator/​InterruptHandlers/​Bios/​RtcInt70Handler.cs Updated as part of this pull request.
src/​Spice86.Core/​Emulator/​InterruptHandlers/​Bios/​BiosEquipmentDeterminationInt11Handler.cs Updated as part of this pull request.
src/​Spice86.Core/​Emulator/​Devices/​Video/​VgaIoPortHandler.cs Updated as part of this pull request.
src/​Spice86.Core/​Emulator/​Devices/​Sound/​Opl3Fm.cs Updated as part of this pull request.

Review effort: Balanced

@kevinferrare
kevinferrare force-pushed the feature/typed-services-and-device-operations branch from 90b9c3a to 3e81b3b Compare November 7, 2026 15:13
@kevinferrare
kevinferrare force-pushed the feature/typed-services-and-device-operations branch 2 times, most recently from 135a628 to bda9028 Compare November 7, 2026 18:56
@kevinferrare
kevinferrare force-pushed the feature/typed-services-and-device-operations branch from bda9028 to 3714e64 Compare November 8, 2026 16:26
@kevinferrare
kevinferrare merged commit c612486 into master Nov 8, 2026
5 checks passed
@kevinferrare
kevinferrare deleted the feature/typed-services-and-device-operations branch November 8, 2026 16:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants