Commit graph

241 commits

Author SHA1 Message Date
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 cb71665c0c Manual Update 2022-05-16 16:17:20 -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 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
Peter Weingartner 7256df53c9 New FONT settings
Changed FONT setting to support multiple screens, to adapt to the hardware, and to support both 8x8 and 8x16 fonts.
2022-04-10 19:53:31 -04:00
Peter Weingartner 5da0ebc7a7 SYSINFO Changes
Changes to the system information record to better match the FPGA's registers and to more dynamically determine machine ID, CPU, clock speed, etc. Added clock speed to the record, and removed some fields that may not be useful.
2022-04-09 20:00:37 -04:00
Peter Weingartner 5e34182a85 Text LUT: Red
Changed the color values for bright red.
2022-04-09 18:52:59 -04:00
Peter Weingartner 73003b0ab4 Channel B LUT Fix
Fixed the color look up table register definitions for Channel B
2022-04-09 18:46:43 -04:00
Peter Weingartner d9737a836f sys_txt_set_cursor_vis
Added a system call (and the underlying framework in the text drivers) to show or hide the text cursor independently of the flash rate and character.
2022-04-09 16:49:08 -04:00
Peter Weingartner c671b017e4 CREDITS
Added a CREDITS command and key (F-HELP).
2022-04-09 16:10:59 -04:00
Peter Weingartner 17b4d77c2d CLI Multi-screen Code
Added code to support switching between text screens and new layout of CLI screen.
2022-04-08 20:07:59 -04:00
Peter Weingartner 50797494e6 SET SCREEN
Added a SCREEN setting to set the interaction screen for Foenix machines with more than one text screen.
2022-04-04 20:23:23 -04:00
Peter Weingartner fd6cdee557 CLI: CTRL-LEFT and CTRL-RIGHT
Added CTRL-LEFT to go to beginning of line, CTRL-RIGHT to go to end of line.
2022-04-04 20:01:09 -04:00
Peter Weingartner 82c603cd64 CLI: Command History
UP and DOWN arrow to walk through previous commands.
2022-04-04 19:48:15 -04:00
Peter Weingartner f8c0363376 CLI QoL Improvements Phase I
Starting to make some changes to the CLI to allow for line editing, command history, and a different look and feel.
2022-04-03 22:49:54 -04:00
Peter Weingartner 50c871600d Further tinkering with LPT 2022-04-01 20:03:30 -04:00
Peter Weingartner 94097ace40 Boot DIP Switches
Fixed GABE register definitions. Rearranged sys_info routine. Boot code now recognizes DIP switch settings for boot source.
2022-03-31 15:09:30 -04:00