Commit graph

212 commits

Author SHA1 Message Date
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
Peter Weingartner 1ac6e233b3 Documentation update and SID tweaks
Update to documentation and experimental tweaks investigating an issue with external SID.
2022-03-29 20:55:04 -04:00
Peter Weingartner e0ecfb6976 A2560K Keyboard LED Matrix
Added minor support for the LED matrix. Boot sequence animation and a KEYCOLOR setting in the CLI.
2022-03-28 20:25:44 -04:00
Peter Weingartner 41d1ad3ccc Quick Documentation Update 2022-03-26 13:10:11 -04:00
Peter Weingartner e7d96cbf1b Boot sectors!
MBR now booting successfully!
2022-03-25 16:08:00 -04:00
Peter Weingartner b0e6e00b9c Documentation Update 2022-03-24 21:57:54 -04:00
Peter Weingartner e8fe454513 MKBOOT command
Added a MKBOOT command. It's able to zero out an MBR and write a boot sector that should load a file, but the system is not booting from it yet.
2022-03-24 21:05:27 -04:00
Peter Weingartner a9fa53550d Ongoing changes to the boot and splash screen code 2022-03-22 20:37:21 -04:00
Peter Weingartner 4821a4317d Added configuration on boot
Added code to allow a configuration script in System/mcp.init on the boot disk (with fall-back to the hard drive).
2022-03-18 19:51:22 -04:00
Peter Weingartner 9efb286ca4 Build Process: Copy Setup
Starting conversion of kernel memory layout and link scripts.
2022-03-15 20:15:22 -04:00
Peter Weingartner 8841764f66 TXT system calls
Added the system calls for most of the text routines, and added them to the documentation.
2022-03-12 22:08:54 -05:00
Peter Weingartner d8bf48e4d3 FIX: Layout issue with panic screen 2022-03-11 16:01:38 -05:00
Peter Weingartner eae92ba7da Text Fix: insert and delete characters
Fixed issues with insert and delete of characters.
2022-03-11 15:46:41 -05:00
Peter Weingartner fa7a8a5a44 Text Fix: Erase in Display
Fixed erase in display code to work properly erasing the top half and bottom half of the screen or region.
2022-03-11 15:42:27 -05:00
Peter Weingartner a0c758590e Added RAMTOP
Added very basic memory management: sys_mem_reserve, and sys_mem_get_ramtop
2022-03-11 15:40:49 -05:00
Peter Weingartner 7a20477e24 TEST ANSI
Added a TEST ANSI command
2022-03-09 20:21:36 -05:00
Peter Weingartner 57a97aee2b Integrated new text code into kernel
Switched the console device to use the new text routine.
2022-03-09 16:56:53 -05:00
Peter Weingartner 855676864a TXT Update: 1024x768
Fixed mode bit for channel A 1024x768
2022-03-06 19:22:22 -05:00
Peter Weingartner 3a9f847add Jiffy Timer Using GABE
Removed dependency on SOF interrupt for jiffy timer, and switched it to GABE timer 3, which is based on the SOF frequency.
2022-03-06 19:02:28 -05:00
Peter Weingartner 6edf66120c Channel A refactor, Channel B partial working
Channel A code has been refactored to move macros and register definitions out to include space. Channel B is partially implemented, but an FPGA issue is blocking further work on scrolling.
2022-03-06 14:31:51 -05:00
Peter Weingartner b21fdc6d5c A2560K Channel A: General Scrolling
txt_scroll for Channel A should now support arbitrary vertical and horizontal scrolling in one call.
2022-03-05 19:18:50 -05:00
Peter Weingartner 4b4fd879df Channel A printing and simple scrolling
Text printing and simple scrolling of regions now working. Scrolling only works to scroll a region up by one line.
2022-03-04 19:20:50 -05:00
Peter Weingartner 5cf2c1fcab TRAP fix, start of new text driver
Fixed erroneous code on 68040 trying to set TRAP #15 handler, getting new text driver layer working on A2560K channel A.
2022-03-04 15:53:20 -05:00
pweingar 1d98d4dd23
Merge pull request #34 from daschewie/Linux_A2560K_Build
Linux A2560K Build
2022-02-20 19:54:20 -05:00
Jesus Garcia 59f4434b75 Linux A2560K Build 2022-02-20 15:35:09 -05:00
Peter Weingartner 96116e850a PSG silence, fsys_stat
Added a fsys_stat call. Minor change to silence the PSG noise channel on boot.
2022-02-14 15:35:42 -05:00
Peter Weingartner cb3de4d942 Corrected TEST MEM command 2022-02-08 19:16:07 -05:00
Peter Weingartner a1fd81148f 68040 Exception Stack Frames
Corrected bus (access) and address exception handling for the '040 to properly read the stack frames.
2022-02-07 20:24:21 -05:00
Peter Weingartner 1b325e95a7 Various Fixes for A2560K Rev B
SDC write protect check, IDE delay loops, memory test limits, startup screen LUT organization, and channel A font size (for testing).
2022-02-07 12:58:15 -05:00
Peter Weingartner 397e216ee5 CALL command
Added a CALL command to execute code at an arbitrary address.
2022-01-10 12:58:56 -05:00