Skip to content

FDC, now with writing support #14

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 52 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
25c7657
feat(floppy): implemented floppy writing
giuliof Dec 26, 2024
4b36886
style: newlines
giuliof Dec 26, 2024
5afcb4e
fix: missing include in macro.h
giuliof Jan 5, 2025
fb4ddc2
feat(fdc): preliminary implementation of INT signal
giuliof Jan 3, 2025
75734d6
refactor(fdc): dependency break between floppy and fdc modules
giuliof Jan 4, 2025
cad18e7
fix(fdc): avoid read/write execution phases if no data available
giuliof Jan 4, 2025
49c0d37
refactor(fdc): moved variable
giuliof Jan 4, 2025
4c59e0b
test(fdc): implemented some preliminary tests for FDC
giuliof Jan 7, 2025
569e4dd
refactor(fdc): carried out defines and commands which represents fdc …
giuliof Jan 8, 2025
383d305
refactor(fdc): moved tests in a separate file
giuliof Jan 8, 2025
b7df991
refactor: just some renaming
giuliof Jan 16, 2025
47adc73
refactor(fdc): code cleanup and comments in read/write routines
giuliof Jan 16, 2025
5167e13
test(fdc): added preliminary reading test
giuliof Jan 16, 2025
886e0c3
refactor(fdc): replaced status register read and check with helper fu…
giuliof Jan 16, 2025
9f7ae83
fix(fdc): corrected initialization
giuliof Jan 18, 2025
d5c5e0f
refactor(fdc): replaced magic number with defined constants in tests
giuliof Jan 18, 2025
388a0e8
refactor(fdc): changed names of exposed constants
giuliof Jan 18, 2025
f9a6513
test(fdc): implemented reading test
giuliof Jan 18, 2025
3b69d18
fix(fdc): implemented preliminary response for reading
giuliof Jan 18, 2025
52447e3
fix(fdc): proper read/write response generation
giuliof Jan 23, 2025
d2a2948
test(fdc): added a more complete reading test
giuliof Jan 22, 2025
c1a94f3
feat(fdc): introduced deleted data commands
giuliof Jan 23, 2025
72cce14
feat(fdc): read track command
giuliof Jan 23, 2025
c202aa2
test(fdc): added writing test, which has quite the same pattern as read
giuliof Jan 24, 2025
866a6b6
fix(fdc): writing operation is now correct
giuliof Jan 24, 2025
63f77b2
fix(fdc): when EOT is reached, read or write operation terminates
giuliof Jan 26, 2025
a55d939
refactor(fdc): removed bitfields to increase portability
giuliof Jan 26, 2025
6296a40
test(fdc): improved read/write test
giuliof Feb 5, 2025
e23828b
feat(fdc): added format command support
giuliof Feb 6, 2025
d6c6203
feat(fdc): implemented invalid command handling
giuliof Feb 6, 2025
10bcdff
feat(fdc): implemented correct handling of an invalid sequence after …
giuliof Feb 6, 2025
4ad3980
refactor(fdc): renamed variable according to its function
giuliof Feb 6, 2025
d4199a8
refactor: introduced disk image errors with the aim of handling them …
giuliof Feb 7, 2025
8654c11
fix: handle DTL and use it for test purposes
giuliof Feb 7, 2025
7ab39c9
feat(fdc): implemented error handling for reading
giuliof Feb 8, 2025
978b687
fix(fdc): format result implementation was missing
giuliof Feb 8, 2025
3d3e0c8
feat(fdc): introduced error handling in write and format
giuliof Feb 10, 2025
921b18c
fix(fdc): interrupt signal deassertion
giuliof Feb 11, 2025
9be9ccb
refactor: typo
giuliof Feb 11, 2025
dadc697
fix(fdc): seek and recalibrate set drive number in ST0
giuliof Feb 11, 2025
3ac5707
test(fdc): swapped read register/poll INT operation order
giuliof Feb 16, 2025
afd4110
fix(fdc): proper reset of INT flag
giuliof Feb 16, 2025
58a984a
fix(fdc): corrected implementation of seek/recalibrate/sense int
giuliof Feb 22, 2025
327610a
fix(fdc): wrong implementation of out of sequence commands
giuliof Feb 22, 2025
283064c
test(fdc): fixed test patterns for read and write, handled error cond…
giuliof Mar 8, 2025
d2352b9
fix(fdc): read/write CHS result generation in error condition are now…
giuliof Mar 8, 2025
b39688e
refactor: double ! instead of cast to bool when printing boolean flags
giuliof Mar 10, 2025
4954835
docs: removed fixed comments
giuliof Mar 10, 2025
f03131a
test(fdc): fixed invalid command tests
giuliof Mar 11, 2025
67ae927
fix(fdc): correct handling of invalid commands
giuliof Mar 11, 2025
5d0f62d
fixup! fix(fdc): interrupt signal deassertion
giuliof Mar 11, 2025
a416f1d
fix(fdc): removed unused variable
giuliof Mar 11, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ add_executable(ceda
src/ram/dynamic.c
src/bios.c
src/3rd/disassembler.c
src/tests/test_fdc.c
)

target_compile_options(ceda PRIVATE -W -Wformat -Wall -Wundef -Wpointer-arith -Wcast-qual -Wwrite-strings -Wsign-compare -Wmissing-noreturn -Wextra -Wconversion)
Expand Down
Loading
Loading