Commit graph

344 commits

Author SHA1 Message Date
Vincent Barrilliot 954dae8ced For the K/X, allow logging to channel A (text screen) without going through the console stuff. This is so we can start logging earlier, and also use that for debugging the console stuff itself. 2023-05-29 14:41:13 +02:00
Vincent Barrilliot 6e8b1e1e17 Decrease log level for console stuff 2023-05-29 14:40:16 +02:00
Vincent Barrilliot 01eef127a0 Fix typo 2023-05-29 13:57:06 +02:00
Vincent Barrilliot 015f23a038 Remove mapfile from repo. Since we can build for different targets now it doesn't make sense to include it anymore. 2023-04-16 16:37:33 +02:00
Vincent Barrilliot b5dc2a5bef Don't log screen interactions by default. 2023-04-16 16:11:20 +02:00
Vincent Barrilliot e84eeaec39 Log on first UART by default. Long only errors by default 2023-04-16 16:10:46 +02:00
Vincent Barrilliot 0628f7ce5d Fix missing "MODEL ==" 2023-04-16 15:17:10 +02:00
Vincent Barrilliot 542d95e194 Fix defines name so to fix colour scheme. 2023-04-16 15:04:24 +02:00
Vincent Barrilliot 30a2164427 Add padding of flash images. 2023-03-31 23:22:21 +02:00
Vincent Barrilliot b0927f19c9 Fix SDC addresses (info given by Stefany). SDC card now works on A2560K. 2023-03-31 23:11:06 +02:00
Vincent Barrilliot b11619b073 Merge branch 'main' into a2560k 2023-03-24 22:55:44 +01:00
Vincent Barrilliot 08f6942dfe Update vbcc stuff from latest VBCC. The include files are copied from m68k-linux and the libraries from m68k-atari.
Without this you get weird warnings.
2023-03-24 22:53:09 +01:00
Vincent Barrilliot 822800c28a Prepare for troubleshooting 2023-03-24 20:38:30 +01:00
Vincent Barrilliot 48df968b98 Struggle to make things work. They dont. 2023-03-12 21:16:20 +01:00
Vincent Barrilliot 5b65d88d1b U doesn't have a controllable power indicator. 2023-03-12 17:36:13 +01:00
Vincent Barrilliot bb4e8ea41a Typo 2023-03-12 16:57:59 +01:00
Vincent Barrilliot 0ad061efe2 Include features.h for convenience for everything already includes sys_general.h 2023-03-03 01:48:14 +01:00
Vincent Barrilliot d79840a074 Simplify initialization 2023-03-03 01:47:23 +01:00
Vincent Barrilliot 600adcf406 Small improvement of using the compilation switches 2023-02-26 21:17:06 +01:00
Vincent Barrilliot e0c9e7d7c0 Typo, we should set channel b from this file, not channel a. 2023-02-26 18:42:52 +01:00
Vincent Barrilliot 9459d89702 Simplify screen initialization. Seemed to fix a bug during startup which I didn't understand. 2023-02-26 18:31:39 +01:00
Vincent Barrilliot 264df08499 Don't put in Mau interrupt handler if not on a A2560K 2023-02-26 18:30:10 +01:00
Vincent Barrilliot 8a99341723 Work in progress, trying to merge Stefany's A2560X code in . At the moment it's crashing when calling ___main from startup_m68040.s. 2023-02-26 14:04:43 +01:00
Vincent Barrilliot a3846c799a Lower log level 2023-02-13 18:25:29 +01:00
Vincent Barrilliot 2218b39210 Fix warning, lower trace level 2023-02-13 18:22:16 +01:00
Vincent Barrilliot 2781e7942f Allow running the RTC test, stop with ESC 2023-02-01 23:03:02 +01:00
Vincent Barrilliot 4bfc669dbc Make Atari joystick test for A2560U. 2023-02-01 22:56:34 +01:00
Vincent Barrilliot 627c16463b Fix P2/2 test 2023-02-01 22:05:57 +01:00
Vincent Barrilliot 93031a1303 Don't repeat the structure since cdev_register doesn't modify it (this should have been in the previous commit). 2023-02-01 21:57:32 +01:00
Vincent Barrilliot d4bc2dc1f5 Don't need to copy the structure again, because cdev_register doesn't affect it. Made that clear by adding "const" in cdev_register's declaration. 2023-02-01 21:56:54 +01:00
Vincent Barrilliot 4d2568c5db Define E_OK as 0, indicating the absence of error, so we have something to compare results with. I chose the name as it seems it was already used by ffsystem.c (although commented out) and is present in other OSes. 2023-02-01 21:54:28 +01:00
Vincent Barrilliot 93f02bc99d Use "bool" type and true/false whenever appropriate, for better semantics. 2023-02-01 21:38:26 +01:00
Vincent Barrilliot e2b44f3bf0 Avoid error message on A2560U because there is "only" one screen so we can't output to CDEV_EVID 2023-02-01 21:22:56 +01:00
Vincent Barrilliot a9e0da5bd7 2 minor changes (no functional change) 2023-01-31 22:00:55 +01:00
Vincent Barrilliot 14b3e963b7 Adapt sound test commands mostly 2023-01-31 22:00:36 +01:00
Vincent Barrilliot 8b9edccbc6 Return default log level to something less verbose for normal use. 2023-01-31 21:59:22 +01:00
Vincent Barrilliot 557f391277 Cleanup startup_m68k following calling convention update 2023-01-31 01:37:03 +01:00
Vincent Barrilliot 52caf47fce More logging 2023-01-31 01:36:31 +01:00
Vincent Barrilliot 25dbadb1c0 Improve calling convention so it's more performance and doesn't mess up stack for vsprintf /stdargs 2023-01-31 01:35:05 +01:00
Vincent Barrilliot 1ddd549bf6 Improve logging to serial, add a lot of traces. Logging has a problem. Backspace doesn't work properly, boot from device crashes still. 2023-01-30 17:19:40 +01:00
Vincent Barrilliot 5dcd7dd3da Acknowledge RTC interrupt by reading the FLAGS register. The address of this register depends on the model, so inject the model as a define in the Makefile 2023-01-29 21:55:51 +01:00
Vincent Barrilliot e25a6bd58a Disable A2560U-specific code for the UART's init. The default works ok it seems. 2023-01-29 21:55:08 +01:00
Vincent Barrilliot 0a3cd98118 Fix warnings 2022-06-14 22:25:49 +02:00
Vincent Barrilliot a4079969fb Remove some debug messages, fix typo in format string 2022-06-14 22:24:08 +02:00
Vincent Barrilliot a53b21885d Remote trailing whitespace 2022-06-14 22:00:47 +02:00
Vincent Barrilliot 2205998aa4 Rearrange comments so they don't introduce white space on the command line 2022-06-14 22:00:10 +02:00
Vincent Barrilliot b784f5dd17 Address more compile warnings 2022-06-14 00:15:00 +02:00
Vincent Barrilliot 88e623ff2d Address compile warnings 2022-06-14 00:13:05 +02:00
Vincent Barrilliot 6fffde3e79 Work around FPGA problem when reading bytes from text memory (they come back inverted, ie the bytes from the word AB comes back as BA) 2022-06-13 23:19:08 +02:00
Vincent Barrilliot 528e7fbc0d Add test for copying test memory, use the #defines in cli.c so it doesn't crash, reduce default log level, remove logging of all system function calls. 2022-06-12 15:45:33 +02:00
Vincent Barrilliot 462b05d634 Adapt for A2560U, includes modification of logging so to be able to log to the COM1. 2022-06-11 22:20:44 +02:00
Vincent Barrilliot 9549b9f1b8 Fail fsys_load if filesystem error 2022-06-06 20:55:00 +02:00
Vincent Barrilliot 81bf51f78d Make A2560U's 16750 UART work 2022-06-06 20:51:40 +02:00
Vincent Barrilliot f0f9a4b62e Line up with 68040 startup 2022-06-04 13:34:48 +02:00
Vincent Barrilliot 1131efcfb8 Copy/pasted dispatched from the 68040 one 2022-06-04 13:34:26 +02:00
Vincent Barrilliot 74d1768c7c Correct typo 2022-06-04 13:33:48 +02:00
Vincent Barrilliot 72b5cd289a Make screen work 2022-06-01 20:10:45 +02:00
Vincent Barrilliot 0cb525da3b Try make FoenixMCP work again on the A2560U. Add the support for FPGA date (was missing in the K), create A2560U text driver based on the existing A2560K_a, conditionnally build stuff. 2022-05-30 23:39:53 +02:00
Vincent Barrilliot adc37b784e Merge remote-tracking branch 'original/main' into merge-220530 2022-05-30 21:14:34 +02:00
Peter Weingartner e158da0578 Bump version number 2022-05-28 18:27:27 -04:00
Peter Weingartner 2a9685dd32 Merge branch 'main' into a2560k 2022-05-28 18:21:07 -04:00
Peter Weingartner 7771a668b9 SET/GET System Variables
SET and GET commands can now work with system variables.
2022-05-27 19:50:23 -04:00
Peter Weingartner d64583a0e4 Added: System Variables 2022-05-25 17:41:05 -04:00
Peter Weingartner 79f5bd9e66 Added TXT Border calls to syscalls
Forgot to provide system call stubs...
2022-05-22 21:54:20 -04:00
Peter Weingartner d01d8cf298 SHELL setting
Added a SHELL setting to allow for replacement of the CLI.
2022-05-22 21:31:45 -04:00
Peter Weingartner 541451fbf9 Printer Fix
Made small change to LPT driver code to make sure the first line is printed correctly.
2022-05-20 13:30:44 -04:00
Peter Weingartner dff1567153 Issue #38
Fixed a bug that was preventing commands brought back from history from being editable.
2022-05-19 21:19:07 -04:00
Peter Weingartner 5210dbaab4 Issue #37
Updated CLI so that it sets the console settings to its liking on getting control, but turns echo back on the console before giving control to a program. Also cleaned up how the COMMAND setting is handled so it should work when a program quits as well.
2022-05-19 20:47:35 -04:00
Peter Weingartner 60ba071966 COPY Mark II
Re-wrote the COPY command to work better with directories and different drives.
2022-05-19 17:41:10 -04:00
Peter Weingartner e0f79f3e6c Support for booting from floppy
MKBOOT and boot chain now support booting from the floppy drive's volume boot record.
2022-05-16 16:07:31 -04:00
Peter Weingartner 30e728be14 FDC Updated to recognize disk changes
Major FSYS syscalls (e.g. open, delete, opendir, etc.) updated to query the FDC (if it is the target drive) to update its status register and detect if the disk has changed (which can only be done with the motor spinning). MCP should now handle disk changes appropriately.
2022-05-13 19:29:05 -04:00
Peter Weingartner 3e7f1e9f7f FDC READ and WRITE
Basic read and write functionality. Status codes still not correct, no media change or write protect detection yet.
2022-05-12 18:58:48 -04:00
Peter Weingartner fcd89cc069 FDC Experimental Code 2022-05-05 13:40:24 -04:00
Peter Weingartner ce1f4b3219 Corrected Channel A to use its own DIP switch for resolution setting. 2022-05-03 13:41:36 -04:00
Peter Weingartner 82f6864c8d Enabled high res DIP switch
Kernel now sets display resolution based on the DIP switches.
2022-05-02 22:23:37 -04:00
Peter Weingartner 9a6af9bbe7 Added sys_txt_get_sizes
Added sys_txt_get_sizes to return the size of a screen in characters and pixels.
2022-05-02 19:27:39 -04:00
Peter Weingartner 7185377535 CTRL-C Support
Updated the console's IOCTRL routines to support returning a CTRL-C as a break.
2022-05-01 17:37:01 -04:00
pweingar e132ac5aa5
Merge pull request #36 from daschewie/AutoBinaryExtention
Automatic Binary Extension lookup for A2560K
2022-05-01 13:49:32 -04:00
Peter Weingartner a2f0255f07 Tinkering with FDC
Trying to get the FDC to read. Added hand-assembly to do FDC commands.
2022-05-01 13:47:55 -04:00
Jesus Garcia 0bb11988ce Automatic Binary Extension lookup 2022-04-30 16:18:31 -04:00
Peter Weingartner 3dbf802505 MIDI Channel Drivers
Channel driver added for the MIDI ports. Very simple... just polled I/O, but it's something.
2022-04-28 14:27:16 -04:00
Peter Weingartner 86e475e0de UART Channels
UART driver added for channels.
2022-04-27 16:21:06 -04:00
Peter Weingartner b53a2d92d4 SuperIO Test Tweaks
Changes to UART, MIDI, and FDC code and tests to match a possible fix to the FPGA.
2022-04-26 16:06:12 -04:00
Peter Weingartner 2581b754d6 DIR with wildcards
DIR updated to support wildcards. Directory system calls fixed.
2022-04-24 15:37:56 -04:00
Peter Weingartner 03de9599a9 Improved DIR formatting 2022-04-24 13:48:51 -04:00
Peter Weingartner 7c2573e9d6 Fixed memory test 2022-04-24 12:58:54 -04:00
Peter Weingartner 4e52ccebd1 Added CALL command for the U 2022-04-21 20:10:28 -04:00
Peter Weingartner 932a2addc2 Updates to UART test 2022-04-20 21:50:51 -04:00
Peter Weingartner f8d62a2f66 CDEV_LPT Working (for Epson)
Channels based on CDEV_LPT now working for my Epson printer.
2022-04-19 16:55:05 -04:00
Peter Weingartner 6bd9908531 Code Cleanup: Warnings
Cleaned up code to remove compiler warnings.
2022-04-18 21:42:23 -04:00
Peter Weingartner 730bb6b209 Adjusted logging to low-level txt device 2022-04-17 20:32:08 -04:00
Peter Weingartner 0faa96167c sys_proc_elevate
Added sys_proc_elevate to allow for a user mode program to go to supervisor mode.
2022-04-17 14:50:02 -04:00
Peter Weingartner 31258d63d3 Fixed file execution from flash
The kernel was unable to start a user mode program when the kernel was in flash. I have changed how the call_user assembly code starts the user mode program to fix this.
2022-04-17 14:29:12 -04:00
Peter Weingartner b315be98b7 Channel Redirection
Added basic support for redirecting channel IDs to other channels (sys_chan_swap and sys_chan_dev).

Current flash version is not quite working... panics on running an external file.
2022-04-16 21:32:07 -04:00
Peter Weingartner 660d8c5b3f Fix: TEST BITMAP
Fixed the TEST BITMAP command to work correctly on the A2560K.
2022-04-15 13:08:18 -04:00
Peter Weingartner 4210e3d716 Rearrangement of LPT code 2022-04-15 12:59:01 -04:00
Peter Weingartner 51b65de7bd LPT Channel Support
A rough LPT driver is now working with channels. Only seems to work on an Epson printer, and that somewhat inconsistently. Needs to be more robust and to respond to error conditions from the printer.
2022-04-13 22:17:32 -04:00
Peter Weingartner 2ebd57fad4 Fixed LPT low level code
Printing is now possible!
2022-04-13 20:04:01 -04:00
Peter Weingartner c9c5bb9314 Made flashable
Updates to get a version of the kernel that can be stored in flash. The data segment is in the first 64KB and may need to be moved. Also, there is some glitching with the line editing routines.
2022-04-13 15:05:01 -04:00
Peter Weingartner 22ead3534a Banner Update
Updated the banner printed in the credits and modified the CLI to print the banner only on initial startup.
2022-04-11 16:37:42 -04:00