Compare commits

...

2566 Commits

Author SHA1 Message Date
Wayne Warthen
ee8cdfa4b8 Propeller Firmware Enhancements
- Support DEC graphics character set
- Allow use of all lines on VGA display
- Support inverted bits on front panel LEDs and switches by config
2024-01-22 14:21:20 -08:00
Wayne Warthen
6f7d1447ea Fixes for RTCHB and DS1501RTC
Thanks and credit to Marten Feldman for contributing these.
2024-01-15 16:24:43 -08:00
Wayne Warthen
3e6120e0fa ACIA Driver Interrupt Handling Performance Improvements
Thanks and credit to Derek Cooper, Wesley Isacks, Bill Shen, and
Phillip Stevens.
2024-01-14 11:22:26 -08:00
Wayne Warthen
61565bffd7 Correct Version Number String 2024-01-12 16:00:31 -08:00
Wayne Warthen
0bac6f32ea Update BPBIOS Disk Reference Lookup
- Modified BPBIOS to implement proper physical/logical disk unit lookups.
2024-01-12 15:22:13 -08:00
Wayne Warthen
462545bfe7 Update FAT Utility
- Update to v1.0 of FAT Utility
2024-01-09 16:24:20 -08:00
Wayne Warthen
cc4ad0d4b9 Fixed Type in User Guide
Thanks and credit to Bill Lewis for this correction.
2024-01-07 17:24:17 -08:00
Wayne Warthen
458b04404e Merge pull request #382 from feilipu/patch-1
add serial SER_STOP2 options
2024-01-07 17:02:09 -08:00
Wayne Warthen
4143cfa4cf Merge pull request #383 from feilipu/patch-2
Typo in Source/ReadMe.txt
2024-01-07 17:01:28 -08:00
Phillip Stevens
438e59a05e Typo in Source/ReadMe.txt
Just a typo.
2024-01-07 15:31:56 +11:00
Phillip Stevens
7385d07b9a add serial SER_STOP2 options
Add configuration for 8N2 serial options
2024-01-07 15:25:51 +11:00
Wayne Warthen
5bea1f400e Create CONTRIBUTING.md
Add contribution guidelines.
2024-01-01 15:19:25 -08:00
Wayne Warthen
1a9701e51d Version 3.4 Final 2023-12-31 16:35:43 -08:00
Wayne Warthen
23e0b82112 Merge pull request #378 from wwarthen/dev
RomWBW v3.4
2023-12-31 16:12:45 -08:00
Wayne Warthen
b4b5ef19fc Regen Doc 2023-12-31 15:32:17 -08:00
Wayne Warthen
4dd46c3df6 Regenerate Documentation 2023-12-30 14:15:35 -08:00
Wayne Warthen
17e3a95768 Add FAT.COM to Standard ROM Disk
- Added FAT.COM application to standard ROM Disk (ROM size >= 512K)
- Removed RMAC.COM and LINK.COM to make space for FAT.COM
2023-12-30 13:29:26 -08:00
Wayne Warthen
3529cdaa2f Update cpuspd.asm
- Improve display of CPUSPD utility.
2023-12-29 19:55:21 -08:00
Wayne Warthen
556b7074ae Missed Files 2023-12-29 15:55:25 -08:00
Wayne Warthen
952489eac4 Miscellaneous
- Corrected inconsistencies in CPU oscillator speed configuration for Z280 systems.
- Updated Bill Chen's ZZRCC monitor from v0.5 to v0.6.
2023-12-29 15:18:34 -08:00
Wayne Warthen
8f326fb081 Fix Makefile for MacOS 2023-12-28 14:44:25 -08:00
Wayne Warthen
2925ab3d42 Miscellaneous
- Update PR template for new branching under v3.4
- Tweak Makefile.inc for slightly improved performance
- Improve UART driver messaging when bad CTS signal is detected
2023-12-28 12:50:04 -08:00
Wayne Warthen
cdb9f9b40a Initial Release Candidate for v3.4
- Minor doc updates
- Comment updates in ansi.asm and tms.asm
- Correction to build process for ROMless systems
- Fix for ZRC (default configuration) to use all available RAM
2023-12-27 17:31:01 -08:00
Wayne Warthen
def84eded9 Integrate Jose Collado's Screen Color Enhancements
Credit and thanks to Jose Collado

- This change enhances both the TMS driver and ANSI emulation to handle setting of screen foreground/background.
2023-12-22 16:09:33 -08:00
Wayne Warthen
d89e055f18 Doc Updates
- Updated change log and code attribution in preparation for upcoming stable release.
2023-12-22 11:45:07 -08:00
Wayne Warthen
62f9330de8 Enable DSKY by Default for Duodyne
- Updated main Duodyne config file to enable DSKY
- Fixed issue in dbgmon.asm that caused DSKY auto-increment when examining/modifying RAM to fail.
2023-12-21 17:52:06 -08:00
Wayne Warthen
374ed7ab97 CH37x Driver Cleanup
- Split out the SD and USB specific support from the main CH37x driver to optimize code space usage.
- Ensure CH37x mode switch is handled properly when there are multiple devices active in a system.
2023-12-20 15:38:37 -08:00
Wayne Warthen
c7bee46f60 Workaround CH376 Reset Behavior
I am encountering some CH376 chips that go haywire after a
reset command.  They stop responding for a very long time.
I am seeing this only on "LC Tech" adapters and only on Z80
systems (not Z180).  No idea what is going on, so I am
giving up for now and removing the reset.
2023-12-18 17:35:57 -08:00
Wayne Warthen
e9b9782ede Correction for CH Driver Config
- Last check-in had a couple of config file errors which are corrected here.
- Also updated Appendix A of the User Guide to reflect new CH37x port addressing.
2023-12-18 14:44:26 -08:00
Wayne Warthen
af00df9182 Update CH Driver Port Config for RCBus Systems
- Updated to standardize on 0x3E/0x3F for primary CH device and 0x3C/0x3D for secondary CH device.  Both devices are optional and detected automatically.
2023-12-18 13:04:50 -08:00
Wayne Warthen
e286a428bf Preliminary Support for Monsputer 2023-12-14 11:28:07 -08:00
Wayne Warthen
f2fc049f07 Support Duodyne SD Card Interface 2023-12-12 14:11:26 -08:00
Wayne Warthen
d8a485a5fb Add Support for Duodyne PPIDE Disk Interface 2023-12-10 18:04:38 -08:00
Wayne Warthen
ed53030de2 Extend IDE Reset Delay & Support Duodyne FDC
- The post-reset delay of both the IDE and PPIDE drivers has been extended.  The SD-IDE adapters need more time to initialize before being ready to behave as proper IDE devices.
- Added support for the FDC section of the Duodyne Disk-IO board.
2023-12-10 17:28:04 -08:00
Wayne Warthen
4b88986de8 Fix .gitignore 2023-12-09 17:02:45 -08:00
Wayne Warthen
3df34b4ce0 Add ZRC512 Support
Thanks and credit to Bill Shen for providing the build updates.
2023-12-09 16:26:23 -08:00
Wayne Warthen
f230fb22da Enable Duodyne Front Panel
- Support for LEDs and switches by default
2023-12-08 11:05:45 -08:00
Wayne Warthen
2225847212 Additional Improvement to BPBIOS Bank Management 2023-12-07 12:58:44 -08:00
Wayne Warthen
edbe7d0781 Improved BPBIOS Bank Id Management 2023-12-06 19:37:02 -08:00
Wayne Warthen
1d3438fb29 Convert BPBIOS to hd1k Hard Disk Format 2023-12-05 20:29:00 -08:00
Wayne Warthen
a5de77438b Resurrect BPBIOS Build
- Corrected to handle latest changes in RomWBW HBIOS bank layout.
2023-12-05 16:07:16 -08:00
Wayne Warthen
b841705023 Final Round of User Guide Updates per Martin R 2023-11-30 12:52:11 -08:00
Wayne Warthen
72cdbdd4ad Documentation Updates Inspired by Martin R
- Implemented a crude mechanism to output config settings during a build which can be imported into the User Guide appendix.
2023-11-29 18:54:51 -08:00
Wayne Warthen
b8ef50fad5 Update ZETA_std.asm
- Correct assumed CPU speed in ZETA std config.
2023-11-27 19:15:19 -08:00
Wayne Warthen
c7d22892c1 Update std.asm
Fix assembly error.
2023-11-27 17:58:24 -08:00
Wayne Warthen
8b3deb057f User Guide Updates per Martin R
- Credit and thanks to Martin R for providing a substantial list of suggested fixes and improvements to the User Guide.  I have done my best to address them -- others will require more time and will hopefully be addressed in the future.
2023-11-27 17:44:53 -08:00
Wayne Warthen
df42cf544e Support Mini-ITX Z180 Platform by Alan Cox
Support for Mini-ITX contributed by Alan Cox.
2023-11-24 18:03:19 -08:00
Wayne Warthen
55a41ec0a3 TMS Driver Enhancement by Jose Collado
- The 40 column mode of the TMS driver now conforms to the memory map from the TMS9918 documentation and is also now consistent with the existing TMS9918 video programs from the RC2014 forum.
2023-11-24 17:15:29 -08:00
Wayne Warthen
4417f871e5 Update AddRom.cmd
- Minor improvements
2023-11-21 14:55:14 -08:00
Wayne Warthen
1c10f734bd Create AddRom.cmd
Experimental command line script (Windows only) to add a ROM image to user area 0 of hd1k_combo.img.  Intended to make it easier to get a ROM image to a system for subsequent FLASHing.
2023-11-21 14:36:56 -08:00
Wayne Warthen
214182b514 Fix RTC Initialization
When using the Z2 memory manager, if the HBIOS exceeds 16K, RTCDEFVAL will not be accessible prior to programming the Z2 memory bank registers.  In this corner case the RTC latch could be mis-programmed.  This commit introduces a workaround.
2023-11-21 11:59:31 -08:00
Wayne Warthen
08942fb944 Support Duodyne SelfHost UART 2023-11-20 17:01:53 -08:00
Wayne Warthen
5dc724785b Completed CH37x Driver
The ch.asm driver now supports SD Card operations (only possible for CH376).
2023-11-19 14:48:41 -08:00
Wayne Warthen
ce17be9ba6 CP/M 3 RAM Check
- Check to ensure that we have enough RAM banks for banked CP/M 3 startup.  If not, message and return to boot loader.
2023-11-18 16:58:23 -08:00
Wayne Warthen
badca621ba Merge pull request #372 from dylanhall/dev
Allow override of secondary console front panel switch selection
2023-11-18 16:54:50 -08:00
Dylan Hall
291cdd2c03 Use SECCON to override default secondary console selection 2023-11-17 17:47:01 +13:00
Wayne Warthen
888d9879c9 Preliminary Support for CH37x SD Cards
- Currently operates as a read only disk device.
2023-11-16 19:39:09 -08:00
Dylan Hall
39446d5e4f Add SECCON to config files 2023-11-17 16:36:29 +13:00
Wayne Warthen
af8385fba8 Fix IM1 Handling for Z180 - Credit to Dylan Hall
- Z180 code failed to initialize interrupt vector registers for IM1 startup
- Updated bad interrupt messaging to avoid interrupt stack overflow
2023-11-15 12:48:55 -08:00
Wayne Warthen
10ff97b6c6 ACIA Interrupt Fix & ROMless APPBOOT Fix
- ACIA driver was not properly returning ZF to indicate if it handled an interrupt.
- APPBOOT was failing on ROMless systems because it was copying the HBIOS code overtop of itself.
2023-11-09 14:37:46 -08:00
Wayne Warthen
7e9191f3ef Update ps2info.asm
- Updated PS2INFO to handle extraneous 0x00 byte after reset command.
2023-11-07 18:30:17 -08:00
Wayne Warthen
a67b1ecd0a Fix RTC Init on ROMless Restart
- On ROMless restart, the RTC was not being included in the boot messages.
2023-10-31 14:54:07 -07:00
Wayne Warthen
4012ee7775 Update User Guide
Based on input from Issue #364, I have attempted to clarify a few areas on the User Guide:
- Recommendation to only use ROM OSes only for limited purposes
- Added a more detailed description of the automatic drive assignment algorithm
- Added more detail on batch file auto-submission
2023-10-31 13:03:09 -07:00
Wayne Warthen
150ca6b50c Fix .gitignore 2023-10-30 15:03:59 -07:00
Wayne Warthen
6af84e9ad8 Update Makefile
- Fix Makefile
2023-10-30 14:29:02 -07:00
Wayne Warthen
6bcad122cd Add Z1RCC Support
- Added build support for Bill Chen's Z1RCC.
- Thanks and credit to Bill for supplying the bulk of the build changes.
2023-10-30 14:14:11 -07:00
Wayne Warthen
003481410f Update UNARC to Universal UNARC from Lars Nelson
- Credit and thanks to Lars Nelson for providing an enhanced version of UNARC.
2023-10-30 12:07:26 -07:00
Wayne Warthen
9a1c3f7929 Minor Fix in SPK Driver and Tick Counter Space Reservation
- Fix ensures that the speaker control bit is set the same as it was initially after playing a tone.
- Reserve 2 bytes in the proxy for a platform dependent tick counter value.  Currently for HEATH platform.
2023-10-30 11:41:31 -07:00
Wayne Warthen
ef536750ea Makefile Improvements
These changes improve the chances of a make operation actually failing when a nested error occurs.
2023-10-24 13:25:32 -07:00
Wayne Warthen
347a15a3b6 Build Script Updates
- Minor update to GitHub build scripts
2023-10-23 18:30:40 -07:00
Wayne Warthen
1e5b38c251 PS2INFO Update & OpenSpin Conversion
- Added support for Duodyne to PS2INFO application.
- Switched all build paths to consistently use OpenSpin since it appears to be compatible with all build environments supported by RomWBW.
2023-10-23 18:07:42 -07:00
Wayne Warthen
29f93fb153 Enable CH and LPT Drivers for Duodyne 2023-10-19 17:23:08 -07:00
Wayne Warthen
b0975745df Bump Version 2023-10-19 15:47:45 -07:00
Wayne Warthen
163460856a Add Real Time Clock Section to User Guide, Issue #368 2023-10-19 15:03:49 -07:00
Wayne Warthen
3ce9246904 Update FLASH to v1.3.7
Thanks and credit to Will Sowerbutts for contributing and maintaining this critical utility!
2023-10-19 14:09:45 -07:00
Wayne Warthen
1a021e02b9 Enable PIO Support for Duodyne 2023-10-16 15:51:14 -07:00
Wayne Warthen
f2d304ef0d Update cfg_duo.asm 2023-10-15 18:03:01 -07:00
Wayne Warthen
cbfbca8d92 Support New Duodyne Boards
- Added support for Duodyne Multi-IO board
- Added support for Duodyne Zilog-IO board
- Added SUPCTS equate in hbios.asm to allow selectively adding code to suppress use of CTS during HBIOS boot
- Added reference in User Guide to Bruce Hall's Assembly Language Programming document
2023-10-15 17:53:35 -07:00
Wayne Warthen
b175808a92 Fix for CP/M 3 Floppy Boot
- CP/M 3 ldrbios had not been properly updated for device type id change.
- ASSIGN command was not handling DPB's correctly due to device type id change.
2023-10-13 10:29:43 -07:00
Wayne Warthen
3e86e79133 Fix Makefiles 2023-10-12 17:45:00 -07:00
Wayne Warthen
3247e67ed4 ZRC and ZZRCC Image Creation Updates
- Modified ZRC and ZZRCC image creation scripts to allow up to 0x1B8 of boot code.
2023-10-12 17:25:40 -07:00
Wayne Warthen
bbc84f0c2d Fix FAT Application API Call
FAT application had not been updated to reflect a change in the HBIOS Disk Device API call return data.  This is corrected in this check-in.  Related discussion in #368.
2023-10-12 12:49:05 -07:00
Wayne Warthen
872d51e9b6 Detect CTS Stall
- Detect CTS at startup to ensure it is asserted.  If not, disable hardware flow control to avoid stalling the console at boot.  Only for UART driver because this is the only place it is currently relevant.
2023-10-10 14:09:21 -07:00
Wayne Warthen
b41f189a4c Miscellaneous
- Add minimal Fuzix instructions to User Guide
- Enable CTC auto-detect by default for RCBus.  It causes no problems to auto-detect it and it will stop a CTC from generating unexpected interrupts after a soft restart.
- Upgrade `SUPERSUB` to v1.3 (previously v1.1)
2023-10-09 16:50:18 -07:00
Wayne Warthen
25fb2bd59e Rename ZZRC -> ZZRCC, Update to CLRDIR
- The naming of ZZRCC was incorrectly ZZRC.  Corrected.
- Max Scane has provided a small bug fix for CLRDIR.
- Minor build updates for new HTalk utility.
2023-10-08 17:57:58 -07:00
Wayne Warthen
76867b8351 Merge pull request #367 from TomPlano/dev
Uploading HTalk program to supplement talk.com program
2023-10-08 17:12:49 -07:00
Tom Plano
43745f8c90 Uploading HTalk program to supliment talk.com program. Similar functionality, but uses HBIOS calls and Char IDs, as opposed to CP/M calls and IDs 2023-10-08 18:22:09 -05:00
Wayne Warthen
ed4daf06a4 CP/M 3 Memory Configuration Regression
Put CP/M 3 disk buffers back in alternate banks.
2023-10-08 07:32:01 -07:00
Wayne Warthen
14cc41c3c4 Fix hd512 Layout
- Slice protection changes broke hd512 layout.  Fixed.
- Updated documentation for slice protection changes.
2023-10-07 19:01:36 -07:00
Wayne Warthen
0598d921bc Floppy Fix
- Recent change to device type id's broke floppy access.  This is corrected.
2023-10-07 16:01:09 -07:00
Wayne Warthen
93dcfe9610 Slice Protection, Issue #366
- Dean Jenkins has motivated me to implement additional protection from using a slice that does not fit within the capacity of the physical disk being used.  You can still assign an unusable slice, but when you try to refer to it, you will immediately get a "no disk" error from the OS.
2023-10-07 15:15:10 -07:00
Wayne Warthen
d98547dea3 Minor Doc and Build Tweaks 2023-10-06 16:53:52 -07:00
Wayne Warthen
a157d9ba13 Device Type ID Reorganization
Driver Device Type ID's have been stored in the upper nibble.  However, running out of ID's, I have changed them to occupy the entire byte.

This is a breaking change, so I have updated the minor version number to maintain integrity between components.  So, v3.3 will never become a stable release and I am moving directly to v3.4.
2023-10-05 18:08:52 -07:00
Wayne Warthen
85783148be Bump Version 2023-10-05 15:33:41 -07:00
Wayne Warthen
7bd930bc76 Issue #366
Further refinements to User Guide based on input from Dean Jenkins.
2023-10-05 15:04:26 -07:00
Wayne Warthen
c1fa7b420a SD Media Automatic Drive Assignment - Issue #365
- Modified SD Media handling such that no OS drive letters will be assigned automatically at OS Startup if there is no media inserted.
2023-10-05 10:14:30 -07:00
Wayne Warthen
9072bc6d70 Issue #366
Based on input from Dean Jenkins:
- Updated User Guide to clarify some nuances related to use of Combo Disk Images
- Added "blank" slice images
2023-10-04 16:54:34 -07:00
Wayne Warthen
480dbe4f4c Add Disk Images for ROMless Configurations 2023-10-03 19:44:49 -07:00
Wayne Warthen
26fad23c3a Z280 ROMless Fixes
- Corrected a couple deficiencies that caused Z280 CPUs to fail in the new ROMless configuration
2023-10-03 15:24:18 -07:00
Wayne Warthen
883dab7e97 ROMless Operation Overhaul
- Implement new approach to ROMless boot and operation.  Still missing the ability to seed the RAM disk.
- Tweaks to CH driver
2023-10-01 17:22:19 -07:00
Wayne Warthen
d3f5643791 CH Driver Tweaks 2023-09-24 16:47:36 -07:00
Wayne Warthen
5299d24379 Merge pull request #363 from skullandbones/Issue-362_RPI4_no_bios.bin_v1
zxcc: Fix for load bios.bin failure on a RPi4
2023-09-24 16:25:50 -07:00
Dean Jenkins
a229db96a6 zxcc: Fix for load bios.bin failure on a RPi4
Fix load_bios() when used on a Raspberry Pi4.

The defect was corrupting the path of the zxcc executable.

The fix is to NUL terminate the path string from the readlink()
call.
2023-09-24 17:04:35 +01:00
Wayne Warthen
092e44c62e RPi Builds & CH375/6 Support
- The build process was enhanced by Dean  Jenkins to support the Raspberry Pi.  Note that the Propeller firmware will not be generated by a RPi build.  See Issue #358.
- Initial support for USB storage via CH375/6.
2023-09-22 14:13:12 -07:00
Wayne Warthen
722bce819b Bump Version 2023-09-16 13:41:32 -07:00
Wayne Warthen
2d470a2a90 Merge pull request #360 from danwerner21/dev
ESP32 Driver updates
2023-09-16 13:24:08 -07:00
Dan Werner
b6700dfa4c ESP32 Driver updates 2023-09-16 14:47:09 -05:00
Wayne Warthen
cfc76d0659 Add Heath H8 Framework 2023-09-14 19:38:17 -07:00
Wayne Warthen
7fce3277a0 Create SCZ180_sc700.asm
- Missed this file on last commit
2023-09-13 14:56:24 -07:00
Wayne Warthen
2219e4c82d Miscellaneous
- Add SCZ180_sc700 standard build
- Minor fix to DMAMON
2023-09-13 14:03:54 -07:00
Wayne Warthen
68e841e62c Miscellaneous
- Minor correction to DMAMON to restore proper operation of interrupt testing
- Minor improvements to QPM documentation
2023-09-11 10:17:57 -07:00
Wayne Warthen
bb70c36b36 Improve QPM Build
The QPM portion of the build has been updated to dynamically combine the current CBIOS with the static QPM CCP and BDOS binaries.  This will keep the QPM system image up to date and avoid HBIOS version mismatch warnings.
2023-09-09 16:18:40 -07:00
Wayne Warthen
c391fd6d56 Support S100 Propeller Console 2023-09-07 18:16:25 -07:00
Wayne Warthen
e69caf5059 Add SROM (Serial ROM) Utility 2023-09-05 16:29:05 -07:00
Wayne Warthen
8b7e71049b FDC Detection Update & Enable ESP Driver on Duodyne
- Based on reports from Martin R, the FDC detection algorithm has been updated to try reading the FDC MSR register twice to try and get the desired value of 0x80.
- Dan Werner's ESP board for Duodyne is working well, so the default Duodyne config has been changed to automatically detect this board.
2023-08-25 10:25:07 -07:00
Wayne Warthen
50e190c755 Merge pull request #357 from fernandocarolo/dev
Fix references to the EPFDC driver in comments.
2023-08-23 14:44:47 -07:00
Wayne Warthen
d0eccf026b Enable INTRTC for Easy Z80 2023-08-23 14:28:20 -07:00
Fernando Carolo
39f796ce22 Fix references to the EPFDC driver in comments.
The EtchedPixels floppy disk controller is known by the identifier
'FDMODE_EPFDC', but the comments in the Config subdirectory have an
incorrect reference to 'EPWDC'. This fix updates the comments to use the
correct name.
2023-08-23 21:02:48 +01:00
Wayne Warthen
5610e79db4 Improve FD Driver Detection
Credit to Martin R for reporting that his FDC was not being detected.  The delay between FDC status register reads was increased in the detection routine to correct this.
2023-08-22 15:22:11 -07:00
Wayne Warthen
e782b78b16 Bump Version 2023-08-22 11:02:08 -07:00
Wayne Warthen
c0d3969244 Merge pull request #356 from b1ackmai1er/dev
Duo/MBC IM2 Hardware Timer support
2023-08-22 10:54:30 -07:00
b1ackmai1er
c62af3df33 MBC / DUO IM2 template
Template for setting up interrupts using the IM2 pin header on MBC and DUO platforms.
2023-08-22 13:16:42 +08:00
b1ackmai1er
6d736996fd Merge pull request #60 from wwarthen/dev
Support Serial Ports on ESP32 Board
2023-08-22 12:32:56 +08:00
Wayne Warthen
8bc801d0a4 Support Serial Ports on ESP32 Board 2023-08-21 17:40:34 -07:00
b1ackmai1er
2c6b7f7fb1 Update std.asm 2023-08-21 16:38:59 +08:00
b1ackmai1er
c3503f56d1 Update cfg_z80retro.asm 2023-08-21 16:29:27 +08:00
b1ackmai1er
d4c87996f0 Merge branch 'dev' of https://github.com/b1ackmai1er/RomWBW into dev 2023-08-21 16:25:29 +08:00
b1ackmai1er
9f5b3a8b1c Duo/MBC IM2 Hardware Timer support 2023-08-21 16:00:47 +08:00
Wayne Warthen
d06e1e2a5c Initial DUO Interrupt Handling 2023-08-20 15:03:34 -07:00
Wayne Warthen
22a0c52af3 Bump Version 2023-08-20 12:10:32 -07:00
Wayne Warthen
85aa7e89c2 Merge pull request #355 from b1ackmai1er/dev
Update DMAMON
2023-08-20 11:56:16 -07:00
b1ackmai1er
59d04f2446 Update std.asm 2023-08-20 18:18:55 +08:00
b1ackmai1er
9cc52e30d6 Update dmamon.asm 2023-08-20 18:16:19 +08:00
Wayne Warthen
e1a4e815dc Fix S100 Z180 Board LED Operation
- Status LED for S100 Z180 board was not enabled.  Credit to Jay Cotton for finding this.
2023-08-17 12:53:59 -07:00
Wayne Warthen
3c340d1ab9 Miscellaneous
- Minor documentation updates
- Improve ESP driver hardware detection
2023-08-17 11:26:19 -07:00
Wayne Warthen
138248fafc Merge pull request #354 from oholiab/xm_send_on_port
Add port option to XM's send mode
2023-08-16 19:40:40 -07:00
Matt Carroll
834eefb0bb Add port option to XM's send mode 2023-08-16 15:03:12 +01:00
Wayne Warthen
7835eb5deb Duodyne Work in Progress
- Updated DMA Driver
- Updated PCF I2C Driver
2023-08-02 13:21:52 -07:00
Wayne Warthen
d1a5c66147 Update DUO_std.asm 2023-07-28 15:43:31 -07:00
Wayne Warthen
b184ccfb78 Miscellaneous
- Updated S100 Monitor launch code to warn user if console will be directed to S100 bus vs. active on-board UART.
- Updated Duodyne early boot to add a delay to stabilize the boot process.  This is temporary and needs to be further investigated.
2023-07-28 15:19:54 -07:00
Wayne Warthen
4776b32cd3 Revise S100 Monitor Boot Option 2023-07-26 13:52:50 -07:00
Wayne Warthen
2bc5333f2b Add Boot Loader Menu Entry for S100 Z180 Monitor Invocation 2023-07-25 16:47:51 -07:00
Wayne Warthen
a5575456e2 Initial Support for Duodyne 2023-07-24 19:24:49 -07:00
Wayne Warthen
bdb8dc020b Update S100 Monitor to v0.34 2023-07-22 18:56:37 -07:00
Wayne Warthen
faaba69554 Improve sd.asm SD Card Compatibility
- PIO mode of sd.asm driver modified to setup shadow register (Issue #352).
- Relocated Z280 IVT to improve space utilization in HBIOS bank.
2023-07-17 14:52:14 -07:00
Wayne Warthen
0395bba4f5 Preliminary Support for ESP32 Nhyodyne Module
- Initial console support for Dan Werner's ESP32 Module
2023-07-10 13:16:24 -07:00
Wayne Warthen
14ac7a917b Upgrade s100mon to Latest
- Incorporated latest S100 Board Monitor code from John Monahan
2023-07-09 12:38:48 -07:00
Wayne Warthen
7a209d4053 S100 Monitor Update
The S100 Monitor will now allow launching RomWBW using the 'B' command.
2023-07-08 18:03:13 -07:00
Wayne Warthen
7e5b140c2f Update Makefile 2023-07-07 17:19:39 -07:00
Wayne Warthen
1f1952fb19 Add S100 and DUO Platforms 2023-07-07 16:18:01 -07:00
Wayne Warthen
229bdaa308 Support Z180 IM1
Added proper support for interrupt mode 1 on Z180.
2023-07-01 15:33:18 -07:00
Wayne Warthen
5c0894b8c1 Merge pull request #351 from jblang/dev
Add ColecoVision-compatible configuration
2023-07-01 11:56:15 -07:00
J.B. Langston
9cefcfb0bc Add ColecoVision-compatible configuration 2023-07-01 10:16:49 -05:00
Wayne Warthen
5d34a5c5d5 Miscellaneous
- Implement SHOWHEX functions in ICM and PKD drivers
- Improve DSKY common routines in HBIOS
- Include key CP/M 2.2 programs in NZCOM floppy image
2023-06-29 16:33:22 -07:00
Wayne Warthen
f8c800e527 Create DSKY Driver Framework
Added a new driver category for DSKY (Display/Keypad) devices.  Existing DSKY devices were converted into drivers ICM and PKD.  These devices were previously DSKY and DSKYNG.

This removes substantial code duplication and recovers significant space in romldr and dbgmon.
2023-06-28 15:06:53 -07:00
Wayne Warthen
b90e4d932a Update fd.asm
- Fix typo
2023-06-20 16:12:49 -07:00
Wayne Warthen
5457a7e7fd Improve OS Boot Drive Assignment
- Modified the Disk Device function call (DIODEVICE) to provide new attributes related to disk size and removability.
- Leveraged API change to allow handling drive assignment differently depending on ATAPI vs. ATA interface.
2023-06-20 15:52:34 -07:00
Wayne Warthen
8f5cc510ee Missing Files 2023-06-16 15:18:49 -07:00
Wayne Warthen
0475f5e853 Minor Cleanup
- Update FPLED port values for some configs
- Fix Linux/MacOS build for new disk images
2023-06-16 14:56:20 -07:00
Wayne Warthen
5b7dee0689 Merge pull request #348 from rprouse/issue/347
Adds programming and games disk images
2023-06-16 13:37:25 -07:00
Rob Prouse
6532f61747 Remove DELBR.COM 2023-06-16 10:51:20 -04:00
Rob Prouse
4bdae4eccb Remove USQ.COM 2023-06-16 10:47:55 -04:00
Rob Prouse
efb9840b86 Remove MBASIC85 2023-06-16 08:57:19 -04:00
Wayne Warthen
308a11cb32 Merge pull request #350 from wwarthen/master
Update pull_request_template.md
2023-06-15 12:51:55 -07:00
Wayne Warthen
3a7421de33 Update pull_request_template.md 2023-06-15 12:50:51 -07:00
Wayne Warthen
21a58397b6 Merge pull request #349 from wwarthen/master
Create pull_request_template.md
2023-06-15 12:16:59 -07:00
Wayne Warthen
9ae61806dc Create pull_request_template.md 2023-06-15 12:15:37 -07:00
Rob Prouse
87ac6f07f8 Fix spelling mistake, Tory -> Tony 2023-06-15 13:37:17 -04:00
Rob Prouse
1cd5313259 Remove all HLP files that I added 2023-06-15 13:28:44 -04:00
Rob Prouse
04c1ff04ac Remove CPM2.HLP 2023-06-15 13:19:55 -04:00
Rob Prouse
0e1a0afa2c Replace HI-TECH C with latest version from https://github.com/agn453/HI-TECH-Z80-C 2023-06-15 13:16:52 -04:00
Rob Prouse
5227bb68b5 Added documentation for the new disk images 2023-06-14 14:10:15 -04:00
Rob Prouse
fb68941768 Adds programming and games disk images 2023-06-14 12:45:41 -04:00
Wayne Warthen
8747ec8d02 Clean-up of ATAPI Support
- Improved media handling and error reporting.
2023-06-13 17:02:13 -07:00
Wayne Warthen
abd939625f Support ATAPI in IDE and PPIDE Drivers
- Support is limited to 512 byte sectors.  So, devices such as ATAPI Zip Drives will work.  CD-ROM devices will not because they use a larger sector size.
2023-06-12 15:56:36 -07:00
Wayne Warthen
69716abb25 Regen Doc 2023-06-08 12:34:42 -07:00
Wayne Warthen
1f526d440a Add WDATE Command, Final PPA/IMM/SYQ Driver Cleanup
- Added WDATE command courtesy Kevin Boone.  See https://github.com/kevinboone/wdate-cpm for more information.
- Final cleanup of PPA/IMM/SYQ drivers including CPU speed compensated timeouts.
2023-06-08 11:59:07 -07:00
Wayne Warthen
84374c86e6 Cleanup and Optimizations for PPA/IMM/SYQ Drivers 2023-06-06 16:21:56 -07:00
Wayne Warthen
45ea46b105 Small Bug Fix for PPA/IMM/SYQ Drivers
Credit to Mark Elkin for testing and finding this issue.
2023-06-03 14:27:33 -07:00
Wayne Warthen
1333d6a491 Functional PPA Driver 2023-06-02 15:30:10 -07:00
Wayne Warthen
b7e865dbf1 Preliminary SyQuest Driver 2023-06-01 16:13:26 -07:00
Wayne Warthen
1c411f5552 Add IBM Standard Parallel Port Support to IMM Driver 2023-05-27 16:45:21 -07:00
Wayne Warthen
364e48a5d3 IMM Driver Cleanup, PPA Driver Skeleton
IMM Driver has rational timeouts now.  It also lights the MG014 LED during activity.
The PPA skeleton just attempts to determine if the PPA interface is present.  It does not attempt any I/O.
2023-05-26 16:48:13 -07:00
Wayne Warthen
63cb89dcfc Preliminary IMM Driver (Zip Drive)
Thanks to Alan Cox for inspiring this.  Much of the code was usurped from Fuzix.
2023-05-23 18:35:18 -07:00
Wayne Warthen
6e316b46f0 Document p-System Volume Management Python Script
- Andrew Davidson created a nice Python script to extract/insert p-System volumes from/to disk images.  Added a reference to his website in the p-System ReadMe.txt file.
2023-05-11 14:20:54 -07:00
Wayne Warthen
3f23396536 Support for MG014 RCBus Parallel Port Module 2023-05-10 18:37:47 -07:00
Wayne Warthen
c628ba10f2 Workaround Z280 CPU Bug for LZSA2
The LZSA2 decompressor invoked a known Z280 CPU bug.  A small modification to the code resolves this.
2023-05-07 17:45:43 -07:00
Wayne Warthen
9358299f14 Z280 Workaround for VGARC
Z280 is having an issue with OTDR instruction when loading the font for VGARC.  For now, the use of OTDR has been eliminated.
2023-05-07 16:27:25 -07:00
Wayne Warthen
d445c4a015 Disable LZSA Compression for Z280
- The LZSA2 decompressor code is failing mysteriously on Z280 CPUs.  I have simply disabled it in the Z280 primary configuration file.
2023-05-04 14:14:36 -07:00
Wayne Warthen
e32002545b VGARC Improvements, Doc Fix
- Added ability to enable VGARC and front panel in default config without I/O conflicts (does **not** support having both types of hardware present at the same time).
- Fixed documentation error in issue #345 reported by @MorfeoMatrixx.
2023-05-03 15:58:12 -07:00
Wayne Warthen
7ac88efac1 Support for VGARC
Initial support for Bill Shen's VGARC video/keyboard module for RCBus.
2023-05-02 19:23:51 -07:00
Wayne Warthen
9f71fe05aa Cleanup IDE and PPIDE drivers
- The use of hardware reset has been improved such that it is generally only used at initial boot up.
- Minor improvements to CF card detection and initialization.
- Implement a simple wait mechanism to accommodate the startup time of the RC2014 SD Pico module.
- Front panel I/O port for SC series of systems has been moved to 0x00 which is consistent with all other systems and avoids some I/O conflicts.
2023-04-30 12:03:16 -07:00
Wayne Warthen
ad3c533145 Fix IDE Detection on Spinning Disks
Prior improvement to IDE device detection broke detection of spinning hard disks.  IDE registers cannot be used prior to device init completion (spin up).  Not a problem for CF, but special steps required to ensure devices are fully initialized before register testing.
2023-04-23 18:47:43 -07:00
Wayne Warthen
e43a939f54 Improve IDE Device Detection
Per issue #343, some systems could initially detect a non-existent IDE device which would cause a long time-out.  This should resolve the issue.
2023-04-21 17:08:18 -07:00
Wayne Warthen
e5b7409f44 Support Per-floppy Device Drive Types
- Floppy devices are now configured per-device so that each floppy drive can be different (e.g., first floppy is 3.5" and second floppy is 5.25").
- Removed need to use termination signal on floppy sector I/O.

Addresses issue #318
2023-04-20 16:24:14 -07:00
Wayne Warthen
9100f199b1 Z80-Retro SD Card Support (Alan Cox) 2023-04-18 11:40:22 -07:00
Wayne Warthen
bcc50a31a9 Fix SIO Ports in Z80R Mode 2023-04-17 19:22:37 -07:00
Wayne Warthen
c891ba2bad Support Z80-Retro Platform
Code provided by Alan Cox
2023-04-16 20:30:16 -07:00
Wayne Warthen
2f9e77ca13 Merge branch 'dev' of https://github.com/wwarthen/RomWBW into dev 2023-04-14 19:05:49 -07:00
Wayne Warthen
f346209c82 Front Panel Switch Support 2023-04-14 19:05:37 -07:00
Wayne Warthen
0742fb6188 Merge pull request #342 from wwarthen/master
Merge pull request #340 from wwarthen/dev
2023-04-14 19:00:02 -07:00
Wayne Warthen
94239866a5 Merge pull request #340 from wwarthen/dev
Dev
2023-04-14 18:29:17 -07:00
Wayne Warthen
2681b84a20 Finalize v3.2.1 2023-04-14 18:10:24 -07:00
Wayne Warthen
b5437c56e9 Suppress Serial HFC During Boot
If serial hardware flow control is enabled, but not working, then a system will appear dead because it won't send any data to the host computer.  This change suppresses hardware flow control during boot just to ensure that boot messages can make it to the serial console.  This will only be effective for serial interfaces that support dynamic management of HFC.
2023-04-11 13:09:22 -07:00
Wayne Warthen
f640630a06 CPU Speed Calc Tweek
- Exit CPU speed detection routine earlier if the clock is not ticking.
- Fix minor regression in the SBC_simh.asm config file.
2023-04-10 16:20:12 -07:00
Wayne Warthen
53e201bd28 Handle Overflow in CPUSPD
Edge case where the CPU speed detection routine would overflow in a fast emulator and return a speed of 0.000 MHz.  Modified to fail back to the default CPU speed from the config file if an overflow occurs.
2023-04-09 12:48:36 -07:00
Wayne Warthen
51d962aeab Finalize v3.2.1 2023-04-07 10:22:46 -07:00
Wayne Warthen
5f36cf9a12 Fix TUNE Delay Factor Handling 2023-04-03 13:44:52 -07:00
Wayne Warthen
d812066f2e Update Z80 Tests
Update Z80 CPU instruction test suite to v1.2.
2023-03-29 15:46:46 -07:00
Wayne Warthen
7563863be2 DOS/65 Refresh
- Refresh WIP files of DOS/65 from Dan Werner
- Another tweak to SURVEY
- Regen PDF docs
2023-03-27 14:44:54 -07:00
Wayne Warthen
9654d487ba Merge pull request #338 from b1ackmai1er/dev
VGMPLAY documentation and YM2151 support
2023-03-27 14:14:14 -07:00
b1ackmai1er
5b339aef3e Update vgmplay.txt 2023-03-27 23:39:26 +08:00
b1ackmai1er
47a7d81bb9 Update Applications.md
Add basic VGMPLAY information
2023-03-27 23:36:24 +08:00
b1ackmai1er
a92c44e53f ym2151 vgm files 2023-03-26 20:43:47 +08:00
b1ackmai1er
cc9f5dd516 Update vgmplay.asm
YM2151 updates
2023-03-26 19:31:52 +08:00
Wayne Warthen
6e34de0e02 Cosmetic
Minor cosmetic changes in source.
2023-03-25 12:05:57 -07:00
Wayne Warthen
5a6d7f853b Update HEXCOM.COM
Renamed HEXCOM.CPM -> HEXCOM.COM.
2023-03-25 11:57:26 -07:00
b1ackmai1er
a646f49866 Merge pull request #52 from wwarthen/dev
Dev
2023-03-24 17:06:35 +08:00
Wayne Warthen
98a33b8b50 CTC & CPU Speed
- Revamped CTC detection algorithm hoping to handle problem XRBR is having
- Fixed typo in dynamic CPU speed test that caused it to not be properly recorded/reported (credit XRBR)
- Allow use of DEL/RUBOUT keys as backspace in ROM Loader and Debug Monitor
2023-03-23 12:54:57 -07:00
Wayne Warthen
8aebaab3fe Fix SURVEY.COM (again)
- Previous fix to SURVEY.COM port survey broke the memory survey.  Everything should be OK now.
- Regenerated documentation.
2023-03-22 16:15:04 -07:00
Wayne Warthen
798d8c3ea3 Merge pull request #337 from wwarthen/master
Sync
2023-03-22 15:58:32 -07:00
Wayne Warthen
bbaf2b0714 Merge pull request #336 from elevendroids/master
Fix default ZETA V2 SBC configuration
2023-03-22 15:57:43 -07:00
Michal Potrzebicz
74a8283bba Fix default ZETA V2 SBC configuration
- Set the default CPUOSC to 8MHz (default value in the project's
  documentation), updated the User Guide
- Set the FDD controller to ZETA2 - regression introduced in bd664c3
2023-03-22 22:37:22 +00:00
Wayne Warthen
e869e55252 Prep v3.2.1 Development Branch 2023-03-21 14:48:28 -07:00
Wayne Warthen
e8a76817dc Merge pull request #335 from wwarthen/master
Catch-up
2023-03-18 20:09:02 -07:00
Wayne Warthen
e839c77844 Merge pull request #332 from wwarthen/dev
Fix Doc URL Path
2023-03-18 19:37:13 -07:00
Wayne Warthen
ada7254b84 Fix Doc URL Path 2023-03-18 19:20:48 -07:00
Wayne Warthen
cd96ea7e26 Merge pull request #331 from wwarthen/dev
Merge Final v3.2
2023-03-18 19:11:38 -07:00
Wayne Warthen
0098540cc9 Finalize 3.2.0 2023-03-18 18:50:46 -07:00
Wayne Warthen
b3e7e2ff62 Doc Updates 2023-03-18 17:57:44 -07:00
Wayne Warthen
582937de8e Merge branch 'dev' of https://github.com/wwarthen/RomWBW into dev 2023-03-18 17:13:01 -07:00
Wayne Warthen
5f5953edd8 Doc Tweaks 2023-03-18 17:12:46 -07:00
Wayne Warthen
50cd6ff955 Merge pull request #330 from b1ackmai1er/dev
Update dma.asm
2023-03-17 17:33:23 -07:00
Wayne Warthen
82c53bd20b Update to Small Computer Z50 Configurations
- Improve adherence to Z50 standard.
2023-03-17 15:53:58 -07:00
b1ackmai1er
0d0f5fb182 Update dma.asm
cp/m fails to boot with the dma driver included but no dma hardware installed. This is because the default "dma_fail_flag" indicates that the dma is good to go. But in safe mode the dma initialization never takes place to find no dma and set this flag, so the memory driver hangs. This change is to make the default status of the flag the failed state so the memory driver will fallback to software in recovery mode.
2023-03-18 02:13:00 +08:00
Wayne Warthen
3773c9c7fa Regen Docs
Regenerate pdf files based on Phil's updates.
2023-03-17 11:04:31 -07:00
Wayne Warthen
b7dc67b9c7 Merge pull request #329 from b1ackmai1er/dev
Update SystemGuide.md
2023-03-17 10:44:52 -07:00
b1ackmai1er
76c4209a5e Update ReadMe.md 2023-03-17 20:49:46 +08:00
b1ackmai1er
76d9a99758 Update SystemGuide.md 2023-03-17 20:15:55 +08:00
b1ackmai1er
1db858027e Update ROM_Applications.md
spelling and grammar
2023-03-17 20:11:14 +08:00
b1ackmai1er
d3fb3710ff Update UserGuide.md 2023-03-17 20:05:57 +08:00
b1ackmai1er
170cecd112 Update UserGuide.md 2023-03-17 20:04:12 +08:00
b1ackmai1er
f469699449 Update UserGuide.md
Spelling
2023-03-17 19:58:46 +08:00
b1ackmai1er
c4ff7315c9 Update Applications.md
Spelling corrections.
2023-03-17 19:20:14 +08:00
b1ackmai1er
ddbd338b6f Update SystemGuide.md
Spelling and grammer fixes
2023-03-17 19:02:38 +08:00
Wayne Warthen
77c6f934dc More Documentation Cleanup 2023-03-16 20:48:49 -07:00
Wayne Warthen
f72bf4e4c5 Documentation Cleanup 2023-03-16 16:23:14 -07:00
Wayne Warthen
dcc6bd2b62 Documentation Cleanup 2023-03-16 16:22:04 -07:00
Wayne Warthen
01fac79902 Merge pull request #328 from b1ackmai1er/dev
Some driver documentation updates and corrections
2023-03-15 10:56:26 -07:00
b1ackmai1er
70d3f54834 Some driver documentation updates and corrections 2023-03-15 20:57:51 +08:00
b1ackmai1er
650dcdb35f Merge pull request #51 from wwarthen/dev
Dev
2023-03-15 20:07:46 +08:00
Wayne Warthen
b27e14826a Allow Inaccurate CTC Divisor for Tick Frequency
See Issue #327.  This change makes an inaccurate CTC divisor a warning instead of an error.  Credit to Phillip Summers.
2023-03-14 12:53:15 -07:00
Wayne Warthen
d2b9333288 Merge pull request #326 from b1ackmai1er/dev
uart4 writing to port when not enabled. dmamon updates
2023-03-14 11:58:27 -07:00
b1ackmai1er
cbd60d02d9 Merge pull request #50 from wwarthen/dev
Dev
2023-03-14 20:49:19 +08:00
b1ackmai1er
93a1eade2a Update uart.asm
Make sure when UART4 is disabled, that the driver does not access the UART4 I/O ports.
2023-03-14 19:21:08 +08:00
Wayne Warthen
5073a9c506 Fix for Issue #324 ZPM Named Directory Handling Error
Credit to Jose Luis for discovering this bug and bringing it to my attention.  The fix is a small patch on top of the patches previously applied from Jon Saxton.  See the ZPM3 directory in Sources for  more information.
2023-03-12 21:02:08 -07:00
Wayne Warthen
86f8df03b6 Update release.yml 2023-03-11 15:13:36 -08:00
b1ackmai1er
a7ef76b9c4 Update dmamon.asm 2023-03-11 10:51:21 +08:00
Wayne Warthen
0a6719cf24 Minor Doc Updates 2023-03-10 16:33:05 -08:00
Wayne Warthen
0b0f68d579 GitHub Automation Tweaks 2023-03-10 14:55:27 -08:00
Wayne Warthen
c2d58ebe3a GitHub Automation Updates 2023-03-10 14:42:27 -08:00
Wayne Warthen
894898a75d Merge pull request #323 from wwarthen/master
Catch Up w/ Master Branch
2023-03-09 14:50:39 -08:00
Wayne Warthen
5da1f70b6c Update release.yml 2023-03-09 14:36:22 -08:00
Wayne Warthen
15e90c628a Update FLASH.DOC 2023-03-09 14:31:27 -08:00
Wayne Warthen
bc0d1ed5e8 Update release.yml 2023-03-08 16:15:15 -08:00
Wayne Warthen
fa12858bd3 Minor 2023-03-07 13:08:35 -08:00
Wayne Warthen
2f733ff1aa Merge pull request #322 from b1ackmai1er/dev
DMA updates
2023-03-07 12:39:16 -08:00
b1ackmai1er
ee0369c553 Update dmamon.asm 2023-03-06 17:01:59 +08:00
b1ackmai1er
d17f531d19 Update dmamon.asm 2023-03-06 15:56:44 +08:00
b1ackmai1er
0c4400920c Update dmamon.asm 2023-03-06 15:54:51 +08:00
b1ackmai1er
15b2dcb6b6 Update dbgmon.asm 2023-03-06 15:40:00 +08:00
b1ackmai1er
39f51a9620 Update fdu.doc 2023-03-06 15:32:37 +08:00
b1ackmai1er
632cc0e7db dma updates
Tidy up driver, standardize terminology half/full
Update dmamon so port address is not hardcoded.
2023-03-06 15:26:56 +08:00
Wayne Warthen
f5cb22da8f Minor Cosmetic Cleanup
No functional changes.
2023-03-05 07:10:22 -08:00
Wayne Warthen
7f186df54d Merge pull request #321 from b1ackmai1er/dev
Update dmamon.asm
2023-03-05 07:00:28 -08:00
b1ackmai1er
590f5cff9a Update dmamon.asm
Additional test enhancements
2023-03-05 14:18:04 +08:00
Wayne Warthen
e6908ee259 Merge pull request #320 from b1ackmai1er/dev
Minors
2023-02-26 06:56:45 -08:00
b1ackmai1er
5b7ca9d9e6 Update dmamon.asm
Stripped out all the speed selection stuff added an option for the velesoft datagear.
Speed selection can now be done from the command line. May add it back in later but will use HBIOS function call.
2023-02-26 14:58:32 +08:00
b1ackmai1er
93ac0ba5d0 Update SystemGuide.md
To match hbios
2023-02-26 14:09:49 +08:00
b1ackmai1er
5d3c1e2d4a Update util.asm 2023-02-26 11:42:23 +08:00
b1ackmai1er
f080f5b80a Merge pull request #49 from wwarthen/dev
Config File Fixes
2023-02-26 09:52:19 +08:00
Wayne Warthen
f1382b75ec Config File Fixes
I had accidentally set CRTACT to TRUE in a few standard configs inadvertently.
2023-02-25 12:56:44 -08:00
b1ackmai1er
d175981c71 Merge pull request #48 from wwarthen/dev
Dev
2023-02-24 16:00:37 +08:00
Wayne Warthen
5e42066874 Release Candidate for v3.2 2023-02-23 17:24:07 -08:00
Wayne Warthen
52a41663eb Regen Doc, Bump Version 2023-02-21 14:01:03 -08:00
Wayne Warthen
f0183bdd8a Merge pull request #319 from b1ackmai1er/dev
Update hbios.asm
2023-02-21 13:42:16 -08:00
b1ackmai1er
2398805617 Update HBIOS 2023-02-21 20:44:31 +08:00
b1ackmai1er
08168681b6 Update hbios.asm 2023-02-21 19:37:43 +08:00
b1ackmai1er
fa3874ec45 Update hbios.asm
Device display list improvements
2023-02-20 22:20:33 +08:00
Wayne Warthen
fc634380b0 Merge pull request #317 from b1ackmai1er/dev
vgmplay updates, romldr baud improvements, hbios/cbios low memory handling and other minors
2023-02-19 18:25:52 -08:00
b1ackmai1er
6b84dd36b0 Update vgmplay.asm
Cleanup, move init code so that memory can be reused.
2023-02-19 21:52:11 +08:00
b1ackmai1er
93245434c0 Device display optimizations 2023-02-19 21:47:51 +08:00
b1ackmai1er
06913144f8 Create ay-test.asm
From the archives ...
2023-02-19 18:52:19 +08:00
b1ackmai1er
04947015aa Update config.asm 2023-02-19 15:44:03 +08:00
b1ackmai1er
e7ab778929 Slightly better handling of low HBIOS heap memory
CBIOS reports *** HBIOS Heap Overflow, when the HBIOS is big (i.e. lots of included drivers)

Trigger build failure when CCP will not fit in heap.
Slightly more informative CBIOS error message
2023-02-19 15:42:59 +08:00
b1ackmai1er
147ab2ce4c minors 2023-02-19 13:55:07 +08:00
b1ackmai1er
af2a025cff AY-3-8910 MINORS 2023-02-19 13:06:45 +08:00
b1ackmai1er
2da5ba80ba Merge pull request #47 from wwarthen/dev
Dev
2023-02-19 10:53:10 +08:00
b1ackmai1er
d4700d0cdd Update vgmplay.asm 2023-02-19 10:50:37 +08:00
b1ackmai1er
e2426eff08 Update vgmplay.asm
Resync
2023-02-19 10:47:31 +08:00
Wayne Warthen
2b16617ea3 Fix Missing Files 2023-02-17 19:06:01 -08:00
Wayne Warthen
816234f0fa More Cleanup 2023-02-17 18:07:44 -08:00
b1ackmai1er
d960efdc4d Merge pull request #46 from wwarthen/dev
Dev
2023-02-17 17:57:18 +08:00
Wayne Warthen
bd664c3a1f More Cleanup 2023-02-16 13:59:15 -08:00
Wayne Warthen
dc151ad1a7 Rename PORTSWP -> PORTSCAN 2023-02-16 11:09:05 -08:00
Wayne Warthen
2f3fb51884 More Cleanup
- Tweaks to SURVEY and PORTSWP to improve port detection accuracy and handle Z280 better
- Recover a **lot** of wasted space in dbgmon using a few built-in utility routines instead of entire util.asm
- Improve the (D)evice command in romldr to use the HBIOS routine which is much more complete and saves space
2023-02-15 19:31:05 -08:00
b1ackmai1er
29c7f3a920 Merge pull request #45 from wwarthen/dev
Fix SURVEY.COM (again)
2023-02-15 17:46:24 +08:00
Wayne Warthen
36fe842bec Fix SURVEY.COM (again)
See Issue #316
2023-02-14 18:47:09 -08:00
b1ackmai1er
3a8a503c8e Merge pull request #44 from wwarthen/dev
Dev
2023-02-14 19:12:29 +08:00
Wayne Warthen
73213d4321 Fix Missing Files 2023-02-13 19:53:35 -08:00
Wayne Warthen
7d19d3e403 More Cleanup 2023-02-13 19:32:43 -08:00
Wayne Warthen
c157d52c1d More Cleanup
This check-in includes some refactoring of the configuration files.
2023-02-12 19:26:23 -08:00
Wayne Warthen
3034fb6b5b More Documentation Updates 2023-02-11 19:13:52 -08:00
Wayne Warthen
fee6f29cf0 More Documentation Updates 2023-02-10 20:20:39 -08:00
Wayne Warthen
a531551573 Missing Files 2023-02-10 13:25:21 -08:00
Wayne Warthen
53bdee68d5 Fixed SURVEY Crash on SBC Platform
Hacked to avoid bank switch problem.  See issue #316
2023-02-10 11:31:32 -08:00
Wayne Warthen
0b8cb94cc2 More Documentation Updates 2023-02-09 19:57:27 -08:00
b1ackmai1er
975656ef6f Merge pull request #43 from wwarthen/dev
Dev
2023-02-08 18:59:48 +08:00
Wayne Warthen
ce6622244d More Doc Updates
Mostly formatting cleanup this time.
2023-02-07 19:38:27 -08:00
Wayne Warthen
b649cf19ce Delete Readme.unix 2023-02-07 15:42:48 -08:00
Wayne Warthen
96902ae2bd More Doc Updates 2023-02-07 15:41:39 -08:00
Wayne Warthen
97cb2f1dfc Yet Another Iteration of Documentation Updates 2023-02-06 20:06:25 -08:00
b1ackmai1er
00158b0107 Merge pull request #42 from wwarthen/dev
Continuing Doc Update
2023-02-06 19:27:27 +08:00
Wayne Warthen
146826b142 Continuing Doc Update
Mostly done with User Guide now.
2023-02-05 16:36:23 -08:00
b1ackmai1er
979276e0b5 Merge pull request #41 from wwarthen/dev
Another Iteration of Documentation Updates
2023-01-31 19:38:47 +08:00
Wayne Warthen
0a6009b38f Another Iteration of Documentation Updates
... still a lot left to go.
2023-01-29 17:40:59 -08:00
b1ackmai1er
8656cf992e Merge pull request #40 from wwarthen/dev
First Round of Clean-up for Stable Release
2023-01-29 11:06:48 +08:00
Wayne Warthen
4f48e48a99 First Round of Clean-up for Stable Release
- Restructured documentation and started updates (much more to go)
- Added test app to test HBIOS banking API.
2023-01-27 15:49:32 -08:00
b1ackmai1er
6dac01102d Merge pull request #39 from wwarthen/dev
Update CF Card Detection
2023-01-22 17:51:11 +08:00
Wayne Warthen
cd161067db Update CF Card Detection
In the IDE and PPIDE drivers, a CF Card is differentiated from a Hard Disk using the first word of the result of the IDENTIFY DEVICE command.  The value 0x045A was recently added because it was seen from a CF<->SD Card adapter.  However, the value has now been seen from a spinning hard disk.  Since the value is ambiguous and not defined in the CF Card specs, I am removing it from the list of CF Card signatures.

Credit to Mark Elkin for identifying this and helping me track it down.
2023-01-21 14:56:12 -08:00
b1ackmai1er
a9173c076b Update ReadMe.txt 2023-01-20 00:37:03 +08:00
b1ackmai1er
8ffe53ea68 Merge pull request #38 from wwarthen/dev
Support Serial Keyboard with Video Displays
2023-01-20 00:34:38 +08:00
Wayne Warthen
4d9c93734f Support Serial Keyboard with Video Displays
Added configuration setting VDAEMU_SERKBD which can be used to specify any serial unit # to be used as the keyboard for the video terminal.  Default value is $FF which means to use the default hardware keyboard.  All other values mean that terminal input is to come from corresponding serial unit #.

Also a couple more tweaks to the p-System boot volume.
2023-01-18 14:29:19 -08:00
b1ackmai1er
83ff343186 Merge pull request #37 from wwarthen/dev
Finalize p-System Implementation
2023-01-17 17:05:23 +08:00
Wayne Warthen
71a8b2b177 Finalize p-System Implementation
- Implemented Extended BIOS functions
- p-System slices moved into partition
2023-01-16 15:41:21 -08:00
b1ackmai1er
c51963529d Merge pull request #36 from wwarthen/dev
Introducing p-System IV.0 for RomWBW
2023-01-14 21:54:27 +08:00
Wayne Warthen
979e763739 Introducing p-System IV.0 for RomWBW
A full implementation of UCSD p-System IV.0 for RomWBW.  Derived from the official Z80 Adaptable p-System.

My first real programming was on this system.  So many memories...
2023-01-13 16:58:52 -08:00
b1ackmai1er
834f2d7682 Merge pull request #35 from wwarthen/dev
Audio Driver Cleanup
2023-01-10 21:37:21 +08:00
Wayne Warthen
16475fe408 Audio Driver Cleanup
Resolved some consistency issues between the AY-3-8910 and SN76489 audio drivers.
2023-01-09 16:08:42 -08:00
b1ackmai1er
ec5b19acad Merge pull request #34 from wwarthen/dev
Enable WAIT Signal for 9958 Video
2023-01-09 17:50:09 +08:00
Wayne Warthen
d2e1e5be4b Enable WAIT Signal for 9958 Video
Credit to Alan Cox.  This seems to allow a 9958 video chip to run with a Z180 without added wait states.
2023-01-08 18:41:49 -08:00
b1ackmai1er
3603ef9c9d Update unlzsa2s.asm 2023-01-07 08:02:32 +08:00
b1ackmai1er
3aed60afe2 Merge pull request #33 from wwarthen/dev
Minor IDE/CF/SD Disk Handling Updates
2023-01-06 23:27:14 +08:00
b1ackmai1er
e1e2c2efa9 Update unlzsa2s.asm
ver.07 by spke (04-05/04/2022, 134(-5) bytes, +1% speed, using self-modifying code by default)
2023-01-06 23:24:53 +08:00
b1ackmai1er
55b4e1e26d Use new hbios routine for speed setting. 2023-01-05 20:56:49 +08:00
Wayne Warthen
2271c086b5 Minor IDE/CF/SD Disk Handling Updates
As suggested by Laszlo Szolnoki, I have added an additional CF Card signature to the IDE and PPIDE drivers.  He also pointed out a deficiency in the disk size printing which has been addressed.
2023-01-04 16:24:31 -08:00
b1ackmai1er
cb336c9ba5 Update vgmplay.asm
Reorganize and clarify some configuration settings
2023-01-03 19:50:59 +08:00
b1ackmai1er
ad0a6af047 Update romldr.asm
Rorder table to eliminate need for translation
2023-01-03 19:14:34 +08:00
b1ackmai1er
22afb8333c Merge pull request #32 from wwarthen/dev
Dev
2023-01-02 10:27:44 +08:00
Wayne Warthen
2b4631195a Misc Updates Based on Input from Eluan Miranda
I got a very nice email from Eluan Miranda.  He pointed out a few inconsistencies in the video and audio driver configurations.  I made a few adjustments to clean things up.
2023-01-01 15:26:42 -08:00
Wayne Warthen
d5f0699fc3 Regen Docs and Bump Version 2023-01-01 11:06:39 -08:00
Wayne Warthen
5c84fc6213 Merge pull request #313 from b1ackmai1er/dev
Change romldr to accept a baud rate
2023-01-01 11:02:10 -08:00
b1ackmai1er
d9f11b9f5e ym2612 minors 2022-12-31 21:30:01 +08:00
b1ackmai1er
bb2a68e066 Update romldr.asm 2022-12-31 11:22:34 +08:00
b1ackmai1er
cd426ba6ca Update GettingStarted.md 2022-12-31 10:43:29 +08:00
b1ackmai1er
491bbb68a6 Update romldr.asm 2022-12-31 01:00:06 +08:00
b1ackmai1er
b3bf3e27ee Update romldr.asm 2022-12-30 20:08:28 +08:00
b1ackmai1er
523ce60093 Update GettingStarted.md 2022-12-30 16:38:43 +08:00
b1ackmai1er
3f00cfbfb8 Merge pull request #31 from wwarthen/dev
Dev
2022-12-30 05:08:01 +08:00
Wayne Warthen
2dd9edd8ca Regenerate Docs and Bump Version 2022-12-29 10:14:02 -08:00
Wayne Warthen
6145383a65 Make VGM Names Lowercase (part 2) 2022-12-29 10:07:02 -08:00
Wayne Warthen
c0721a3f85 Make VGM Names Lowercase (part 1) 2022-12-29 10:05:58 -08:00
Wayne Warthen
c10497bd03 Merge pull request #312 from b1ackmai1er/dev
ym2612 driver updates
2022-12-29 09:15:09 -08:00
b1ackmai1er
5b1542e49b Update ym2612.asm 2022-12-29 18:57:50 +08:00
b1ackmai1er
96269a7f45 Update ym2612.asm 2022-12-21 22:53:47 +08:00
b1ackmai1er
bd03277bfe Update ym2612.asm 2022-12-21 05:31:38 +08:00
b1ackmai1er
c072027b87 Preserve registers 2022-12-20 17:19:12 +08:00
b1ackmai1er
e409391f14 Update Scales.asm 2022-12-19 21:54:17 +08:00
b1ackmai1er
030228e9b8 Update ym2612.asm 2022-12-18 22:44:05 +08:00
b1ackmai1er
d584d3d553 rename fm demo program 2022-12-18 21:03:10 +08:00
b1ackmai1er
2049b35ee2 Update ym2612.asm 2022-12-18 20:56:12 +08:00
b1ackmai1er
285bc6611f Update Scales.asm 2022-12-18 20:44:55 +08:00
b1ackmai1er
be8177b8a4 ym26112 driver 2022-12-18 20:41:29 +08:00
Wayne Warthen
9c80db786e Merge pull request #311 from b1ackmai1er/dev
Some vgmplayer updates
2022-12-16 19:29:43 -08:00
b1ackmai1er
d062b4345d Update YM2612.ASM
Tidy up
2022-12-16 22:31:25 +08:00
b1ackmai1er
03bf1527cc Adjust to fit on disk images 2022-12-15 22:02:58 +08:00
b1ackmai1er
38318262e9 reset defaults 2022-12-15 21:36:45 +08:00
b1ackmai1er
eefad65904 Remove tunes
They get copied over in build process. I think this is the right behaviour ?
2022-12-15 21:31:02 +08:00
b1ackmai1er
4d6a922402 Merge pull request #30 from wwarthen/dev
Dev
2022-12-15 21:26:46 +08:00
b1ackmai1er
e32d6e2d5d vgmplay updates
Still not in a terrific state but better
2022-12-15 21:25:56 +08:00
Wayne Warthen
9ea462ef7a Fix ZDE Default Config
Re-enable use of control-K to access menus.
2022-12-14 17:05:35 -08:00
Wayne Warthen
1681e159bd CP/NET update from Douglas Miller
Minor rev, but includes a fix for CPNBOOT.
2022-12-14 15:55:11 -08:00
Wayne Warthen
3b8973fa12 ZDE Updates from Lars Nelson
Lars has corrected some time stamp deficiencies in ZDE 1.6.  It is now v1.8.
2022-12-12 15:27:28 -08:00
b1ackmai1er
ef1989f600 vgm ym2612 updates 2022-12-12 21:41:18 +08:00
b1ackmai1er
023e54a9a8 Merge pull request #29 from wwarthen/dev
User Defined SD Interface
2022-12-12 17:13:16 +08:00
Wayne Warthen
73b0a3d941 User Defined SD Interface
Integrated code from Lanea to allow for an easy way to define a custom SD Card interface.  CSMODE_USR is not yet complete or tested!
2022-12-10 16:58:37 -08:00
b1ackmai1er
f86019a628 Merge pull request #28 from wwarthen/dev
Dev
2022-12-09 20:19:44 +08:00
Wayne Warthen
1839120e9d Update commit.yml 2022-12-06 15:03:01 -08:00
Wayne Warthen
8e110221a3 Update commit.yml 2022-12-06 13:51:45 -08:00
Wayne Warthen
8df7712633 Update commit.yml 2022-12-06 13:39:22 -08:00
b1ackmai1er
149ffb899b Merge pull request #27 from wwarthen/dev
Dev
2022-12-07 05:30:20 +08:00
Wayne Warthen
4f60cd4e57 Update commit.yml 2022-12-06 12:44:11 -08:00
Wayne Warthen
e83e26b6db Merge pull request #310 from b1ackmai1er/dev
ym2612 stub and minors
2022-12-06 11:49:29 -08:00
b1ackmai1er
4cd533117f ym2612 updates 2022-12-06 20:18:19 +08:00
b1ackmai1er
20cab617c7 Update SBC_std.asm 2022-12-06 13:40:36 +08:00
b1ackmai1er
323cfec931 Update hbios.asm 2022-12-06 13:38:11 +08:00
b1ackmai1er
ced09b2b95 Update ctc.asm 2022-12-06 13:15:29 +08:00
b1ackmai1er
93f8c67f9f Missing part 2022-12-03 07:10:51 +08:00
b1ackmai1er
999849c62b Alternate debug standardization method 2022-12-02 21:36:36 +08:00
b1ackmai1er
4babc51588 minors 2022-12-01 20:28:35 +08:00
b1ackmai1er
44ccc167ff Revert debug 2022-12-01 20:24:24 +08:00
b1ackmai1er
eae8295811 revert debug 2022-12-01 20:12:41 +08:00
b1ackmai1er
c76cb6737e revert debug_drv 2022-12-01 19:47:03 +08:00
b1ackmai1er
af723c5370 Update ym2612.asm 2022-11-26 21:40:22 +08:00
b1ackmai1er
57e4ed476c ym2612 fixups 2022-11-26 20:57:21 +08:00
b1ackmai1er
167c10fafc ctc debug updated 2022-11-26 19:43:40 +08:00
b1ackmai1er
6d1a9f5b7c Driver debug standardization 2022-11-26 16:03:09 +08:00
b1ackmai1er
bd0bb94c52 fixup incorrect commit 2022-11-26 14:34:24 +08:00
b1ackmai1er
e1a833b1a8 fixup incorrect commit 2022-11-26 14:32:33 +08:00
b1ackmai1er
7bd6df1e99 ym2612 config changes 2022-11-26 14:27:47 +08:00
b1ackmai1er
d3fcf8cea2 Update dsky.asm 2022-11-26 14:07:51 +08:00
b1ackmai1er
c7eb82e4dd Update hbios.asm 2022-11-26 14:04:45 +08:00
b1ackmai1er
20d07ded7b minor 2022-11-26 13:57:53 +08:00
b1ackmai1er
fc57ca4a68 ym2612 stub and hbios driver loading code cosmetics 2022-11-26 13:26:04 +08:00
b1ackmai1er
444c57fdfb Update ctc.asm 2022-11-12 22:13:46 +08:00
b1ackmai1er
ca61f340db Merge pull request #25 from wwarthen/dev
Dev
2022-11-09 17:32:56 +08:00
Wayne Warthen
601ac66762 Update commit.yml
Add also github-slug-action.
2022-11-08 16:29:11 -08:00
Wayne Warthen
c204110a6f Update commit.yml
Also explicit version for actions/upload-artifact.
2022-11-08 16:25:16 -08:00
Wayne Warthen
e8d0eedc2b Update commit.yml
Need to use explicit version for actions/checkout apparently.
2022-11-08 16:22:49 -08:00
Wayne Warthen
7b55b8ba86 Update commit.yml
Use "latest" version of all actions.
2022-11-08 16:16:19 -08:00
Wayne Warthen
069aa2b5be Merge pull request #306 from b1ackmai1er/dev
SYSCHK changes
2022-11-08 15:40:13 -08:00
b1ackmai1er
eeff03c7aa diag led fixups 2022-11-08 02:35:55 +08:00
b1ackmai1er
791fcea466 Different diag progress bar options 2022-11-07 20:56:09 +08:00
b1ackmai1er
f56c9007bb Update simrtc.asm 2022-11-07 17:32:04 +08:00
b1ackmai1er
360ba5ca95 Update Architecture.md 2022-11-06 20:25:49 +08:00
b1ackmai1er
7adf2038f1 Update hbios.asm 2022-11-06 20:21:53 +08:00
b1ackmai1er
a77744d8e6 Move diaglvl to config files 2022-11-06 19:57:02 +08:00
b1ackmai1er
dd47283fda minors 2022-11-06 18:24:32 +08:00
b1ackmai1er
5cc85e0444 Update Architecture.md
To reflect changes to syschk routine
2022-11-06 17:44:26 +08:00
b1ackmai1er
6e51070590 SYSCHK driver syncing 2022-11-06 11:18:05 +08:00
b1ackmai1er
a7853fe6d0 SYSCHK driver syncing 2022-11-06 11:12:14 +08:00
b1ackmai1er
590dcd0b4f SYSCHK driver syncing 2022-11-06 10:46:46 +08:00
b1ackmai1er
e25107309b SYSCHK changes
Display the error code of syschk enabled
2022-11-06 10:17:28 +08:00
b1ackmai1er
def29c7668 Merge pull request #24 from wwarthen/dev
Dev
2022-11-06 07:54:25 +08:00
Wayne Warthen
0c92c69ed8 Regenerate Documentation
Regenerated documentation to pick up Phil's updates.
2022-11-05 16:47:11 -07:00
Wayne Warthen
54ce18bb75 Merge pull request #305 from b1ackmai1er/dev
Notes about flash file system
2022-11-05 16:41:32 -07:00
b1ackmai1er
0ebde397fa Description of DIAG options 2022-11-05 21:45:33 +08:00
b1ackmai1er
8bf93619a0 Update Architecture.md
Errors and diagnostics - is this something you would be interested in including and expanding on?
2022-11-05 09:11:37 +08:00
b1ackmai1er
2727c02c56 Merge pull request #23 from wwarthen/dev
Merge pull request #304 from b1ackmai1er/dev
2022-11-05 08:08:58 +08:00
b1ackmai1er
d6ac15df40 Notes about flash file system 2022-11-05 08:04:38 +08:00
Wayne Warthen
c2a6c7fa22 Merge pull request #304 from b1ackmai1er/dev
Minors
2022-11-04 16:45:27 -07:00
b1ackmai1er
a742e5016e Attempt fix overlapping header 2022-11-05 07:42:05 +08:00
b1ackmai1er
248ef0e1b4 forth doc updates 2022-11-05 07:27:08 +08:00
b1ackmai1er
19101fda39 Minors 2022-11-05 07:17:31 +08:00
b1ackmai1er
9d1cfd4a22 Merge pull request #22 from wwarthen/dev
Sync DOS65
2022-11-02 22:19:22 +08:00
Wayne Warthen
cb20784685 Sync DOS65
- Update DOS65 disk image with latest binaries from Dan Werner
2022-09-13 19:36:45 -07:00
b1ackmai1er
66d524c096 Merge pull request #21 from wwarthen/dev
Dev
2022-07-27 17:20:26 +08:00
Wayne Warthen
aceef15481 Support DS1501 RTC
jpelletier provided a DS1501 RTC driver.  This commit integrates the driver into HBIOS.
2022-07-24 16:46:59 -07:00
Wayne Warthen
d4ca3de40f Update Makefile
When making ZCPR-D&J, also make the "demo" version.
2022-07-24 15:32:05 -07:00
Wayne Warthen
f0def03d0e ZCPR-D&J Fixes
Lars Nelson found a couple issues with ZCPR-D&J and provided an update:

- Buffer overflow
- Failure of default drive/user
2022-07-24 15:10:28 -07:00
b1ackmai1er
b2b070232d Merge pull request #20 from wwarthen/dev
Minor Tweaks to Build Process
2022-07-14 08:21:32 +08:00
Wayne Warthen
27935123cf Minor Tweaks to Build Process 2022-07-12 16:35:24 -07:00
b1ackmai1er
d40c6be60d Merge pull request #19 from wwarthen/dev
Dev
2022-07-11 20:59:47 +08:00
Wayne Warthen
aa93eb62f2 Refresh Documentation 2022-07-09 15:21:45 -07:00
Wayne Warthen
94c32c9fd0 Mostly Build Improvements
- ROMSIZE is now a configuration variable instead of a command line parameter.
- Added CP/M license information based on new email from Bryan Sparks.
2022-07-09 14:00:53 -07:00
Wayne Warthen
3b0951f6d5 MFPIC I/O Base Update
- Update MFPIC related I/O ports from $4x to $1x.  The default base address was changed to avoid conflicting with the default I/O range of $40-$7F on ECB Z180 boards.
2022-07-08 13:51:30 -07:00
Wayne Warthen
4385efb0f7 Unix Build Tweaks
Small stuff.  Mostly just gets the make diff mechanism working again.  Not sure if anyone actually uses it though.
2022-07-08 10:35:17 -07:00
Wayne Warthen
d241db5c11 Makefile Improvements
The clobber target has been removed and the clean target now does what most people would expect (actually cleans the entire build tree).
2022-07-06 16:39:03 -07:00
b1ackmai1er
d9a3a5086c Merge pull request #18 from wwarthen/dev
Dev
2022-07-04 19:39:16 +08:00
Wayne Warthen
0c61385df4 RomDsk Makefile Compatibility Improvement
Laszlo reported that the Unix make system was failing on openSuse Linux.  Turns out that it did not like the syntax in one line of the Makefile in the RomDsk directory.  This small change eliminates the incompatibility.
2022-07-03 15:21:30 -07:00
Wayne Warthen
cf142b3a91 Merge pull request #293 from b1ackmai1er/dev
vgmplay prelim ym2151 support + ym2612 mute
2022-07-02 19:27:25 -07:00
Wayne Warthen
9a503696c8 Improve CF Card Identification
Added additional CF Card signatures.  Credit to
Laszlo Szolnoki.
2022-07-02 19:25:06 -07:00
b1ackmai1er
bfdfd83f2a Update vgmplay.asm 2022-07-02 22:03:32 +08:00
b1ackmai1er
95f8c35c36 vgmplay prelim ym2151 support + ym2612 mute 2022-07-02 22:01:49 +08:00
b1ackmai1er
c065af147a Merge pull request #17 from wwarthen/dev
Dev
2022-06-28 21:39:45 +08:00
Wayne Warthen
11ea0c8c27 Add Speaker Beep
Added a generic routine in HBIOS to play a beep sound on the first available sound device.  Implemented the beep in the ANSI and TTY terminal emulators.
2022-06-27 15:35:54 -07:00
Wayne Warthen
dbea21fadd Correct Missing Config Entries for LPT Driver
Credit to Rodney Knapp for identifying this.
2022-06-27 13:11:27 -07:00
b1ackmai1er
4d5f2ab219 Merge pull request #16 from wwarthen/dev
Dev
2022-06-27 20:46:56 +08:00
Wayne Warthen
b82ff327cf CBIOS Fixes for UNA
Development in the dev branch on CBIOS had broken basic UNA functionality.  These fixes seem to correct the problems.  A full regression test of UNA has **not** yet been performed.
2022-06-26 16:54:46 -07:00
Wayne Warthen
44b17ccc3a Improve Centronics Compatibility
- Renamed Centronics driver from "CEN" to "LPT" based on input that LPT is the more recognized name for IBM compatible Centronics interfaces.
- Modified LPT hardware detection to be more generic (no longer depends on MBC-specific hardware implementation).
- Fix to CPU speed display for SBC v2 (004 and above) speed selection mechanism.
2022-06-26 14:25:32 -07:00
Wayne Warthen
b2e1294452 Correct AY38910 Off By 1 Octave Issue
I think this update corrects a long-standing issue in which the AY38910 driver played notes off by one octave.
2022-06-20 20:07:06 -07:00
b1ackmai1er
23a10343ca Merge pull request #15 from wwarthen/dev
Dev
2022-06-18 12:58:19 +08:00
Wayne Warthen
5805f13a62 Add Utilities to DOS65 Disk Image 2022-06-17 11:13:11 -07:00
Wayne Warthen
d39f0201f4 Bootable QP/M Disk
- Put a preconfigured image of QP/M on the system tracks of the QP/M disk images.
- Minor adjustment to dbgmon.asm for compatibility with UNA.
2022-06-17 10:25:48 -07:00
Wayne Warthen
94cf9a209e Merge pull request #290 from b1ackmai1er/dev
Build fixup (rtcdefval), recovery mode message, fixup for 3 sound devices
2022-06-17 10:21:29 -07:00
b1ackmai1er
691842c1bc Fix default 2022-06-17 21:49:08 +08:00
b1ackmai1er
eb255e7016 Add bank unset. Fix xmodem transfer bios call 2022-06-17 21:37:23 +08:00
b1ackmai1er
fe19472a2c Fixup restore of rtcval in ay-3-8910 driver 2022-06-17 18:39:18 +08:00
b1ackmai1er
526a1a5d33 Fixup restore of rtcval in ay-3-8910 driver 2022-06-17 18:35:46 +08:00
b1ackmai1er
719c993a60 MBC6502 support in dbgmon
Add an option in the monitor to switch to MBC6502. Excluded by default.
2022-06-17 18:30:35 +08:00
b1ackmai1er
70697a762c Merge pull request #14 from wwarthen/dev
Dev
2022-06-15 21:42:34 +08:00
Wayne Warthen
a62f5805ca Add BOOT_DELAY Configuration Variable
Some systems use terminal devices (Raspberry Pi, etc.) that take a few seconds to be ready to display console text.  The BOOT_DELAY setting can be used to introduce an arbitrary delay (in seconds) in the boot process just prior to text output.  This can be used to avoid missing some of the boot messages.
2022-06-09 15:36:36 -07:00
Wayne Warthen
87a6701464 Refresh DOS65 Disk Contents
- Updated DOS65 disk contents with latest binaries from Dan Werner.
2022-06-04 19:43:31 -07:00
Wayne Warthen
3f3a13bff6 Add QP/M Disk Image & Miscellaneous
- Minimal support for QP/M by adding a disk image.
- Disk image is not included in combo image, it must be added separately.
- Disk image boots into CP/M 2.2.  You must run QINSTALL to configure it and make the disk boot into QP/M.
- It is critical to review the ReadMe.txt file -- default QP/M configuration conflicts with RomWBW use of Page Zero.
- Added some stack space to SYSGEN.  It was failing when run with extra CBIOS debugging enabled.
- Cleanup of diskdefs file.
- Updated SIMH executable.
2022-06-04 19:21:35 -07:00
Wayne Warthen
982906757e Support QP/M TIMDAT Routine
QP/M is a CP/M 2.2 replacement for BDOS/CCP.  However, it adds it's own concept of date/time stamping.  Support for the QP/M date/time routine has been added.  You can configure QP/M to find the vector at address 0x0010.

A sidenote on QP/M.  By default, it uses 2 bytes at address 0x0008 to store the current drive/user.  This will conflict with RomWBW's use of RST 08 for API function calls.  I recommend using address 0x000E when configuring QP/M for the location of the current drive/user.
2022-06-02 13:05:42 -07:00
b1ackmai1er
c1412ee755 Fix boot failure with three sound devices 2022-06-01 19:19:56 +08:00
b1ackmai1er
e974a4a960 Recovery mode message, ay-3-8910 build fix 2022-05-31 21:06:02 +08:00
b1ackmai1er
0549cdcb36 Merge pull request #13 from wwarthen/dev
Dev
2022-05-17 21:02:36 +08:00
Wayne Warthen
0e32dd58fa Update version files
- Missed the version files in prior check-in
2022-05-14 12:54:56 -07:00
Wayne Warthen
69b54a000c Miscellaneous
- Bump version number
- Propagate config comments
2022-05-14 12:38:36 -07:00
Wayne Warthen
0d8b04ffa6 Merge pull request #289 from danwerner21/dev
Driver code for MBC VDP cards
2022-05-14 11:56:49 -07:00
danwerner21
9251f44dec Merge pull request #1 from danwerner21/dev_ddw_tms
Dev ddw tms
2022-05-14 12:09:46 -05:00
Dan Werner
fde0c285d2 MBC TMS updates 2022-05-14 12:06:49 -05:00
Dan Werner
44467f4725 MBC TMS updates 2022-05-14 11:23:55 -05:00
Dan Werner
0767a2ceff MBC TMS updates 2022-05-13 15:29:39 -05:00
Dan Werner
9b27118a3b MBC TMS updates 2022-05-13 13:25:04 -05:00
Wayne Warthen
b98ee17e14 Plumbing for uPD7220 GDC Driver 2022-04-04 11:54:34 -07:00
b1ackmai1er
c046f0365c Merge pull request #12 from wwarthen/dev
Dev
2022-04-04 20:35:39 +08:00
Wayne Warthen
16390d3159 Update ps2info.asm
- The prtchr routine was not saving and restoring the AF register.  This was fixed.
2022-04-02 16:35:21 -07:00
Wayne Warthen
1b34dc0941 Update ps2info.asm
- Updated PS2INFO to run tests individually via a menu.
2022-04-01 10:37:32 -07:00
Wayne Warthen
4a88e0bcae Improve Z180 Variant Handling
- There were several places that RomWBW was making incorrect assumptions about what the older Z180 CPUs could do.  These have been corrected.
2022-03-31 13:30:52 -07:00
Wayne Warthen
1e52a0b7f3 Add RPH Support to PS2INFO
- PS2INFO now provides a small startup menu to select either MBC or RHYOPHYRE (needs to be expanded to other platforms).
- Battery condition testing enabled by default in RHYOPHYRE.
- Z180 system timer enabled by default in RHYOPHYRE.
- Default ACR in RHYOPHYRE now turns on the status LED to indicate hardware is alive early in boot process.
2022-03-28 16:43:07 -07:00
Wayne Warthen
f6d0e7fea4 Initial RHYOPHYRE Support 2022-03-27 13:23:37 -07:00
b1ackmai1er
4af5d457eb Merge pull request #11 from wwarthen/dev
Dev
2022-03-27 17:47:27 +08:00
Wayne Warthen
e804326d54 Merge pull request #287 from danwerner21/dev
Update Centronics driver for Nhyodyne
2022-03-26 13:05:55 -07:00
Dan Werner
5b9e9ba6bf Update Centronics driver for Nhyodyne 2022-03-26 14:00:56 -05:00
Wayne Warthen
4f25cf1366 Miscellaneous
- Add hardware detect and initialization code to Centronics driver.
- Fix .gitignore to reflect subdirectory name changes under Tools/cpm/.
- Bump version number in TUNE to reflect Dan's changes.
- Detect Centronics hardware in MBC configuration by default.
2022-03-25 15:48:06 -07:00
Wayne Warthen
170ac7d9e8 Prep for Centronics Driver
- Added Centronics Driver shell
2022-03-25 11:15:36 -07:00
Wayne Warthen
eb208d735b Add License and Code of Conduct Files 2022-03-25 09:06:52 -07:00
Wayne Warthen
25382b01e2 Create CODE_OF_CONDUCT.md 2022-03-25 08:58:41 -07:00
Wayne Warthen
d55587e341 Merge pull request #285 from wwarthen/add-license-1
Create LICENSE
2022-03-25 08:53:48 -07:00
Wayne Warthen
7d9ff0599b Create LICENSE 2022-03-25 08:53:03 -07:00
Wayne Warthen
0efd08539e Fix Interrupt Management in CBIOS Initialization
There was a path through CBIOS initialization where interrupts were left disabled.  This only became apparent in the new "romless" configuration.
2022-03-23 14:52:49 -07:00
b1ackmai1er
291017f1a9 Merge pull request #10 from wwarthen/dev
Dev
2022-03-23 05:58:08 +08:00
Wayne Warthen
7549789248 Finalize ROM-Less Booting 2022-03-21 16:20:52 -07:00
Wayne Warthen
5d81574226 Preliminary Support for ROMless Booting 2022-03-20 19:53:32 -07:00
Wayne Warthen
9ccbbbd475 Merge pull request #284 from danwerner21/dev
Nhyodyne Sound Support
2022-03-20 11:13:07 -07:00
Dan Werner
f6285a8e6a Nhyodyne Sound Support 2022-03-20 11:12:12 -05:00
Wayne Warthen
9f3c9e180d Add PIO Driver
- Just a stub that detects and initializes the hardware.
2022-03-18 16:22:08 -07:00
Wayne Warthen
97bc3ba3b5 Add PIOMON 2022-03-17 20:16:29 -07:00
Wayne Warthen
8e414a3efc DMAMON Enhancements
- Added interrupt testing to DMAMON
- Updated FIND to latest
2022-03-14 10:46:11 -07:00
Wayne Warthen
a0d437357e Fix Build
I had updated SLR180.  The newer version switched the default file extension it looks for from .180 to .z80.  Changed filenames and build/make files to adjust to this.
2022-03-02 19:23:05 -08:00
Wayne Warthen
0b0b3611bb Housekeeping
- Minor updates to a few redistributed CP/M binary files.
2022-03-02 18:49:47 -08:00
Wayne Warthen
dd22c54f32 Minor ZXCC Updates
- Added a missing call to trackFile.
- Corrected close functions in track.c to properly handle WIN32 variant.
2022-03-02 16:02:37 -08:00
Wayne Warthen
4e153a2bc1 Add DOS/65 Boot Disk Image 2022-02-28 14:25:28 -08:00
Wayne Warthen
51d9bdb655 Minor ASSIGN Fixes, Add 2PIOTST
- Improved ASSIGN operation under CP/M 3 to better handle BIOS function invocations
- Added 2PIOTST for testing the DUALPIO MBC board
- Increased default RAM drive size for ZRC
2022-02-28 10:54:59 -08:00
Wayne Warthen
25374946e0 Update std.asm
Fix UNA build.
2022-02-18 17:54:12 -08:00
Wayne Warthen
689f8a2280 Update Makefile
Try to fix MacOS build.
2022-02-18 17:08:13 -08:00
Wayne Warthen
36b160f934 Minor Cosmetic Cleanup
Primarily fixed the Z280 config files to display the correct CPU speed in boot messages.
2022-02-18 16:36:14 -08:00
Wayne Warthen
bf965c2604 Minor Z280 Fixes
- Fixed the ROM VERIFY functionality on Z280.  It was indicating errors incorrectly.
- Revised the way that ZZRCC is built to remove a bunch of complexity that was causing issues.  An implication of this is that ZZRCC now treats the data loaded from the CF Card as a ROM disk instead of a RAM disk.
- Updated the assemblers to handle some more Z280 instructions used in HBIOS.
- When building ZZRCC, checks have been added to ensure the ROM image is exactly 256K.  The build defaults to 512K and that causes the ZZRCC disk image to be corrupted.  This will stop the build if the user fails to specify a 256K ROM size.
2022-02-17 11:34:31 -08:00
Wayne Warthen
e6b9d2dcfd Improve Z280 DMA Memory Copy
The Z280 interbank memory copy uses DMA and did not properly handle scenarios where the source or destination memory range crossed over the banked/common memory boundary.  It added a bunch of code, but it is fixed now.  This seems to be required by CP/M 3.
2022-02-15 15:20:33 -08:00
Wayne Warthen
33afeac10d Fix ZXCC Build Under MacOS
- Adding missing include directive.
2022-02-14 13:59:41 -08:00
Wayne Warthen
2c0b818aba ZXCC Cleanup
- I know I said I was done, but I found some more stuff to clean up.  I think I am really done now.
2022-02-14 13:36:06 -08:00
Wayne Warthen
c5043d66f9 Final ZXCC Cleanup
Honestly, ZXCC still deserves a lot of refactoring, but this will need to do for now.
2022-02-10 18:21:57 -08:00
Wayne Warthen
1b8e88e1a2 Update zxcbdos.c 2022-02-10 17:41:44 -08:00
Wayne Warthen
d599a3d57b Update config.h.darwin 2022-02-10 17:33:02 -08:00
Wayne Warthen
461d1ce512 Update config.h.darwin 2022-02-10 17:23:24 -08:00
Wayne Warthen
8c9ce2184e ZXCC Sync
- Attempting to sync ZXCC with latest source in repository by Tony Nicholson.  Generally a failure, but it is closer.
2022-02-10 16:51:33 -08:00
Wayne Warthen
e5b1d5afc8 Update Readme.unix 2022-02-08 10:07:01 -08:00
Wayne Warthen
214ed54584 Miscellaneous
- Fix build under Windows (credit to Dean Netherton for finding this).
- Fix ReadMe.md file format to remove superfluous junk at top.
- Improve RAM size detection (work in progress, not part of normal build).
2022-02-05 11:54:46 -08:00
Wayne Warthen
97aa0aae9f Bug Fix
Fixed a small issue in the boot management of the CPU speed for MBC and SBC platforms.
2022-02-02 17:39:36 -08:00
Wayne Warthen
92399fe537 More CPUSPD Tweaks
I know I said I was done, but I found a few more things I decided to tweak.  Functionality is unchanged.
2022-02-02 17:08:55 -08:00
Wayne Warthen
b6aa769f12 Finalize CPUSPD
The CPUSPD app is now considered stable and fully supported.  I have added the application and the API's to the documentation.
2022-02-01 17:42:31 -08:00
Wayne Warthen
21a38aed6e CPU Speed Change API
- Moved the CPU speed changing mechanism into the HBIOS as an API call.
- Added support for CPU speed changing on Z180 platforms.
2022-01-26 18:10:18 -08:00
Wayne Warthen
48c5f4da9d Cleanups and CPUSPD App
- Added very preliminary CPUSPD app which works only on MBC and SBC
- HBIOS initialization code cleanup
- Prep work on RAM size detection
2022-01-25 16:35:59 -08:00
Wayne Warthen
7b46b1a89b Update ZMRX/ZMTX
Update ZMTX/ZMRX to version 1.1
2022-01-23 11:49:44 -08:00
Wayne Warthen
85adb811bb Add CTC Hardware Detection 2022-01-22 17:15:07 -08:00
Wayne Warthen
79dc868e6e Support MBC CTCDART Board 2022-01-22 14:40:17 -08:00
Wayne Warthen
52cd458e76 Add PS2INFO
- Replaced kbdinfo with more comprehensive ps2info
- Started process of clarifying licensing
2022-01-07 14:06:15 -08:00
b1ackmai1er
59c523c575 Merge pull request #9 from wwarthen/dev
Miscellaneous Cleanup
2022-01-04 18:56:11 +08:00
Wayne Warthen
e0a0036aa0 Miscellaneous Cleanup
- Add MSEINFO from Andrew Lyncgh
- Update KBDTEST from Andrew Lynch
- Cleanup VGM build process
2022-01-03 10:52:20 -08:00
b1ackmai1er
4d3640caaa Merge pull request #8 from wwarthen/dev
Dev
2021-12-26 18:32:32 +08:00
Wayne Warthen
f4ab972e3a Update kbdinfo.asm
Final round of updates to KBDINFO.  Done with it for now unless there are issues.
2021-12-23 09:59:14 -08:00
Wayne Warthen
e698cd9a4a Keyboard Utilities
- Added KBDINFO which dumps low level info about keyboards.
- Updated KBDTEST and VDCTEST to put the keyboard controller into translation mode which is what these programs were intended to use.
2021-12-21 14:44:07 -08:00
Wayne Warthen
99f4e174ad CVDU CGA Tweaks
- Correct cursor setup so it is visible
- Correct attribute start position
- Added ZDE.DOC file
2021-12-15 15:58:11 -08:00
Wayne Warthen
476fe84570 Fix .gitignore
- .gitignore was blocking vdctest font.asm file from being checked in.
2021-12-14 16:33:33 -08:00
Wayne Warthen
6ac68029e4 VDC Test Programs
- Add kbdtest, cvdtest, and cvdonly test programs.  They apply to MBC platform only.
- Display more boot info in CVDU and KBD drivers.
- Separate floppy and hard disk content definition files.
2021-12-14 16:02:23 -08:00
b1ackmai1er
d02fe9d8df Merge pull request #7 from wwarthen/dev
Dev
2021-12-11 09:17:58 +08:00
Wayne Warthen
4d3e08fe38 Fix .gitignore 2021-12-10 16:43:00 -08:00
Wayne Warthen
e8ecdd0fac Support MBC VDC 2021-12-10 16:34:15 -08:00
b1ackmai1er
bc04d5ecb9 Merge pull request #6 from wwarthen/dev
ZPM3 Fixes
2021-12-09 16:45:36 +08:00
Wayne Warthen
da71f225ca ZPM3 Fixes
- Fixes to ZPMLDR to make it functional with RomWBW.
- Incorporate fixes from the Jon Saxton disassembly in ZPM3 itself.
- Credit to Lars Nelson for finding the ZPM3 source (disassembly).
2021-12-08 17:04:03 -08:00
b1ackmai1er
5439a12fe8 Merge pull request #5 from wwarthen/dev
Dev
2021-12-09 00:35:01 +08:00
Wayne Warthen
ca67ee41c5 Fix CBIOS Bug
- Corrects the dynamic disk buffer allocation routine in CBIOS and ASSIGN.COM.  They had the DPB assignments inverted causing slightly wrong buffer allocations for RAM and ROM disks.

Credit to Andrew Lynch for discovering this issue.
2021-12-06 13:22:27 -08:00
Wayne Warthen
a29139dccb Merge pull request #279 from b1ackmai1er/dev
VGMPLAY cosmetic cleanup
2021-11-30 16:25:58 -07:00
b1ackmai1er
ca30732f31 Update VGMPLAY.ASM
Only mute devices we have accessed
2021-11-28 22:08:09 +08:00
b1ackmai1er
8f1b6bb402 Update VGMPLAY.ASM
Add unknow device message
2021-11-28 10:41:23 +08:00
b1ackmai1er
b5a7c08fde Merge branch 'dev' of https://github.com/b1ackmai1er/RomWBW into dev 2021-11-28 10:19:22 +08:00
b1ackmai1er
8a54b391f3 Update VGMPLAY.ASM
optimization
2021-11-28 10:18:13 +08:00
b1ackmai1er
7911ffa835 Merge pull request #4 from wwarthen/dev
Merge pull request #278 from b1ackmai1er/dev
2021-11-28 07:45:15 +08:00
b1ackmai1er
48532231c9 Update VGMPLAY.ASM
Cosmetic cleanup
2021-11-28 07:44:10 +08:00
Wayne Warthen
9e3787b0a3 Merge pull request #278 from b1ackmai1er/dev
VGMPLAY Updates
2021-11-27 14:57:02 -08:00
b1ackmai1er
32005942e4 Update VGMPLAY.ASM 2021-11-27 22:28:23 +08:00
b1ackmai1er
a00a42b244 Update VGMPLAY.ASM
Assume default file name VGM, basic memory protection for large files
2021-11-27 19:16:04 +08:00
b1ackmai1er
288dd99f44 Merge pull request #3 from wwarthen/dev
Dev
2021-11-24 21:00:45 +08:00
Wayne Warthen
ed981de47a Update Makefile
- Minor correction to remove .LST file in clean.
2021-11-23 13:26:01 -08:00
Wayne Warthen
3b345f8525 Add Linux Disk Imaging Doc 2021-11-23 13:14:04 -08:00
Wayne Warthen
6d9aa9b676 Merge pull request #277 from b1ackmai1er/dev
Separate VGMPLAY into its own directory. Minor VGMPLAY updates
2021-11-23 13:57:05 -07:00
b1ackmai1er
ad8aa4a4a2 VGMPLAY updates 2021-11-23 20:54:17 +08:00
b1ackmai1er
1fe9fda31e Merge pull request #2 from wwarthen/dev
DMA Driver Speed Handling
2021-11-18 17:24:58 +08:00
Wayne Warthen
dd3dfff172 DMA Driver Speed Handling
- Updated DMA driver to leave system speed as it originally found it.
2021-11-17 14:01:26 -08:00
b1ackmai1er
336a3d5c81 Merge pull request #1 from wwarthen/dev
Dev
2021-11-14 20:44:03 +08:00
Wayne Warthen
c0af840fc1 Removing extraneous .VGM files 2021-11-10 11:17:54 -08:00
Wayne Warthen
4484d7f377 Merge pull request #276 from b1ackmai1er/dev
Impossibility Loop
2021-11-10 12:14:06 -07:00
b1ackmai1er
12b135a3db Fix Tunes Impossibility loop 2021-11-10 20:30:20 +08:00
b1ackmai1er
97e83e6fc5 Merge pull request #251 from wwarthen/dev
Dev
2021-11-10 19:39:16 +08:00
Wayne Warthen
891893c0e5 Fix DSD Driver
- Dual SD support in sd.asm was broken for two cards when the SC126 dual SD card support was added.  This should fix all scenarios.
2021-11-09 20:25:38 -08:00
Wayne Warthen
e15a1cb972 Merge branch 'dev' of https://github.com/wwarthen/RomWBW into dev 2021-11-09 18:07:14 -08:00
Wayne Warthen
d79adf24ba Add ZMTX-ZMRX
- Preliminary but functional ZModem send/receive.
2021-11-09 18:07:07 -08:00
b1ackmai1er
5998d66dc8 Early VGM Player implementation 2021-11-08 23:38:12 +08:00
b1ackmai1er
63e937314b Add VGM examples 2021-11-08 22:49:32 +08:00
b1ackmai1er
769a02829a sn76489 updates for ecb-vgm board 2021-11-08 22:08:26 +08:00
Wayne Warthen
513ff0b81e Merge pull request #274 from b1ackmai1er/dev
Update rz.asm
2021-11-04 09:04:07 -07:00
b1ackmai1er
47d2b3a1f1 Update rz.asm 2021-11-04 23:11:39 +08:00
b1ackmai1er
0d37a32d5c Merge pull request #250 from wwarthen/dev
Dev
2021-11-04 22:02:01 +08:00
Wayne Warthen
d5962681f1 UART Driver Update
- Some newer/multi-port UART chips now use MCR:3 to activate the interrupt pin(s), otherwise tri-state.  This update sets MCR:3 in all cases.
- Added UARTDUAL config variable that enables detection of a dual UART chip at 0x80 for MBC platform.
- Fixed a typo in TastyBasic Build script.
2021-11-03 15:28:59 -07:00
Wayne Warthen
662b679fdc Merge pull request #273 from b1ackmai1er/dev
Update rz.asm
2021-11-03 15:19:01 -07:00
b1ackmai1er
8d92e0f8c9 Merge pull request #249 from wwarthen/dev
Dev
2021-11-04 05:54:26 +08:00
b1ackmai1er
13dea5090a Update rz.asm 2021-11-03 17:06:12 +08:00
b1ackmai1er
ca14d29a62 Update rz.asm 2021-11-02 19:53:25 +08:00
Wayne Warthen
b544384225 Sync Windows Build
- Latest changes to Linux/MacOS build needed to be added to Windows build to restore binary identical build results.
2021-11-01 20:25:33 -07:00
Wayne Warthen
0281b8f854 Merge pull request #272 from dimitrit/dev
Include TastyBasic version details
2021-11-01 19:37:30 -07:00
b1ackmai1er
9d4330b754 Update rz.asm 2021-11-01 22:35:54 +08:00
dimitrit
b142dd45d5 Merge remote-tracking branch 'upstream/dev' into dev 2021-11-01 09:50:54 +00:00
dimitrit
f65e6b2ac5 Clean removes rom images 2021-11-01 09:06:07 +00:00
dimitrit
b0d93dadc0 Include TastyBasic version details 2021-11-01 08:13:01 +00:00
Wayne Warthen
6a69f3920f Build Tweaks
- Update TastyBasic to build correctly under MacOS.
- Updated build to integrate with RomWBW build system.
2021-10-31 12:26:46 -07:00
Wayne Warthen
725151cdc5 Merge pull request #271 from b1ackmai1er/dev
Update rz.asm
2021-10-31 11:55:53 -07:00
b1ackmai1er
f7027d3bbc Update rz.asm 2021-10-31 23:06:09 +08:00
b1ackmai1er
2472fe7951 Update rz.asm 2021-10-31 22:35:36 +08:00
b1ackmai1er
3432fe8822 Update rz.asm 2021-10-31 22:32:08 +08:00
b1ackmai1er
bcb32c3e74 Update rz.asm 2021-10-31 21:26:52 +08:00
b1ackmai1er
67c835c133 Update rz.asm 2021-10-31 19:49:46 +08:00
b1ackmai1er
93077c1f45 Update rz.asm 2021-10-31 18:06:39 +08:00
b1ackmai1er
1f690dd5c8 Update rz.asm 2021-10-31 17:34:45 +08:00
b1ackmai1er
9b6b19bf73 Update rz.asm 2021-10-31 17:00:02 +08:00
b1ackmai1er
807fa7624e Merge pull request #247 from wwarthen/dev
Dev
2021-10-31 14:45:40 +08:00
Wayne Warthen
fb21a1e257 Merge pull request #269 from b1ackmai1er/dev
Update rz.asm
2021-10-30 20:48:02 -07:00
Wayne Warthen
6d115df490 TastyBasic Build Adjustments
- Minor changes to the build process in TastyBasic to ensure binary identical results across all platforms.
2021-10-30 20:32:09 -07:00
Wayne Warthen
5af8996e66 Merge pull request #270 from dimitrit/dev
Update TastyBasic
2021-10-30 20:29:13 -07:00
b1ackmai1er
21403cedb2 Update rz.asm 2021-10-31 10:22:18 +08:00
b1ackmai1er
32d50a0185 Update rz.asm 2021-10-31 10:08:40 +08:00
b1ackmai1er
cd63ad38fc Update rz.asm 2021-10-31 09:50:17 +08:00
b1ackmai1er
ce16512905 Update rz.asm 2021-10-31 08:53:14 +08:00
b1ackmai1er
21ecc5de54 Update rz.asm 2021-10-31 08:42:03 +08:00
b1ackmai1er
611394b76a Update rz.asm 2021-10-31 07:57:27 +08:00
b1ackmai1er
171d4d4ae7 Update rz.asm 2021-10-31 07:24:41 +08:00
b1ackmai1er
05fb150ad3 Update rz.asm 2021-10-31 06:57:51 +08:00
b1ackmai1er
37490e7d44 Update rz.asm 2021-10-30 19:26:00 +08:00
b1ackmai1er
d1c75888cd Update rz.asm 2021-10-30 17:19:54 +08:00
b1ackmai1er
79dfbafc13 Update rz.asm 2021-10-30 16:36:58 +08:00
b1ackmai1er
4c3c078fa4 Update rz.asm 2021-10-30 15:53:14 +08:00
b1ackmai1er
c95ea4440e Update rz.asm 2021-10-30 13:58:49 +08:00
b1ackmai1er
1f0bd36c92 Update rz.asm 2021-10-30 12:50:48 +08:00
b1ackmai1er
b171fc8fef Merge pull request #246 from wwarthen/dev
Dev
2021-10-30 12:46:00 +08:00
dimitrit
df1a8df463 Update TastyBasic 2021-10-29 22:47:24 +01:00
Wayne Warthen
322c083531 8242 Support for TMS Driver
- Added TMSMODE_RCKBD to support an 8242 keyboard combined with TMS video.
- Worked around a syntax issue from uz80as in rz.asm.
- Improved mechanism to handle forcing a UART detection for SIMH.
2021-10-29 11:11:05 -07:00
Wayne Warthen
e017135963 Merge pull request #268 from b1ackmai1er/dev
Update rz.asm
2021-10-29 09:04:31 -07:00
b1ackmai1er
e87c975a24 Update rz.asm 2021-10-29 21:19:41 +08:00
Wayne Warthen
d03b348072 Merge pull request #267 from b1ackmai1er/dev
Update rz.asm
2021-10-28 09:45:02 -07:00
b1ackmai1er
18135d1bcf Update rz.asm 2021-10-28 21:33:41 +08:00
b1ackmai1er
cb37d34a52 Merge pull request #245 from wwarthen/dev
Dev
2021-10-28 20:22:36 +08:00
Wayne Warthen
ddb842ecd7 BPBIOS Support Library Update
- Updated the suportww.lbr and support.txt files from Lars Nelson.
2021-10-27 15:42:12 -07:00
Wayne Warthen
2e6122025d RAM Disk Auto-Format Improvements
- Detect the situation where the RAM disk area is all zeroes and handle it properly as uninitialized.
2021-10-27 15:06:24 -07:00
Wayne Warthen
535dc1314e Merge branch 'dev' of https://github.com/wwarthen/RomWBW into dev 2021-10-27 12:12:27 -07:00
Wayne Warthen
6b81146286 BPBIOS & Doc
- Updated transient SAVE command in BPBIOS with version 17 from Lars Nelson
- Updated document build process to improve consistency between documents.
2021-10-27 12:12:10 -07:00
b1ackmai1er
972d6a2dc8 Merge pull request #244 from wwarthen/dev
Dev
2021-10-27 20:19:45 +08:00
Wayne Warthen
d092349cd8 Merge pull request #266 from lynchaj/patch-26
Update sz.asm
2021-10-26 15:15:30 -07:00
Wayne Warthen
10a92791b8 Merge pull request #265 from lynchaj/patch-25
Update sz.asm
2021-10-26 15:14:41 -07:00
b1ackmai1er
c4e23fdaf5 Merge pull request #243 from wwarthen/dev
Dev
2021-10-27 06:04:28 +08:00
lynchaj
08ec3715b9 Update sz.asm 2021-10-26 17:54:32 -04:00
lynchaj
9968981fd0 Update sz.asm 2021-10-26 17:28:55 -04:00
Wayne Warthen
07e8eb1adf Merge pull request #264 from lynchaj/patch-24
Update sz.asm
2021-10-26 12:33:13 -07:00
Wayne Warthen
4a03ebdb37 Merge branch 'dev' into patch-24 2021-10-26 12:33:03 -07:00
Wayne Warthen
a6e4a67aec Merge pull request #263 from lynchaj/patch-23
Update sz.asm
2021-10-26 12:26:58 -07:00
Wayne Warthen
d2730018a8 Merge pull request #262 from lynchaj/patch-22
Update sz.asm
2021-10-26 12:26:21 -07:00
Wayne Warthen
7f0bfb6753 Merge pull request #261 from lynchaj/patch-21
Update sz.asm
2021-10-26 12:25:27 -07:00
Wayne Warthen
807ae04533 Merge pull request #260 from lynchaj/patch-20
Update sz.asm
2021-10-26 12:24:59 -07:00
Wayne Warthen
8d18b982da Merge pull request #259 from lynchaj/patch-19
Update sz.asm
2021-10-26 12:24:27 -07:00
Wayne Warthen
7e8bde717c Merge pull request #258 from b1ackmai1er/dev
Dev
2021-10-26 12:23:29 -07:00
lynchaj
3a468cbc50 Update sz.asm 2021-10-26 12:13:51 -04:00
lynchaj
c508929668 Update sz.asm 2021-10-26 11:37:56 -04:00
lynchaj
b07600b6ba Update sz.asm 2021-10-26 11:30:00 -04:00
lynchaj
964af4c94f Update sz.asm 2021-10-26 11:26:39 -04:00
lynchaj
c39009b5ee Update sz.asm 2021-10-26 11:17:48 -04:00
lynchaj
912c7a865e Update sz.asm 2021-10-26 10:47:07 -04:00
b1ackmai1er
dadf3d886b Update rz.asm 2021-10-26 20:16:26 +08:00
b1ackmai1er
5424726145 Update rz.asm 2021-10-26 18:19:49 +08:00
b1ackmai1er
55631c6a21 Merge pull request #242 from wwarthen/dev
Dev
2021-10-26 17:36:44 +08:00
Wayne Warthen
7f49a0699c Merge branch 'dev' of https://github.com/wwarthen/RomWBW into dev 2021-10-25 11:50:22 -07:00
Wayne Warthen
40d744f81f Add RZ/SZ Source Build
- Added source build of RZ and SZ from Andrew
- More needless tweaking of the document build process
2021-10-25 11:50:09 -07:00
Wayne Warthen
ac4d271961 Merge pull request #257 from b1ackmai1er/dev
Revert conflict concept. Fix incorrect comparison
2021-10-24 12:29:23 -07:00
b1ackmai1er
53fe7a60f3 Revert conflict concept 2021-10-24 21:04:30 +08:00
b1ackmai1er
68f00df56d Sanity check fro conflicting port settings
Hi Wayne, is this something you would be interested in? If so I will continue populating

E.g.

DMAENABLE	.SET	TRUE		; DMA: ENABLE DMA DRIVER (DMA.ASM)
DMABASE		.SET	$68		; DMA: DMA BASE ADDRESS
DMAMODE		.SET	DMAMODE_ECB	; DMA: DMA MODE (NONE|ECB|Z180|Z280|RC|MBC
.....
SYSTEM TIMER: NONE
HBIOS INT STACK space: 54 bytes.
HBIOS TEMP STACK space: 20 bytes.
DSRTC occupies 697 bytes.
UART occupies 791 bytes.
VDU occupies 908 bytes.
DMA occupies 303 bytes.
FONTS occupy 0 bytes.
PPK occupies 1192 bytes.
MD occupies 5545 bytes.
FD occupies 2381 bytes.
RF occupies 378 bytes.
PPIDE occupies 1703 bytes.
TERM occupies 2078 bytes.
SPK occupies 714 bytes.
RTCDEF=40
WARNING : DEVICE PORT CONFLICT : UARTSBC 104-111:104-105
2021-10-23 23:07:47 +08:00
b1ackmai1er
e23065315f Merge pull request #241 from wwarthen/dev
Dev
2021-10-23 08:56:00 +08:00
Wayne Warthen
d9d95e76dc Regen Documentation 2021-10-22 15:50:55 -07:00
Wayne Warthen
2208441e86 Documentation Generation Tweaks 2021-10-22 13:25:27 -07:00
Wayne Warthen
196f551a1f Merge pull request #255 from b1ackmai1er/dev
dmamon cleanup, updater fix for 1024kb crc32
2021-10-22 11:07:46 -07:00
b1ackmai1er
2cc15070e8 dmamon linux build fix 2021-10-22 23:16:40 +08:00
b1ackmai1er
0480bf19cf dmamon cleanup 2021-10-22 22:40:42 +08:00
b1ackmai1er
bf9361b26b Revert 2021-10-22 21:45:14 +08:00
b1ackmai1er
df26984135 Merge pull request #240 from wwarthen/dev
Dev
2021-10-22 19:13:06 +08:00
b1ackmai1er
84edfeee28 Update updater.asm
Fixup option 3
2021-10-22 19:12:12 +08:00
Wayne Warthen
149f84f64a More Work on Document Creation Process
- Replaced m4 with gpp
2021-10-21 20:18:02 -07:00
Wayne Warthen
475596b7b4 Update Document Creation Process
- Add proper Build and Makefile files in Source/Doc directory
- Switch preprocessing from pp to m4 which is more supportable across platforms
- Building of documentation is still done manually as needed, but it is now easy to do under either Windows or Linux using provided files
2021-10-21 16:18:39 -07:00
b1ackmai1er
be1fb0836f dma updates 2021-10-21 23:14:35 +08:00
b1ackmai1er
711bf1c877 Merge pull request #239 from wwarthen/dev
Dev
2021-10-19 17:15:57 +08:00
Wayne Warthen
faa9db9394 Regen Doc 2021-10-18 13:01:29 -07:00
Wayne Warthen
9bae200836 Merge pull request #253 from b1ackmai1er/dev
Add new video function
2021-10-18 10:06:05 -07:00
b1ackmai1er
f82bd94d8c Update vdu.asm 2021-10-18 21:48:29 +08:00
b1ackmai1er
fdb5465e34 Merge branch 'dev' of https://github.com/b1ackmai1er/RomWBW into dev 2021-10-18 20:38:58 +08:00
b1ackmai1er
3bc8afcc87 Add VDA Read Character function
For your consideration. Seems to work.
2021-10-18 20:38:37 +08:00
b1ackmai1er
6e031f6e2e Merge pull request #238 from wwarthen/dev
Minor Tweaks
2021-10-18 20:38:19 +08:00
Wayne Warthen
1c993d454a Minor Tweaks
- Update SAVE binary in BPBIOS for Z33 compatibility
- Update srec_cat under Unix to use line endings consistent with Windows
2021-10-17 19:51:48 -07:00
b1ackmai1er
6de8d63913 Merge pull request #237 from wwarthen/dev
Dev
2021-10-17 11:32:20 +08:00
Wayne Warthen
f5806a1589 Miscellaneous
- Rename Dev.txt to ReadMe.txt for consistency
- Update Dev app Makefile to not copy the internal ReadMe file to the final output
- Remove obsolete constants in BPBIOS
- Minor patches to zx and cpmtools to workaround an odd behavior in Windows Subsystem for Linux that was  causing output to fail binary comparisons.
2021-10-16 20:21:36 -07:00
Wayne Warthen
e41f1b7bb5 Merge pull request #252 from b1ackmai1er/dev
Dev directory + Speed switching for MBC + ECB
2021-10-16 15:12:36 -07:00
b1ackmai1er
6c55035ddf Speed switch support 2021-10-16 19:46:22 +08:00
b1ackmai1er
b0d4458122 Update updater.asm 2021-10-16 19:12:07 +08:00
b1ackmai1er
90a1f814c1 Update hbios.asm 2021-10-16 17:51:33 +08:00
b1ackmai1er
3fd8c79898 getting linux build to work 2021-10-16 10:43:50 +08:00
b1ackmai1er
3ac788374b Update Makefile 2021-10-16 10:37:24 +08:00
b1ackmai1er
aa1acc9bf8 Update Makefile 2021-10-16 10:33:41 +08:00
b1ackmai1er
479b627451 Update Makefile 2021-10-16 10:30:53 +08:00
b1ackmai1er
ed117bdc88 Update Makefile 2021-10-16 10:26:46 +08:00
b1ackmai1er
4bd371a36b Update Makefile 2021-10-16 10:19:29 +08:00
b1ackmai1er
a4278f2e9e Update Makefile 2021-10-16 10:15:36 +08:00
b1ackmai1er
90b0eb8729 Update Makefile 2021-10-16 10:08:48 +08:00
b1ackmai1er
2625f6b6fc Skeleton development directory 2021-10-16 10:02:19 +08:00
b1ackmai1er
7b9e1af155 Speed change support 2021-10-16 09:49:54 +08:00
b1ackmai1er
74d7733138 Merge pull request #236 from wwarthen/dev
BPBIOS Dynamic RAM/ROM Disk Sizing
2021-10-16 09:43:52 +08:00
Wayne Warthen
5a1fd00c04 BPBIOS Dynamic RAM/ROM Disk Sizing 2021-10-15 16:02:39 -07:00
b1ackmai1er
47d9c4008d Prelim speed management framework 2021-10-16 01:59:46 +08:00
b1ackmai1er
24677d81be Update sn76489.asm
Fix speed reversion
2021-10-15 22:50:08 +08:00
b1ackmai1er
a6dcb90d36 Update usrrom.asm
Ensure message goes to current console
2021-10-15 22:32:39 +08:00
b1ackmai1er
440248fd47 Merge pull request #235 from wwarthen/dev
Dev
2021-10-15 21:03:05 +08:00
Wayne Warthen
bcd1cb8866 Stupid .gitignore
- Hate to sound like a broken record, but I hate .gitignore.
2021-10-14 15:50:19 -07:00
Wayne Warthen
6ad45ab0de ZMD Build Fix
- Trying to get past MLOAD25 in ZMD build on GitHub.  Updated ZX syntax to include a hyphen before the options.
2021-10-14 12:45:34 -07:00
Wayne Warthen
6bce5a567e Make Build Work
- The GitHub build process is getting stuck when running MLOAD25.  NO idea why, works fine on my local Linux.  I am removing the build of ZMD temporarily to get things working again.
2021-10-14 12:34:19 -07:00
b1ackmai1er
e4686cc50c Merge pull request #234 from wwarthen/dev
Dev
2021-10-14 18:32:08 +08:00
b1ackmai1er
6d70dd92fb Update Makefile 2021-10-14 18:31:38 +08:00
b1ackmai1er
fc28738edc Update Build.cmd 2021-10-14 18:25:58 +08:00
b1ackmai1er
72039fe414 Update Clean.cmd 2021-10-14 18:22:16 +08:00
b1ackmai1er
844b26d2e5 Update Clean.cmd 2021-10-14 18:16:13 +08:00
Wayne Warthen
7905429ea0 Update Makefile
Fix case
2021-10-13 17:42:55 -07:00
Wayne Warthen
d265f1323d Add ZMD 2021-10-13 17:33:40 -07:00
b1ackmai1er
f3d4c9adb5 Update hbios.inc 2021-10-13 22:17:54 +08:00
b1ackmai1er
0e7db1eb61 Merge pull request #233 from wwarthen/dev
BPBIOS Sync
2021-10-13 17:49:11 +08:00
Wayne Warthen
04acb4102a BPBIOS Sync 2021-10-12 16:23:51 -07:00
b1ackmai1er
cea11393db Merge pull request #232 from wwarthen/dev
BPBIOS Updates
2021-10-10 13:57:23 +08:00
b1ackmai1er
1db11ca924 Update uart.asm 2021-10-10 13:56:13 +08:00
b1ackmai1er
c834ff216a Development Stub 2021-10-09 08:51:52 +08:00
Wayne Warthen
32228eb89c BPBIOS Updates
- Removed concept of BPBIOS internal proxy (configuration N).
2021-10-07 15:56:54 -07:00
b1ackmai1er
120d180609 Merge pull request #231 from wwarthen/dev
Dev
2021-10-06 20:19:05 +08:00
Wayne Warthen
ccdd2091c1 Regen Doc 2021-10-05 15:10:24 -07:00
Wayne Warthen
eb33aeb63a Merge pull request #251 from b1ackmai1er/dev
Minor doc updates
2021-10-05 14:48:10 -07:00
Wayne Warthen
28bee54bbb BPBIOS Sync
- Add applications from Lars Nelson
2021-10-05 14:36:42 -07:00
b1ackmai1er
f160def46f Forth Enhancements 2021-10-05 21:47:01 +08:00
b1ackmai1er
2077852173 Forth enhancements 2021-10-05 21:42:42 +08:00
b1ackmai1er
7bfedd9ed0 Minor doc updates 2021-10-05 20:05:34 +08:00
b1ackmai1er
3ab531aeb8 Merge pull request #230 from wwarthen/dev
More BPBIOS Updates
2021-10-05 18:46:40 +08:00
Wayne Warthen
16aab25ccf More BPBIOS Updates 2021-10-04 14:36:07 -07:00
b1ackmai1er
3082f39ef4 Merge pull request #229 from wwarthen/dev
BPBIOS Sync
2021-10-04 19:32:08 +08:00
Wayne Warthen
2caeab542c BPBIOS Sync
- Updated BPBIOS based on contributions by Lars Nelson.
2021-10-03 20:00:33 -07:00
b1ackmai1er
14d2d25894 Merge pull request #228 from wwarthen/dev
Update md.asm
2021-10-03 11:34:15 +08:00
Wayne Warthen
c08692eae9 Update md.asm
Fixes a syntax error in TASM.
2021-10-02 17:11:00 -07:00
b1ackmai1er
9f12c1d28f Merge pull request #227 from wwarthen/dev
Dev
2021-10-03 05:42:13 +08:00
Wayne Warthen
2384f4ef1a Fix macro in md.asm
- A macro in md.asm was being mishandled by uz80as (not by TASM).  Adjusted syntax for compatibility.
2021-10-02 14:32:49 -07:00
Wayne Warthen
4413101e2a Bump Version Number 2021-10-01 11:21:17 -07:00
Wayne Warthen
d43fbc0c18 Merge pull request #250 from b1ackmai1er/dev
Update md.asm - Table size off by one. Fix endien confusion for flash id
2021-10-01 11:19:21 -07:00
b1ackmai1er
cfb146242d Update md.asm
Table size off by one. Fix endien confusion for flash id byte
2021-10-02 01:34:58 +08:00
Wayne Warthen
82f7ebe3df Merge pull request #249 from b1ackmai1er/dev
Add addition chip id's to md.asm/ffs
2021-09-29 17:35:04 -07:00
b1ackmai1er
39c4cfc563 Update md.asm 2021-09-29 22:39:28 +08:00
b1ackmai1er
524b368bf6 Merge pull request #226 from wwarthen/dev
Dev
2021-09-27 11:58:31 +08:00
Wayne Warthen
cab5c72f3d Update Makefile
- Fixed typo in directory name
2021-09-26 16:16:10 -07:00
Wayne Warthen
cd37599444 Test Apps Linux Build
- Complete the reorganization of the test apps by implementing Makefile changes.
2021-09-26 16:03:43 -07:00
Wayne Warthen
dd531b56b8 Merge pull request #248 from b1ackmai1er/dev
reorganize test applications. Improve dmamon
2021-09-26 13:53:45 -07:00
Wayne Warthen
017704172b UART Driver
- Fixed issue recently introduced that kept AFC from being enabled for '650 and '850 chips.
- Increase receive interrupt threshold to 8 which improves interrupt handler efficiency under stress.  Credit to Andrew Lynch.
2021-09-26 13:24:54 -07:00
b1ackmai1er
f466f16a4d Update Makefile 2021-09-26 15:38:10 +08:00
b1ackmai1er
a6a812e03f Update dmamon.asm 2021-09-26 15:00:26 +08:00
b1ackmai1er
abee120b4e reorganize test applications. Improve dmamon
linux build to be fixed yet
2021-09-26 14:58:15 +08:00
b1ackmai1er
68134d3ef2 Merge pull request #225 from wwarthen/dev
Dev
2021-09-24 13:56:30 +08:00
Wayne Warthen
756f538a70 Minor Cosmetic Tweaks 2021-09-23 19:16:52 -07:00
Wayne Warthen
ddb3169c28 HDIAG work in progress
- HDIAG updates
- Regen documentation updates from Phil
- Fix ZZR config
2021-09-23 15:43:51 -07:00
Wayne Warthen
522a7a8378 Merge pull request #247 from b1ackmai1er/dev
Doc updates and preparation for run time memory resizing
2021-09-23 13:55:57 -07:00
b1ackmai1er
3582fcedc5 Update hbios.asm 2021-09-23 21:03:07 +08:00
b1ackmai1er
c1083ce5b2 Update hbios.asm 2021-09-22 22:19:17 +08:00
b1ackmai1er
6e083f4cb6 Update GettingStarted.md 2021-09-22 22:14:37 +08:00
b1ackmai1er
145ae8baa1 run time memory size adjustment 2021-09-22 21:34:06 +08:00
b1ackmai1er
366293906e Update md.asm 2021-09-21 23:23:25 +08:00
b1ackmai1er
cc07f1745b Update ROM_Applications.md 2021-09-21 23:13:01 +08:00
b1ackmai1er
db9f1fe35c Merge branch 'dev' of https://github.com/b1ackmai1er/RomWBW into dev 2021-09-21 23:05:41 +08:00
b1ackmai1er
7057bfcf05 Speaker updates
CPU MHz is now rounded at hbios initialization.
2021-09-21 23:02:22 +08:00
b1ackmai1er
76ce394f7e Update Architecture.md 2021-09-21 22:19:01 +08:00
b1ackmai1er
5841cbc18e Merge pull request #224 from wwarthen/dev
Dev
2021-09-21 19:28:46 +08:00
Wayne Warthen
f8e0fb3a6f HDIAG Early Development
- Initial framework.  Just boots up and displays startup messages.
2021-09-20 19:51:19 -07:00
b1ackmai1er
5611608f91 remove assembly time memory constraints 2021-09-18 16:58:07 +08:00
b1ackmai1er
2c633d2d13 remove assembly time memory constraints 2021-09-18 11:53:06 +08:00
b1ackmai1er
fc2a6929bc minors 2021-09-18 09:10:02 +08:00
Wayne Warthen
f27c346565 Merge pull request #246 from lynchaj/patch-18
Create Readme.txt
2021-09-17 08:37:33 -07:00
lynchaj
72e7e0e478 Create Readme.txt 2021-09-16 19:26:53 -04:00
Wayne Warthen
e8752f9ddc Merge pull request #245 from b1ackmai1er/dev
Minor Documentation improvements
2021-09-16 08:55:09 -07:00
b1ackmai1er
9873c1a366 Documentation updates 2021-09-16 21:21:11 +08:00
b1ackmai1er
5d3839a864 Merge pull request #223 from wwarthen/dev
Finalize UART Interrupt Receive
2021-09-15 18:38:58 +08:00
b1ackmai1er
6c82fd1f0c typos and updates 2021-09-15 05:11:36 +08:00
Wayne Warthen
097777c043 Finalize UART Interrupt Receive 2021-09-14 13:29:20 -07:00
b1ackmai1er
333fc6c0f5 Merge pull request #222 from wwarthen/dev
Dev
2021-09-14 20:24:24 +08:00
Wayne Warthen
d6783e5a6e Regen Doc 2021-09-13 11:46:55 -07:00
Wayne Warthen
5942c2c561 Merge pull request #244 from b1ackmai1er/dev
Doc updates
2021-09-13 11:15:38 -07:00
b1ackmai1er
25c752a2de Doc updates 2021-09-13 21:23:05 +08:00
b1ackmai1er
d6f9a727b8 Merge pull request #221 from wwarthen/dev
Fix UART Driver
2021-09-13 19:44:09 +08:00
Wayne Warthen
aaae6c5446 Fix UART Driver
- Breakage in UART detection routine corrected.
2021-09-12 13:52:56 -07:00
b1ackmai1er
cb30cc37cd Merge pull request #220 from wwarthen/dev
Dev
2021-09-12 10:15:15 +08:00
Wayne Warthen
1c7c21cdf8 Update dbgmon.asm 2021-09-11 14:43:40 -07:00
Wayne Warthen
14b005d64e UART Driver Interrupt Driven Receive
- The UART driver has been enhanced to allow use of interrupt driven receive buffer and RTS flow control.  It will only be used if enabled and the chip detected has no auto-flow control capability.
2021-09-11 14:01:40 -07:00
Wayne Warthen
ed08e5a9bd Merge pull request #243 from b1ackmai1er/dev
Add ability to Transfer a file to memory by x-modem
2021-09-11 13:27:19 -07:00
b1ackmai1er
a7a0168655 Update dbgmon.asm
Eliminate need for 128 byte packet buffer
2021-09-12 01:51:31 +08:00
b1ackmai1er
443c1cf233 Update uf.asm 2021-09-11 23:45:38 +08:00
b1ackmai1er
217be93785 config updates for mbc dma 2021-09-11 23:04:11 +08:00
b1ackmai1er
f2664d31b0 Update cfg_mbc.asm 2021-09-11 22:56:24 +08:00
b1ackmai1er
5c44fcd88e xmodem + dump changes
x-modem transfer only included if dsky not enabled.
dump will now dump 100h bytes if no end address entered.
2021-09-11 22:38:48 +08:00
b1ackmai1er
62e2f41100 Prep for MBC DMA support 2021-09-11 22:35:19 +08:00
b1ackmai1er
5b501eb956 Update dbgmon.asm
Initial release for consideration. Not extensively tested. Proof of concept
2021-09-11 00:17:12 +08:00
b1ackmai1er
ceeb213756 Update dbgmon.asm
Preliminary xmodem
2021-09-10 23:23:44 +08:00
b1ackmai1er
64bd0c7965 Merge pull request #219 from wwarthen/dev
Dev
2021-09-08 21:18:12 +08:00
Wayne Warthen
b117fe4e18 Regen Doc
- Pickup doc updates from Phil.
2021-09-07 10:42:56 -07:00
Wayne Warthen
6d53c4534a Merge pull request #242 from b1ackmai1er/dev
Forth fixups, improvement and documentation updates
2021-09-07 10:27:44 -07:00
b1ackmai1er
6d1b61c7a3 Forth fixups, improvement and documentation updates 2021-09-07 21:52:37 +08:00
b1ackmai1er
d58d7146ba forth updates 2021-09-07 18:40:02 +08:00
b1ackmai1er
61aae6b47a Merge pull request #218 from wwarthen/dev
Dev
2021-09-07 17:03:56 +08:00
Wayne Warthen
37cb6d7d19 Misc
- Regen doc to pick up changes from Phil.
- Add rz/sz applications (CP/M 3)
2021-09-06 13:36:19 -07:00
Wayne Warthen
42b9f18f65 Merge pull request #241 from b1ackmai1er/dev
Formatting and typo fixes and some stuff about Forth
2021-09-06 13:30:41 -07:00
b1ackmai1er
7e17598fd9 Update updater.asm 2021-09-06 22:35:06 +08:00
b1ackmai1er
63d9867705 Formatting and typo fixes and some stuff about Forth 2021-09-06 22:32:50 +08:00
b1ackmai1er
851646f7fa Merge pull request #217 from wwarthen/dev
Dev
2021-09-06 19:03:33 +08:00
Wayne Warthen
615454a5bc Regen Doc
- Pick up changes in ROM Applications document from Phil.
2021-09-03 17:59:11 -07:00
Wayne Warthen
4ff893467d Merge pull request #240 from b1ackmai1er/dev
Xmodem Flash Updater documentation
2021-09-01 21:07:59 -07:00
b1ackmai1er
d8d5fbd621 Update ROM_Applications.md
Xmodem Flash Updater
2021-09-01 23:02:31 +08:00
b1ackmai1er
517d7ec897 Merge pull request #216 from wwarthen/dev
Dev
2021-08-30 16:18:32 +08:00
Wayne Warthen
c6207155f6 Regen Documentation
Picking up changes to "ROM Applications" from Phil.
2021-08-29 15:58:07 -07:00
Wayne Warthen
cb82e3ef27 Merge pull request #239 from b1ackmai1er/dev
2048 game instructions added
2021-08-29 15:38:07 -07:00
b1ackmai1er
d5c001aad7 Update ROM_Applications.md
2048 game instructions added
2021-08-29 14:37:52 +08:00
b1ackmai1er
964d2e639b Merge pull request #215 from wwarthen/dev
Dev
2021-08-29 09:55:50 +08:00
Wayne Warthen
219c7d12e2 More Disk Image REfactoring
- The NZCOM disk image is now a fully configured, ready-to-run disk image.
- Working on ReadMe.txt files for each of the disk images.
2021-08-28 16:04:04 -07:00
Wayne Warthen
4f9a63349c Merge pull request #238 from b1ackmai1er/dev
dbgmon enhancements
2021-08-28 15:14:22 -07:00
b1ackmai1er
2cd0486837 dbymon changes
(p)rogram command will now display value of current byte.
r(un) command will now return to the monitor if program executed a return. On return registers are displayed. Run can now optionally pass values to A and BC
2021-08-28 22:57:18 +08:00
b1ackmai1er
e4ce57b9d5 Merge pull request #214 from wwarthen/dev
Dev
2021-08-28 09:10:43 +08:00
Wayne Warthen
e1cb974e76 ROM Applications Document
Phil's new ROM Applications document has been added to the documents generated and added to the /Doc directory.
2021-08-27 08:49:50 -07:00
Wayne Warthen
72eddcf699 Merge pull request #237 from b1ackmai1er/dev
Create ROM Applications.md
2021-08-27 08:07:04 -07:00
b1ackmai1er
76c2bef1a1 Create ROM Applications.md
Hi Wayne, Are you interested in including this?
2021-08-27 21:42:40 +08:00
b1ackmai1er
feaf747b25 Merge pull request #213 from wwarthen/dev
Dev
2021-08-27 18:13:31 +08:00
Wayne Warthen
74dc98b140 Fix DSKY Initialization
- Missed a couple things in the last round of DSKY changes.
2021-08-26 17:23:52 -07:00
Wayne Warthen
4f941de39c Miscellaneous
- Improve handling of RTC latch shadow
- Hardware auto-detect on DSKY and DSKYNG
- Regen documentation
2021-08-26 15:24:59 -07:00
Wayne Warthen
7e9010ed04 Merge pull request #236 from b1ackmai1er/dev
Add reference to Updater
2021-08-26 15:17:12 -07:00
b1ackmai1er
66fa6d9944 Merge pull request #212 from wwarthen/dev
Merge pull request #235 from b1ackmai1er/dev
2021-08-26 23:51:26 +08:00
b1ackmai1er
afb2711120 Update GettingStarted.md 2021-08-26 23:46:57 +08:00
Wayne Warthen
9b9b3b4210 Merge pull request #235 from b1ackmai1er/dev
Reformat and optimize
2021-08-26 08:36:13 -07:00
b1ackmai1er
a9aa50d128 Update zmo-rw01.z80 2021-08-26 20:31:50 +08:00
b1ackmai1er
cbe8ec2aff Update zmo-rw01.z80
Optimization and driver clean-up
2021-08-26 17:18:27 +08:00
b1ackmai1er
9b7a530ee9 Update zmo-rw01.z80 2021-08-25 21:33:25 +08:00
b1ackmai1er
3d278042d6 Merge pull request #211 from wwarthen/dev
Dev
2021-08-25 17:34:13 +08:00
Wayne Warthen
87579e5b65 More ZX Fixes
Credit to Tony Nicholson & Russell Marks
2021-08-24 13:59:12 -07:00
Wayne Warthen
a13ec71c7a Merge pull request #234 from b1ackmai1er/dev
zmp support command line port setting
2021-08-24 13:35:35 -07:00
b1ackmai1er
727847fd83 Update zmo-rw01.z80 2021-08-24 22:22:26 +08:00
b1ackmai1er
23eaab4f35 Delete zmp.doc 2021-08-24 22:20:13 +08:00
b1ackmai1er
f4595f9c08 zmp support command line port setting
- Restore cursor on normal program exit.
- Revert original HBIOS conout and default console code as there
  is no associated facility for direct HBIOS conin.
- Allow setting port 0 and port 1 CIO device from command line
  ZMP 2 sets comms port to CIO 2. Can set primary and secondary
  i.e. ZMP 21 but only primary supported on this ZMP version.
  Untested on Ron Murrays ZMP15
- Space getting short so messages shortened.
2021-08-24 22:18:05 +08:00
b1ackmai1er
3227f6a6bc Merge pull request #210 from wwarthen/dev
Dev
2021-08-24 16:46:59 +08:00
Wayne Warthen
fa5616a17f Fix .gitignore
Yet another .gitignore debacle.
2021-08-23 15:01:37 -07:00
Wayne Warthen
6aa216e040 ZMP LInux/MacOS Build
- Added new ZMP application to Linux/MacOS Build
- More ZX cleanup
2021-08-23 14:43:55 -07:00
Wayne Warthen
17e36df0a0 Merge pull request #233 from b1ackmai1er/dev
Initial mecparts zmodem release
2021-08-23 11:34:36 -07:00
b1ackmai1er
43914c45c1 Initial mecparts zmodem release
No linux makefile
2021-08-23 22:58:06 +08:00
b1ackmai1er
9a3193012c Merge pull request #209 from wwarthen/dev
Dev
2021-08-23 18:21:47 +08:00
Wayne Warthen
67279fbe17 Fix ZX Fixes 2021-08-20 19:25:42 -07:00
Wayne Warthen
3a8ae3cfae Minor ZX Improvements
- Modified so that CPM3 GENCPM output is displayed properly.
2021-08-20 18:16:56 -07:00
Wayne Warthen
a1a2ff05b9 Merge branch 'dev' of https://github.com/wwarthen/RomWBW into dev 2021-08-20 10:50:38 -07:00
Wayne Warthen
b26614c468 ZX Cleanup
- Coalesced Unix and Windows source
- Incorporated relevant fixes from Tony Nicholson
2021-08-20 10:50:30 -07:00
b1ackmai1er
7503e2a868 Merge pull request #208 from wwarthen/dev
Dev
2021-08-19 09:43:44 +08:00
Wayne Warthen
488d56e699 Update commit.yml 2021-08-18 12:57:15 -07:00
Wayne Warthen
1a44d170c3 Version Number Bump 2021-08-17 16:30:11 -07:00
Wayne Warthen
2e72b206d7 Update commit.yml 2021-08-17 16:10:41 -07:00
Wayne Warthen
80ee13e0f4 Misc
- Update TUNE.COM to mute sound card at end of playback when playing via HBIOS.
- Update SN76489 sound driver to use proper default port addresses.
- Modify Phil's CPU MHz speed rounding function to round up anytime speed in KHz is withing 500 KHz of next MHz increment.
2021-08-17 14:55:17 -07:00
b1ackmai1er
44e666d053 Merge pull request #207 from wwarthen/dev
Dev
2021-08-15 08:23:56 +08:00
Wayne Warthen
0ef6694526 Fix .gitignore
I really hate .gitignore
2021-08-14 14:20:08 -07:00
Wayne Warthen
9f2a59fea8 Update hbios.asm
- Fix typo
2021-08-14 13:22:10 -07:00
Wayne Warthen
8b9be05bea Continuing Disk Image Cleanup
- Reorganized most of the "common" files into special directories.
- Fixed bug affecting application boot related to ROM checksum test.
- Added support for LiNC sound card at default port address.
2021-08-14 13:08:59 -07:00
Wayne Warthen
bfe03a5f5e Merge pull request #227 from b1ackmai1er/dev
Round reported CPU Mhz up if  within 20hz of next MHz increment
2021-08-14 13:04:20 -07:00
b1ackmai1er
206ed87210 Adjust reported CPU speed
Round reported CPU Mhz up if  within 20hz of next MHz increment
2021-08-13 17:48:38 +08:00
b1ackmai1er
052800ae0e Merge pull request #206 from wwarthen/dev
Small Build Tweak
2021-08-13 15:49:38 +08:00
Wayne Warthen
3c22269bf5 Small Build Tweak 2021-08-06 17:33:25 -07:00
b1ackmai1er
7b9051f08c Merge pull request #205 from wwarthen/dev
Disk Image Reorg
2021-08-06 17:37:00 +08:00
Wayne Warthen
ac2f10996a Disk Image Reorg
Trying to make sense out of the disk image creation process so that it is easier to maintain going forward.  This is just the initial round of changes.
2021-08-05 16:55:49 -07:00
b1ackmai1er
a4ef0fbaa9 Merge pull request #204 from wwarthen/dev
Dev
2021-08-05 20:36:54 +08:00
Wayne Warthen
b5c9c70822 Revert "Disk Image Cleanup"
This reverts commit 68ed12541a.
2021-08-04 11:21:49 -07:00
Wayne Warthen
51bcfbe767 Revert "Rename Part 1"
This reverts commit 4f495d1b1c.
2021-08-04 11:21:39 -07:00
Wayne Warthen
246c87f46a Revert "Rename Part 2"
This reverts commit 196d51d143.
2021-08-04 11:21:26 -07:00
b1ackmai1er
44a5ef3fd6 Merge pull request #203 from wwarthen/dev
Dev
2021-08-04 21:43:38 +08:00
Wayne Warthen
196d51d143 Rename Part 2 2021-08-03 19:32:46 -07:00
Wayne Warthen
4f495d1b1c Rename Part 1 2021-08-03 19:31:23 -07:00
Wayne Warthen
68ed12541a Disk Image Cleanup 2021-08-03 19:04:45 -07:00
Wayne Warthen
db4e31793e Update Build.cmd
- Fix some instances where build would not abort on bad return code from TASM.
2021-08-03 13:25:17 -07:00
Wayne Warthen
de5f2b1308 Update dskyng.asm
When clearing the 8259 display ram, it is necessary to wait for a status bit to clear before continuing.
2021-08-02 20:57:53 -07:00
Wayne Warthen
acd1b52893 Merge branch 'dev' of https://github.com/wwarthen/RomWBW into dev 2021-08-02 13:45:19 -07:00
Wayne Warthen
7dce259068 Update Z80 Test Apps
The Z80 test apps have been updated to exclude the port I/O instructions.  This is because it is impossible to have consistent expected port I/O across all systems.
2021-08-02 13:45:13 -07:00
Wayne Warthen
86f14cf744 Merge pull request #226 from b1ackmai1er/dev
DMA fall-back mode for md.asm driver
2021-08-02 11:44:52 -07:00
b1ackmai1er
da882d26a5 DMA fall-back mode for md.asm driver 2021-08-01 22:45:50 +08:00
b1ackmai1er
e92613c747 Merge pull request #202 from wwarthen/dev
Add Z80 Instruction Test
2021-07-31 14:48:34 +08:00
Wayne Warthen
65c5f973e4 Add Z80 Instruction Test
A suite of Z80 instruction test applications has been added to user area 5 of CP/M 2.2 and ZSDOS disk images.

The location of these applications is likely to change.
2021-07-30 14:33:23 -07:00
b1ackmai1er
5cc6f7fcd0 Merge pull request #201 from wwarthen/dev
Dev
2021-07-30 14:43:17 +08:00
Wayne Warthen
450b3aff88 BPBIOS Doc Updates 2021-07-29 20:50:04 -07:00
Wayne Warthen
5e12bc3199 ROM Checksum & Verification
A ROM checksum is now imbedded at the end of the ROM code banks.  At boot, this checksum is verified with results displayed during boot.
2021-07-29 13:11:04 -07:00
Wayne Warthen
d6a348d110 Inject ROM Checksum
- A ROM checksum is now injected into the last byte of the ROM banks.  This does not apply to the ROM disk banks, just the first 4 banks that contain code images.
- Fix build prompting
- Fix SCOPY help files
2021-07-29 09:40:41 -07:00
Wayne Warthen
150a02358e Support MBC FDC in HBIOS
- Not yet tested.
2021-07-28 17:19:31 -07:00
Wayne Warthen
fc3b7f43ce Update Makefile 2021-07-28 16:52:15 -07:00
Wayne Warthen
e544e21f04 Make Refactoring 2021-07-28 16:28:02 -07:00
Wayne Warthen
2809ba5b6d More Make and Build Tweaks 2021-07-27 12:10:33 -07:00
Wayne Warthen
e2d586ca3c More Make and Build Tweaks 2021-07-27 11:40:10 -07:00
Wayne Warthen
2a754c8fc6 Update Build.sh 2021-07-26 20:29:20 -07:00
Wayne Warthen
7fafb5cc4b More Make and Build Tweaks 2021-07-26 20:04:03 -07:00
Wayne Warthen
637174373f Make and Build Tweaks 2021-07-26 19:01:49 -07:00
Wayne Warthen
aa29fe79f6 Regen Documentation 2021-07-26 13:13:53 -07:00
Wayne Warthen
88670cc3eb Update FDU.txt 2021-07-26 12:24:40 -07:00
Wayne Warthen
6a796a2f8d Add Support for MBC FDC in FDU
- The FDU support is not yet tested!
- The MBC FDU is not yet supported in HBIOS!
2021-07-26 11:50:21 -07:00
Wayne Warthen
5e0f2f89c1 Update .gitignore 2021-07-26 10:49:15 -07:00
Wayne Warthen
1a78927854 Make and Build Refactoring 2021-07-26 10:00:04 -07:00
b1ackmai1er
92eb635700 Merge pull request #200 from wwarthen/dev
Dev
2021-07-25 13:19:05 +08:00
Wayne Warthen
073a698a6a Build Process Refactoring 2021-07-24 19:27:21 -07:00
Wayne Warthen
8e17067104 Build Improvements
Corrects some situations where build fails, but kept going.
2021-07-24 11:24:48 -07:00
Wayne Warthen
1d0a42215c Merge pull request #225 from b1ackmai1er/dev
Add facility for updater to nominate suggested baud rate.
2021-07-24 10:52:32 -07:00
b1ackmai1er
deca27006e Add recommended baud rate 2021-07-24 23:19:14 +08:00
b1ackmai1er
d3fd46451f Merge pull request #199 from wwarthen/dev
Dev
2021-07-24 22:45:51 +08:00
Wayne Warthen
0710dd563f Merge pull request #224 from b1ackmai1er/dev
Merge pull request #198 from wwarthen/dev
2021-07-24 07:00:51 -07:00
b1ackmai1er
57380905f6 Update uart.asm 2021-07-24 14:18:29 +08:00
b1ackmai1er
93cb50b244 Preliminary integrated baud rate change 2021-07-24 14:03:06 +08:00
Wayne Warthen
d32beb4a9f New Apps
Lars Nelson has contributed 3 new apps.
- XSUB1 is an improved version of DRI XSUB that allows it to be removed from memory using RMXSUB1
- EX is an early variant of the ZEX batch file processor, but EX runs on ZSDOS (does not require later versions of ZCPR).
- SCOPY is a visual file copy utility which requires ZCPR 3+.  It is included on the ZPM disk image.
2021-07-23 18:07:31 -07:00
b1ackmai1er
a0bf6659f1 Merge pull request #198 from wwarthen/dev
Dev
2021-07-23 16:27:13 +08:00
Wayne Warthen
600aa2b2fb Merge branch 'dev' of https://github.com/wwarthen/RomWBW into dev 2021-07-22 11:20:44 -07:00
Wayne Warthen
182e60e700 Fix SPI I/O Contention
Alan's emulator found an issue where the RTC code could contend with the I2C/SPI signals on SC126.
2021-07-22 11:20:34 -07:00
Wayne Warthen
370199e17b Merge pull request #223 from b1ackmai1er/dev
Add MBC
2021-07-22 08:09:37 -07:00
b1ackmai1er
20838c2f89 Adding MBC 2021-07-22 19:43:45 +08:00
b1ackmai1er
7fcd36f11c Merge pull request #197 from wwarthen/dev
Dev
2021-07-22 17:53:56 +08:00
Wayne Warthen
314bf15395 Merge pull request #222 from lynchaj/patch-17
Update dbgmon.asm
2021-07-21 11:06:40 -07:00
Wayne Warthen
e9febecab1 Merge pull request #221 from lynchaj/patch-16
Update dbgmon.asm
2021-07-21 11:06:22 -07:00
lynchaj
f6f520591e Update dbgmon.asm 2021-07-21 09:31:14 -04:00
lynchaj
8b7f126263 Update dbgmon.asm 2021-07-21 09:28:29 -04:00
lynchaj
b33e7db70f Update dbgmon.asm 2021-07-21 06:55:24 -04:00
b1ackmai1er
11449b0832 Merge pull request #196 from wwarthen/dev
Dev
2021-07-21 18:32:19 +08:00
Wayne Warthen
b234881503 Merge pull request #220 from lynchaj/patch-15
Update dbgmon.asm, fix data bus check
2021-07-20 19:30:09 -07:00
lynchaj
cdb0f5be29 Update dbgmon.asm 2021-07-20 20:42:11 -04:00
Wayne Warthen
17ed17be08 Minor Updates 2021-07-20 17:14:42 -07:00
Wayne Warthen
c3fe71112e Merge pull request #219 from lynchaj/patch-14
Update RAM fail routine
2021-07-20 16:40:09 -07:00
Wayne Warthen
a5b9cd4630 Merge pull request #218 from b1ackmai1er/dev
show baud rate in updater + other minors
2021-07-20 16:39:42 -07:00
lynchaj
dda7a3e183 Update RAM fail routine
Change RAM fail to abort on error in page and move on to next page
2021-07-20 11:37:37 -04:00
b1ackmai1er
2e570b368c Merge pull request #195 from wwarthen/dev
Dev
2021-07-20 23:05:32 +08:00
b1ackmai1er
28bacbee41 Update duart.asm 2021-07-20 23:03:53 +08:00
b1ackmai1er
484ef274e9 Update updater.asm
Display device baud rate
2021-07-20 23:03:31 +08:00
b1ackmai1er
436c9d0db2 Update GettingStarted.md 2021-07-20 22:54:48 +08:00
Wayne Warthen
3c710f3094 Merge pull request #217 from lynchaj/patch-13
Added Address Bus verification
2021-07-19 18:44:48 -07:00
lynchaj
4e087fc608 Update dbgmon.asm 2021-07-19 20:43:16 -04:00
lynchaj
6739422b9a Added Address Bus verification
Verify Address Bus functionality prior to starting individual RAM memory location test
2021-07-19 18:30:06 -04:00
Wayne Warthen
e4f638a17a Add Bank Selection to Debug Monitor
- The debug monitor will not display the current bank id in the prompt
- The debug monitor has a new command to set the current bank for the lower 32K
NOTE: Bank selection is not possible when running under interrupt mode 1.  The command will be rejected with an error.
2021-07-19 13:44:44 -07:00
Wayne Warthen
4df77e3fac Merge pull request #216 from lynchaj/patch-12
Update dbgmon.asm, add data bus verification routine before beginning RAM test
2021-07-19 12:59:03 -07:00
lynchaj
3349f68213 Update dbgmon.asm 2021-07-19 15:37:33 -04:00
lynchaj
7587f1fbba Update dbgmon.asm 2021-07-19 14:46:33 -04:00
b1ackmai1er
cc0f2ce3b2 Update util.asm
Fix data stored inline with code.
2021-07-19 18:08:40 +08:00
b1ackmai1er
eab1eef242 Merge pull request #194 from wwarthen/dev
Dev
2021-07-19 16:49:17 +08:00
Wayne Warthen
9fd81e03e9 Fix TSTDSKNG
- Fix a small mistake in the TSTDSKNG app
2021-07-18 17:41:59 -07:00
Wayne Warthen
5852349e15 RAMTEST & DSKNGTST
- Integrate RAMTEST app from Andrew into mainline build process.
- Enhance DSKNGTST app to test on any arbitrary PPI port.

NOTE TO USERS: RAMTEST app is currently only compatible with SBC and MBC hardware.
2021-07-18 17:12:53 -07:00
Wayne Warthen
8655a7b0d8 Merge pull request #215 from lynchaj/patch-11
Create ramtest.bat

NOTE TO USERS:  This application is only compatible with the SBC and MBC hardware platforms.
2021-07-18 16:29:20 -07:00
Wayne Warthen
25306df2cd Merge pull request #214 from lynchaj/patch-10
Create ramtest.sh

NOTE TO USERS:  This application is only compatible with the SBC and MBC hardware platforms.
2021-07-18 16:29:04 -07:00
Wayne Warthen
31ec81bb19 Merge pull request #213 from lynchaj/patch-9
Create loader.asm

NOTE TO USERS:  This application is only compatible with the SBC and MBC hardware platforms.
2021-07-18 16:28:22 -07:00
Wayne Warthen
9d96f5c4de Merge pull request #212 from lynchaj/patch-8
Create dbgmon.asm

NOTE TO USERS:  This application is only compatible with the SBC and MBC hardware platforms.
2021-07-18 16:28:03 -07:00
lynchaj
78af325b22 Create ramtest.bat
build file for ramtest on Windows.  Uses TASM for assembler
2021-07-18 19:04:18 -04:00
lynchaj
1bcf3ef77e Create ramtest.sh
build file for ramtest on Linux platform.  Uses uz80as as assembler
2021-07-18 19:02:32 -04:00
lynchaj
a3522d4eaa Create loader.asm
loader is to allow ramtest to be run as a regular CP/M program.  Relocates ramtest into upper RAM page for execution
2021-07-18 19:00:34 -04:00
lynchaj
c75f719923 Create dbgmon.asm
RAM test for Z80 MBC.  Should also work for Z80 SBC V1 & V2.  Possibly others depending on bank switching logic
2021-07-18 18:58:06 -04:00
b1ackmai1er
09e5df5ad6 Merge pull request #193 from wwarthen/dev
Handle 1MB RAM in MBC Memory Mapper
2021-07-18 08:59:45 +08:00
Wayne Warthen
ff55b0d8f0 Handle 1MB RAM in MBC Memory Mapper 2021-07-17 15:03:39 -07:00
b1ackmai1er
6c98f67413 Merge pull request #192 from wwarthen/dev
Dev
2021-07-17 13:25:41 +08:00
Wayne Warthen
29878ceefb More DSKY Cleanup 2021-07-15 19:14:16 -07:00
Wayne Warthen
1de6f8f8ab Add ROM Updater to Boot Loader
- Phil Summers' ROM Updater has been given an official/permanent place in the Boot Loader menu.
- Rearranged the order and sizing of the modules in the third ROM bank to allow space for above.
- Made a few minor updates to the DSKYng support code.
2021-07-15 13:28:53 -07:00
b1ackmai1er
12d4204465 Merge pull request #191 from wwarthen/dev
Dev
2021-07-14 20:30:55 +08:00
Wayne Warthen
e60bf088c9 DSKY Disk Activity Cleanup
- The DSKY(ng) can display disk I/O activity as the system runs.  This capability was implemented very erratically.  This update overhauls the mechanism, makes it consistent, and implements it across all disk drivers.
2021-07-13 17:11:35 -07:00
Wayne Warthen
995d0a8c1c Merge pull request #211 from danwerner21/dw-071121-dbgmon-work
Dw 071121 dbgmon work
2021-07-13 16:47:48 -07:00
Dan Werner
036dad095c add DSKYng features to monitor and boot 2021-07-13 17:08:54 -05:00
Dan Werner
111aa66405 add DSKYng features to monitor and boot 2021-07-13 17:03:56 -05:00
Wayne Warthen
24d0a22d35 Update commit.yml
Update upload-artifact to v2
2021-07-13 14:08:01 -07:00
b1ackmai1er
3fa576a94e Merge pull request #190 from wwarthen/dev
Dev
2021-07-13 17:47:46 +08:00
Wayne Warthen
c30f107c68 Merge pull request #210 from b1ackmai1er/dev
Update updater.asm
2021-07-12 15:17:06 -07:00
Wayne Warthen
f126b9ff63 Linux Permissions (cont)
- Added chmod +x  commands for shell scripts (casefn.sh & Build.sh)
2021-07-12 14:22:02 -07:00
b1ackmai1er
7d707b4b88 Merge pull request #189 from wwarthen/dev
Increase Monitor Size
2021-07-12 16:20:39 +08:00
b1ackmai1er
222f4c5831 Update updater.asm
add A29010B & A29040B (untested)
2021-07-12 16:01:06 +08:00
Wayne Warthen
10724379c4 Increase Monitor Size
Monitor code now occupies 0xEE00-0xFE00
2021-07-11 19:05:52 -07:00
b1ackmai1er
9da722d5e2 Merge pull request #188 from wwarthen/dev
Dev
2021-07-12 09:46:29 +08:00
Wayne Warthen
39185fa8b3 Linux Permissions
Attempt to fix the permission issue that some users are hitting with the Linux build.
2021-07-11 18:45:41 -07:00
Wayne Warthen
f89d609de2 Merge pull request #209 from danwerner21/dw-071121-dskyng-work
Dw 071121 dskyng work
2021-07-11 18:29:35 -07:00
Wayne Warthen
f48a7e3974 FLASH4 & Build Fixes
- Upgraded FLASH4 from Will Sowerbutts to v1.3.5
- Miscellaneous build cleanups
2021-07-11 15:43:34 -07:00
Dan Werner
b28e2094cb Support for the new DSKYng PCB 2021-07-11 17:02:51 -05:00
Dan Werner
a200192f42 Support for the new DSKYng PCB 2021-07-11 16:58:30 -05:00
Wayne Warthen
40e94ebd99 Merge pull request #206 from b1ackmai1er/dev
ECB-DMA initial release. I2C rearrangement
2021-07-11 14:18:49 -07:00
Wayne Warthen
44b5f16793 Merge pull request #207 from lynchaj/patch-7
Update rtc.asm
2021-07-11 14:01:26 -07:00
b1ackmai1er
91c7c1dbba Add graceful exit for DS1307 utility 2021-07-11 22:52:23 +08:00
b1ackmai1er
9b9f9ded08 Add graceful fail to i2c clock driver 2021-07-11 13:01:44 +08:00
lynchaj
d755be8a41 Update rtc.asm 2021-07-10 14:02:18 -04:00
b1ackmai1er
90fac52c16 Delete rtcds7.asm 2021-07-10 12:10:07 +08:00
b1ackmai1er
e9ef9e0c93 dma & i2c changes
Resync & cleanup
2021-07-10 12:01:32 +08:00
b1ackmai1er
830100cd84 Merge pull request #187 from wwarthen/dev
Dev
2021-07-10 09:21:45 +08:00
b1ackmai1er
1726744650 resync 2021-07-10 09:14:59 +08:00
b1ackmai1er
1603556577 resync 2021-07-10 09:13:23 +08:00
b1ackmai1er
2bd6158b36 resync 2021-07-10 08:57:56 +08:00
b1ackmai1er
fe8425deef resync 2021-07-09 15:25:35 +08:00
b1ackmai1er
0ebfebe8d1 DMA updates
Add hardware probe at initialization and status checks after DMA transfers
2021-07-09 14:57:35 +08:00
Wayne Warthen
e79770dcea Cleanup MBC LEDs
- LED behavior was not quite right.
- Enable MBC speaker by default
2021-07-08 16:45:57 -07:00
Wayne Warthen
d4a542150b DSKYng Support
- DSKYng now has same features as original DSKY including debug monitor
- Added support for MBS LEDs
- Elevated MBS to a platform instead of just a sub-config of SBC
2021-07-08 12:03:32 -07:00
Wayne Warthen
88e7b7b7ae Update mode.asm
Fix for Linux build.
2021-07-06 20:27:31 -07:00
Wayne Warthen
3593a7fabd Filename Case Problems
In order to get the Linux/Mac and Windows builds to result in a binary identical result, I have changed the case of some filenames.  Windows and Linux handle directory sorting differently for upper/lower case in filenames.
2021-07-06 19:50:50 -07:00
Wayne Warthen
7416f5f79e Test Apps
- Converted tstdskng to TASM and added to build scripts.
- Moved MBC specific test apps to their own directory.
2021-07-06 18:45:40 -07:00
Wayne Warthen
3e8fe0c64c Add ppidetst to build
- ppidetst was updated to TASM syntax and is now built automatically
- completed the function within ppidetst to dynamically set the PPI base port address
- cleaned up the formatting a bit
2021-07-06 17:28:08 -07:00
Wayne Warthen
f74f0fa64c Merge pull request #205 from lynchaj/patch-6
Create tstdksyng.asm
2021-07-06 17:24:38 -07:00
Wayne Warthen
6152d58a69 Merge pull request #204 from lynchaj/patch-5
Create tone3.asm
2021-07-06 17:24:11 -07:00
Wayne Warthen
a663278f05 Merge pull request #203 from lynchaj/patch-4
Create LEDs2.asm
2021-07-06 17:23:50 -07:00
Wayne Warthen
7696c01670 Merge pull request #202 from lynchaj/patch-3
Create button2.asm
2021-07-06 17:23:34 -07:00
lynchaj
8c38429439 Create tstdksyng.asm 2021-07-06 19:34:05 -04:00
lynchaj
6c9a1db8b8 Create tone3.asm 2021-07-06 19:31:11 -04:00
lynchaj
d22fd28d1d Create LEDs2.asm 2021-07-06 19:29:02 -04:00
lynchaj
d1779989ed Create button2.asm 2021-07-06 19:26:01 -04:00
Wayne Warthen
d531a0e4c3 Merge pull request #201 from lynchaj/patch-2
Create ppidetst.asm
2021-07-06 14:33:08 -07:00
lynchaj
8fb07c725b Create ppidetst.asm 2021-07-06 17:13:46 -04:00
Wayne Warthen
b876889c7e MBC Cleanup
Fixed a couple of cosmetic display issues.
2021-07-03 17:00:39 -07:00
b1ackmai1er
1e1ad94b6d Minors 2021-07-02 16:37:55 +08:00
b1ackmai1er
4d208094e7 I2C updates 2021-07-02 16:37:28 +08:00
b1ackmai1er
ef71aa7460 Initial ecb-dma support 2021-07-02 15:30:56 +08:00
b1ackmai1er
06a379c281 Merge pull request #186 from wwarthen/dev
Dev
2021-07-02 03:58:37 +08:00
Wayne Warthen
86e55f7968 Preliminary Support for MBC
- Added new memory manager to support Andrew Lynch's MBC system.
2021-06-21 13:28:56 -07:00
Wayne Warthen
e463959fee Minor MKY Driver Enhancements
- Allow any system timer to drive MKY interrupt, not just the TMS driver interrupt.
- Add a build check to ensure that when MKY is enabled, a system timer is also enabled.
2021-06-13 15:18:08 -07:00
Wayne Warthen
226c24d666 Move KIO Support to Dedicated Module 2021-06-09 20:01:31 -07:00
Wayne Warthen
8e4ea799af FDC Detection Improvement
- Some FDC modules startup with the FDC reset signal active.  This fix ensures that reset is not asserted when FDC hardware prove is performed.
2021-06-01 15:44:16 -07:00
Wayne Warthen
c7e4978d44 ZCPRD&J and UNZIPZ4
Contributions from Lars Nelson:

- ZCPRD&J has been slightly enhanced and a couple minor bugs fixed.
- UNZIPZ4 generally handles modern ZIP compression algorithms.
2021-05-31 17:32:39 -07:00
Wayne Warthen
b9d1cb12fe Misc. Cleanup
- No functional changes
2021-05-26 14:40:30 -07:00
Wayne Warthen
ef6b9acbb4 Update tms.asm
- Fix minor build issue.
2021-05-24 11:36:32 -07:00
Wayne Warthen
415ccc313f Merge pull request #199 from vipoo/dean/yellow-msx-boards
Dean/yellow msx boards
2021-05-24 11:27:23 -07:00
Wayne Warthen
31b09f4ab9 Update fd.asm
- Improve FDC hardware detection.
2021-05-24 11:26:10 -07:00
b1ackmai1er
b8a0515791 Create I2C directory. Add i2cscan 2021-05-23 18:40:21 +08:00
b1ackmai1er
b00d25b0ab Merge pull request #185 from wwarthen/dev
FDC hardware auto-detection
2021-05-23 18:20:15 +08:00
Dean Netherton
53d4f657af V9958/KEYBOARD: Added disabled entries in RCZ80_std.asm for the V9958, MSX-KEYBOARD and RP5C01 RTC modules 2021-05-22 16:17:10 +10:00
Dean Netherton
3e0771acf3 V9958: Updated TMS driver to support V9958 2021-05-22 16:17:10 +10:00
Dean Netherton
ea10810934 MSX-KEYBOARD: optimised interrupt handler 2021-05-22 16:17:10 +10:00
Dean Netherton
8173414bf5 MSX-KEYBOARD: some optimisation of interrupt handler 2021-05-22 16:17:09 +10:00
Dean Netherton
a919292386 Added msx compatible keyboard driver for use in MSX 2021-05-22 16:17:09 +10:00
Dean Netherton
83529a7f76 RP5RTC: Fixed issue with clock not enabled 2021-05-22 16:17:09 +10:00
Dean Netherton
0c4f82c881 RP5C01: Added support for read/write nvram byte and detect board present 2021-05-22 16:17:08 +10:00
Dean Netherton
9aef5b0977 RPC501: Added leap year support 2021-05-22 16:17:08 +10:00
Dean Netherton
8981a255a7 RP5C01: Added support for assign date/time 2021-05-22 16:17:08 +10:00
Dean Netherton
99358a7aaf Initial commit for RP5C01 RTC driver 2021-05-22 16:17:06 +10:00
Wayne Warthen
242dc59471 FDC hardware auto-detection
- FD driver will now detect presence of FDC hardware and install if found in all standard configurations
- Does *not* detect type of FDC which must still be set in config
- Added default FD driver MODE to all configs
- Thanks to Alan Cox for the technique!
2021-05-14 17:53:34 -07:00
b1ackmai1er
a473322a98 Merge pull request #184 from wwarthen/dev
Dev
2021-05-13 17:01:58 +08:00
Wayne Warthen
099a9331bf Miscellaneous
- Fixed Linux/MacOS build
- Fixed error reporting in some disk drivers
2021-05-12 18:01:44 -07:00
Wayne Warthen
9a77dd28f9 Changing case of filenames for Linux/MacOS 2021-05-12 17:59:17 -07:00
Wayne Warthen
4baa629894 Merge pull request #198 from b1ackmai1er/dev
Initial I2C support for PCF8584/DS1307 on ECB-4PIO-I2C
2021-05-12 17:05:20 -07:00
b1ackmai1er
74edbb7934 Makefile update rtcds7 2021-05-12 18:45:52 +08:00
b1ackmai1er
16afe4b778 Update platform config files 2021-05-12 18:22:34 +08:00
b1ackmai1er
fc98d8e953 Initial PCF8584/DS1307 implementation
Only HBIOS read time function implemented
2021-05-12 18:00:17 +08:00
b1ackmai1er
be34e9d396 Add DS1307 to architecture document
Align hbios.inc RTC clock codes to match architecture document
2021-05-12 12:48:47 +08:00
b1ackmai1er
9fee763265 Architecture support for DS1307 I2C 2021-05-12 12:28:06 +08:00
b1ackmai1er
7c789ba2a5 Add DS1307 RTC app to build 2021-05-12 11:39:39 +08:00
b1ackmai1er
fb3dcccc01 Merge pull request #183 from wwarthen/dev
Dev
2021-05-11 21:34:21 +08:00
Wayne Warthen
12fea8a1d0 Fixes for MT011 in SD driver
Credit to Douglas Miller for these.
2021-05-02 18:02:07 -07:00
Wayne Warthen
ab3abb7936 CP/NET Stuff
- Added the MT011-based CP/NET work of Douglas Miller and Jay Cotton in user area 4.
- Added network boot (CP/NOS) from Douglas to Boot Loader
2021-04-29 15:29:00 -07:00
Wayne Warthen
c4a0548e76 Miscellaneous Fixes
- SDCNT was not properly implemented in all cases
- ParPortProp debug formatting fix
2021-04-27 14:35:00 -07:00
b1ackmai1er
b71d9655be Merge pull request #182 from wwarthen/dev
Dev
2021-04-25 12:20:33 +08:00
Wayne Warthen
ff6d854298 Received Char Reboot
Allow specifying a character code which, upon receipt, will reboot system.  Only useful/implemented for interrupt driven serial drivers.  Currently only implemented for ASCI and SIO.  Do *not* use this unless you fully understand the ramifications!!!
2021-04-21 16:53:42 -07:00
Wayne Warthen
a72802470a Miscellaneous
- Correct and enhance some diskdefs entries.  Added RC2014 definitions.
- Change NETBOOT binary from 32K to 8K
2021-04-18 11:38:15 -07:00
Wayne Warthen
0b92e41935 Prototype Network Boot Support 2021-04-17 17:00:42 -07:00
Wayne Warthen
1dea4a28dc ZZRCC Build Tweak 2021-04-16 14:57:05 -07:00
Wayne Warthen
518ddd9f46 Update ZZR Monitor 2021-04-16 14:02:21 -07:00
Wayne Warthen
b912761fcc Update FAT.COM, Add MBASIC Manual
- Minor update to FAT.COM for CP/NET compatibility.  Who knew the CP/NET requestor code mucks with the IX & IY register?
- Add David Reese's excellent recreation of Microsoft BASIC manual.
2021-04-13 15:45:27 -07:00
Wayne Warthen
63da5a821a Delete FAT.com 2021-04-13 15:41:56 -07:00
b1ackmai1er
588fdb34eb Merge pull request #181 from wwarthen/dev
Allow swapping MT011 SPI ports
2021-04-13 16:34:27 +08:00
Wayne Warthen
4cbe3212a5 Allow swapping MT011 SPI ports
- Config variable SDMTSWAP will swap the logical order of the SPI ports of MT011
- Updated COPY.COM from v1.72 -> v1.73
2021-04-11 16:39:53 -07:00
b1ackmai1er
e18c2bb4fc Merge pull request #180 from wwarthen/dev
Dev
2021-04-10 15:04:28 +08:00
Wayne Warthen
41061179b5 Miscellaneous
- Improved Linux build to pass actual processor type to uz80as
- Modified Z280 system timer to handle faster CPU clocks accurately
2021-04-01 17:08:16 -07:00
Wayne Warthen
ca55193d23 Added a few single-sided formats to FDU 2021-03-24 17:46:21 -07:00
Wayne Warthen
1945c0f52d CBIOS default drive assignment cleanup
Improved the way that the default drive is assigned in the scenario where you are booting to a ROM-based OS.  This should allow removal of either the RAM drive or the ROM drive without causing unexpected consequences.
2021-03-20 11:55:12 -07:00
Wayne Warthen
ccda402b9b Add Z180 & Z280 timer config settings
Allows Z180 & Z280 system periodic timer to be enabled/disabled via config.  Enabled by default.
2021-03-18 10:37:08 -07:00
Wayne Warthen
9d2e465356 Fix Build 2021-03-17 18:15:40 -07:00
Wayne Warthen
7236aec3fe ZZRCC Disk Image Enhancements
Bill has provided an improved mechanism to allow ZZRCC to boot directly from CF Card.  This work has been incorporated directly into the diskimage creation process for the ZZRCC disk image.
2021-03-17 17:59:29 -07:00
Wayne Warthen
75d2cc4dfe Fix CP/M 3 ZZRCC RAM/ROM disk handling
- Clearing of RAM disk was corrupting non-RAM Disk banks on ZZRCC.
- On ZZRCC, CP/M 3 failed to make RAM/ROM disk DPB adjustments at startup.
2021-03-16 19:17:19 -07:00
Wayne Warthen
63a31593b4 Update ZPM3 TCAP & add TCSELECT
Updated tcap.z3t for ZPM3 slice.  Previous definition was VT-525.  New definition is specifically VT-100.
Credit to Marco Maccaferri for all of this.
2021-03-16 10:57:40 -07:00
b1ackmai1er
5903ed606b Merge pull request #179 from wwarthen/dev
Dev
2021-03-15 17:52:58 +08:00
Wayne Warthen
aa05f2c2bb Fix Build 2021-03-13 19:55:09 -08:00
Wayne Warthen
18bca83deb Fix Build 2021-03-13 19:36:32 -08:00
Wayne Warthen
b47afe8bfb Update .gitignore 2021-03-13 19:22:27 -08:00
Wayne Warthen
db800480bf ZZRCC Linux Build Fixes 2021-03-13 19:04:28 -08:00
Wayne Warthen
4edc408893 ZZRCC Build Improvements
- Creation of hex load file is now automated.
2021-03-13 16:42:06 -08:00
Wayne Warthen
9cf9893ed4 Miscellaneous
- Update romldr to stop using address space >= 0xA000
- ZZRCC work in progress (not finished)
2021-03-12 15:11:15 -08:00
Wayne Warthen
bc2e7a89cc CP/M 3 Time Routines Cleanup 2021-03-11 15:02:03 -08:00
b1ackmai1er
fdae83e0a2 Merge pull request #178 from wwarthen/dev
Dev
2021-03-11 20:24:10 +08:00
Wayne Warthen
65db7a3b15 Implement CP/M 3 RTC date setting 2021-03-10 16:42:27 -08:00
Wayne Warthen
db659da876 Build script improvements
- Allow building a 128KB ROM with 0KB ROM disk
- Move Z280 UART driver to top of device list to make it the highest priority driver for Z280 platforms
2021-03-08 10:25:13 -08:00
Wayne Warthen
82a8792153 Fix Z280 Cold Restart 2021-03-07 19:01:29 -08:00
Wayne Warthen
0053a840b7 Support ZZRCC 2021-03-07 16:21:49 -08:00
b1ackmai1er
106bea2a40 Merge pull request #177 from wwarthen/dev
Implement BOOTCON
2021-03-04 16:29:20 +08:00
Wayne Warthen
33ef02cfc0 Implement BOOTCON
Added BOOTCON config variable to allow setting the boot console device.  This replaces FORCECON and removes the code that used to rearrange the PCINITTBL.
2021-03-03 15:12:57 -08:00
b1ackmai1er
9cd6f9872a Merge pull request #176 from wwarthen/dev
Dev
2021-02-27 13:55:56 +08:00
Wayne Warthen
12d1ce4000 Build Process Tweaks 2021-02-25 14:37:33 -08:00
Wayne Warthen
d4e7cb8d5f Tweaks
- Small optimization in Z180 invalid opcode handler
- Improve ZRC disk image generation script
2021-02-25 13:28:04 -08:00
Wayne Warthen
953dd70052 Z180 Invalid Opcode Tweaks
Thanks and credit to Phillip Stevens for his significant contributions to this enhancement.
2021-02-22 18:49:31 -08:00
Wayne Warthen
e17fee85e9 Add Z180 Invalid Opcode Handler 2021-02-22 14:18:01 -08:00
Wayne Warthen
6a46f8b74c Z280 UART Flow Control
- Implement RTS flow control on Z280 UART using C/T 2 output pin.  Must be supported on PCB and wired properly at serial adapter.
2021-02-21 13:18:57 -08:00
Wayne Warthen
a1a25465da Bug Fixes 2021-02-20 16:49:36 -08:00
Wayne Warthen
78b668687d Add Missing Files 2021-02-19 19:15:53 -08:00
Wayne Warthen
c9a62b6b08 Fix Unix Build 2021-02-19 18:56:13 -08:00
Wayne Warthen
9da58082a7 Z280 Cleanup 2021-02-19 15:47:33 -08:00
Wayne Warthen
f20addf39d Support ZZ80MB 2021-02-18 17:29:08 -08:00
b1ackmai1er
c0e411dab2 Merge pull request #175 from wwarthen/dev
Z280 Tweaks
2021-02-14 09:59:55 +08:00
Wayne Warthen
0d6c792282 Z280 Tweaks
- Interrupt routines that change the Z280 I/O page register now save and restore the original value.
2021-02-13 17:14:59 -08:00
b1ackmai1er
09c2af28c9 Merge pull request #174 from wwarthen/dev
Dev
2021-02-12 20:32:14 +08:00
Wayne Warthen
50abfd7e39 Update hbios.asm
- Remove LED macro temporary diagnostic.
2021-02-11 15:27:59 -08:00
Wayne Warthen
8e7e9039f9 Additional SK Z80-512K Support
- Added support for UART clock divider (CLK2).
2021-02-11 14:28:26 -08:00
b1ackmai1er
d97cf675de Merge pull request #173 from wwarthen/dev
Perliminary support for Sergey's Z80-512K
2021-02-11 21:13:00 +08:00
Wayne Warthen
4791d5f040 Perliminary support for Sergey's Z80-512K
- Watchdog functionality will be enabled if a system timer is operational.
- LED indicates boot progress and thereafter disk I/O.
2021-02-10 15:47:23 -08:00
b1ackmai1er
e565011a1c Merge pull request #172 from wwarthen/dev
Dev
2021-02-10 16:36:55 +08:00
Wayne Warthen
22b651917b Fix small build issue 2021-02-09 16:55:40 -08:00
Wayne Warthen
d21318b753 Bump Version Number 2021-02-09 16:44:01 -08:00
Wayne Warthen
01272308b4 Merge pull request #191 from feilipu/dev
acia - RTS fix and minor updates
2021-02-09 16:38:48 -08:00
Phillip Stevens
f6ecaa7cb5 acia - make reset consistent / correct 2021-02-10 02:58:57 +11:00
Phillip Stevens
38531bc983 acia - receive test optimisation 2021-02-09 18:11:40 +11:00
Phillip Stevens
36ba566c95 acia - assert RTS fix 2021-02-09 18:04:02 +11:00
Phillip Stevens
b41f865c1d acia.asm whitespace 2021-02-09 17:59:54 +11:00
Phillip Stevens
08b8a17d30 fix more divergence from wwarthen-dev 2021-02-09 17:54:56 +11:00
Phillip Stevens
74d25aa2df fix divergence from wwarthen-dev 2021-02-09 17:51:16 +11:00
Phillip Stevens
33d2f59055 fix divergence from wwarthen-dev 2021-02-09 17:42:13 +11:00
Phillip Stevens
9f328f84a5 Merge branch 'wwarthen-dev' into dev 2021-02-09 17:31:23 +11:00
Phillip Stevens
0d26818e81 updates to dev 2021-02-09 17:30:49 +11:00
Phillip Stevens
7ceaa06800 Merge pull request #30 from wwarthen/master
update to dev
2021-02-09 16:58:11 +11:00
Phillip Stevens
bec1c46d21 acia - whitespace 2021-02-09 16:44:05 +11:00
b1ackmai1er
c4ddfe4a2e Merge pull request #171 from wwarthen/dev
Mo' Faster
2021-02-07 22:15:14 +08:00
Wayne Warthen
2ac9f33be7 Mo' Faster
- Some minor Z280 speed optimizations.
2021-02-05 18:20:03 -08:00
b1ackmai1er
8c1a9763e6 Merge pull request #170 from wwarthen/dev
Miscellaneous
2021-02-05 23:45:05 +08:00
Wayne Warthen
7956074746 Miscellaneous
- Fix minor ACIA bug that only occurs if setting a non-standard baud rate.
- Enhance Z280 UART driver to use C/T for more baud rates and to use Z280 opcodes to speed up interrupt handler a bit.
2021-02-04 13:35:21 -08:00
b1ackmai1er
5a3a249af5 Merge pull request #169 from wwarthen/dev
Z280 Optimizations
2021-02-03 21:14:22 +08:00
Wayne Warthen
4cc21948bc Z280 Optimizations
- New Z280 bank selection routine that does not require gigantic table and is about as fast.
- Bump Z280 UART driver to 128 byte buffer.
- Truncate unused portion of Z280 IVT at end.
2021-02-02 16:52:25 -08:00
b1ackmai1er
f6435291f5 Merge pull request #168 from wwarthen/dev
Resync
2021-02-02 15:38:38 +08:00
Wayne Warthen
166bfe5abd Config File Cleanup 2021-02-01 14:28:39 -08:00
Wayne Warthen
c43283b3ec Enable ACIA on Interrupt Modes 2 & 3
ACIA driver will now allow use of the driver in interrupt modes 2 & 3, but will operate in polling mode.
2021-02-01 09:48:46 -08:00
b1ackmai1er
b68fcc71dd Merge pull request #167 from wwarthen/dev
Resync
2021-02-01 15:54:29 +08:00
Wayne Warthen
b91ad2aba0 Fix Typo 2021-01-31 15:38:20 -08:00
Wayne Warthen
f67e5bc023 Merge branch 'dev' of https://github.com/wwarthen/RomWBW into dev 2021-01-31 15:12:57 -08:00
Wayne Warthen
6e6e3d2059 Cleanup 2021-01-31 15:12:55 -08:00
b1ackmai1er
c35ddcfc1f Merge pull request #165 from wwarthen/dev
Resync
2021-01-31 16:43:41 +08:00
Wayne Warthen
443b67024a Update commit.yml 2021-01-30 19:03:48 -08:00
Wayne Warthen
40810aa896 Update commit.yml
Use Pacific Time Zone for build.
2021-01-30 18:48:08 -08:00
Wayne Warthen
8a7bc97fea Update commit.yml
Trying to get GitHub build scripts to use Pacific Time Zone.
2021-01-30 18:46:03 -08:00
Wayne Warthen
8945580ff5 Z280 Cleanup
- Z280 UART MODE command support
- BNKCALL handles calls into HBIOS using system mode
2021-01-30 16:17:34 -08:00
b1ackmai1er
d8b7dc4693 Merge pull request #164 from wwarthen/dev
Add System Timer to Z280 IM3
2021-01-29 21:37:51 +08:00
Wayne Warthen
8fa14863f8 Add System Timer to Z280 IM3
- Z280 counter/timer is now used to implement 50Hz system timer based on CPU oscillator.
- Bug fix in EI <mask> opcodes.
2021-01-28 16:41:33 -08:00
b1ackmai1er
dec4d83b51 Merge pull request #163 from wwarthen/dev
Resync
2021-01-29 08:30:28 +08:00
Wayne Warthen
7e2bad5643 Merge pull request #187 from b1ackmai1er/dev
updater xmodem loop optimization + Minors
2021-01-28 10:58:25 -08:00
Wayne Warthen
fe14a4b2a8 Z280 UART in all interrupt modes
By using polling mode, the Z280 UART can be utilized in interrupts modes 0/1/2.
2021-01-28 10:39:57 -08:00
b1ackmai1er
c6164ae2ab Update hbios.asm
fixup
2021-01-28 19:38:31 +08:00
b1ackmai1er
9e05028c05 Update usrrom.asm
fixup
2021-01-28 19:34:23 +08:00
b1ackmai1er
c2bd5aa5ac Update hbios.asm
Typo + explanation
2021-01-28 19:30:38 +08:00
b1ackmai1er
c3c3782f27 Update updater.asm
Xmodem receive loop optmization
2021-01-28 19:11:24 +08:00
b1ackmai1er
25fb106c8a Merge branch 'dev' of https://github.com/b1ackmai1er/RomWBW into dev 2021-01-28 19:08:03 +08:00
b1ackmai1er
5c9fc2f61f Update usrrom.asm
fixup
2021-01-28 19:07:36 +08:00
b1ackmai1er
63ca119e92 Merge pull request #162 from wwarthen/dev
Z280 Internal UART Support
2021-01-28 18:59:58 +08:00
b1ackmai1er
886621397e Update hbios.asm
Resync
2021-01-28 18:58:50 +08:00
b1ackmai1er
bccbec90e7 Update cvdu.asm
fixup
2021-01-28 18:53:13 +08:00
b1ackmai1er
0f2d68e492 Update usrrom.asm
xmodem receive loop optimizations
2021-01-28 15:36:59 +08:00
Wayne Warthen
2d12da4903 Z280 Internal UART Support
Z280 UART can only be used w/ native memory & interrupt mode 3.
2021-01-27 19:33:37 -08:00
b1ackmai1er
b6d5516e84 Minors
Note to self CCF <> Clear Carry Flag LoL
2021-01-28 10:04:29 +08:00
b1ackmai1er
6ba1a95767 Merge pull request #161 from wwarthen/dev
Z280 Native Mode Completion
2021-01-25 18:43:52 +08:00
Wayne Warthen
75c468d897 Z280 Native Mode Completion
Z280 Native Mode using Interrupt Mode 3 is now stable.  The built-in UART is not yet supported.  Also, RomWBW application style boot is not yet supported.
2021-01-24 15:54:31 -08:00
b1ackmai1er
d282d13d35 Merge pull request #160 from wwarthen/dev
Z280 Work in Progress
2021-01-24 10:30:56 +08:00
Wayne Warthen
bbb986c48f Z280 Work in Progress
- Fixed PEEK/POKE
- Misc. cleanup
2021-01-23 17:55:11 -08:00
Wayne Warthen
d3d59d6922 Update commit.yml 2021-01-23 09:02:12 -08:00
Wayne Warthen
1101384705 Merge pull request #186 from cocoacrumbs/master
Fix for multiple definition of 'verbose' in RomWBW/Tools/unix/uz80as/uz80as.h
2021-01-23 08:59:08 -08:00
Cocoacrumbs
705e1944c9 Fix for multiple definition of 'verbose' in RomWBW/Tools/unix/uz80as/uz80as.h 2021-01-23 15:38:41 +01:00
b1ackmai1er
83d6be39d6 Merge pull request #159 from wwarthen/dev
Resync
2021-01-23 14:36:23 +08:00
Wayne Warthen
3f8cc830f7 Bump Version 2021-01-22 20:43:47 -08:00
Wayne Warthen
06ac451aa6 Z280 Native Bug Fix
- Fix CP/M 3 and ZPM3 disk boot issue.
- Relocate Z280 BNKCPY to HBIOS bank.
2021-01-22 20:43:04 -08:00
Wayne Warthen
6a0837e908 Z280 Work in Progress
- API callls now run in system mode
- Expansion of proxy size has been reverted
2021-01-22 16:45:43 -08:00
Wayne Warthen
10259b5fd2 Merge pull request #185 from b1ackmai1er/dev
Adjustments for new hbios proxy location
2021-01-22 08:59:53 -08:00
b1ackmai1er
ac3a4be7b0 Update updater.asm
debug off
2021-01-22 21:08:58 +08:00
b1ackmai1er
2308f35e66 Adjustments for new hbios proxy location 2021-01-22 21:07:39 +08:00
b1ackmai1er
fd3e957f33 Merge pull request #158 from wwarthen/dev
Resync
2021-01-22 19:50:02 +08:00
Wayne Warthen
e9ae0a8e6d Z280 Interrupt Mode 3 Work in Progress 2021-01-21 20:06:45 -08:00
Wayne Warthen
10d875ffbb Z280 Work in Progress, SC140 Config
- Early support for native mode memory for Z280.
- Added support for SC140 as new standard build.
2021-01-20 11:21:24 -08:00
Wayne Warthen
48bfaaa50e Merge pull request #184 from b1ackmai1er/dev
Update ZSM from v4.1 to V4.2
2021-01-18 08:47:22 -08:00
b1ackmai1er
6e8f62df24 Update ZSM from v4.1 to V4.2 2021-01-18 23:43:17 +08:00
Wayne Warthen
8483e747ff Merge pull request #183 from b1ackmai1er/dev
Updater and md improvements
2021-01-17 15:50:04 -08:00
b1ackmai1er
76eb6cff48 Update updater.asm
Remove test code
2021-01-18 04:26:10 +08:00
b1ackmai1er
8ea441fe4b Merge branch 'dev' of https://github.com/b1ackmai1er/RomWBW into dev 2021-01-18 02:10:23 +08:00
b1ackmai1er
47d2ff82a9 Update updater.asm
Add support for other 512K flash devices. Devices that do not support sector erase will be chip erased prior to writing. Only AM29F040 tested. Additional debug options added
2021-01-18 02:10:10 +08:00
b1ackmai1er
e21fa6477e Update md.asm
Move code space check into flashlib
2021-01-18 02:08:01 +08:00
b1ackmai1er
4c65e244f5 Update flashlib.inc
Add chip erase support. Consolidate code space check here. Only display on error.
2021-01-18 02:07:19 +08:00
b1ackmai1er
99a91c4987 Merge pull request #157 from wwarthen/dev
Resync
2021-01-17 20:53:43 +08:00
b1ackmai1er
0d7a2c3c20 md.asm flash updates
Flash relocating routine now only copies  what is required rather than full 64 bytes every time.
2021-01-16 15:02:36 +08:00
Wayne Warthen
a3a60fca98 Regenerate Documentation 2021-01-15 15:19:27 -08:00
Wayne Warthen
6322574a96 Merge pull request #182 from b1ackmai1er/dev
Extract flash routines from md.asm and updater.asm to common library flashlib.inc
2021-01-15 15:09:04 -08:00
b1ackmai1er
cd77c037de Update GettingStarted.md
Fix RTC reference.

Also note the Booting Disks section refers to the old boot menu.
2021-01-15 23:43:49 +08:00
b1ackmai1er
80439d1ec0 Extract flash routines to common library between md.asm and updater,asm 2021-01-15 21:19:19 +08:00
b1ackmai1er
c12316f5b4 md,asm cleanup af/af' push/pops 2021-01-15 20:50:14 +08:00
Wayne Warthen
06b9f2b882 Merge pull request #181 from b1ackmai1er/dev
romloader baudrate setting. updater improvements
2021-01-14 09:48:24 -08:00
b1ackmai1er
e7022d434d Update updater.asm
Fix startup message when console swapped.  Cleanup
2021-01-15 00:46:31 +08:00
b1ackmai1er
9f17ba102b Update romldr.asm
Add capability to change baud rates when changing console.
2021-01-15 00:20:21 +08:00
b1ackmai1er
f483edfeaa Update updater.asm
Revert AF/AF' PUSH/POP changes to cater for other banking routines other than SBC
2021-01-14 16:07:54 +08:00
b1ackmai1er
9d229e3f31 Update updater.asm
Extend debug info. Add Teraterm usage info,  Other flash device prework
2021-01-14 14:24:21 +08:00
b1ackmai1er
6773924a3a Update updater.asm
Optimize some stack usage and jumps. Enhance timeout check debug option
2021-01-13 15:30:50 +08:00
Wayne Warthen
0e3cdaa15d Merge pull request #180 from b1ackmai1er/dev
updater bank select fix
2021-01-12 10:51:26 -08:00
b1ackmai1er
8d0282f24e commit fix 2021-01-13 01:58:32 +08:00
b1ackmai1er
2310597ada Updater bank select fix
Added CRC32 calculation
2021-01-13 01:56:08 +08:00
b1ackmai1er
725c447cef Merge pull request #156 from wwarthen/dev
Resync
2021-01-11 10:00:24 +08:00
Wayne Warthen
2987c4950e Update md.asm
Preserve AF across calls to BNKSEL in Flash Filesystem.
2021-01-10 11:21:39 -08:00
Wayne Warthen
e4cdc3d167 More SD Card Compatibility Changes
Based on a logic analyzer trace from Andy Cooper, it appears that some SD cards want the unused CRC byte of the command packet to be 0xFF instead of the 0x00 filler I was using.  Changed to put 0xFF in the CRC byte when unused.
2021-01-10 10:18:30 -08:00
Wayne Warthen
430bbd2ccf Another SD Card Driver Tweak 2021-01-09 17:13:49 -08:00
Wayne Warthen
92374ab879 Bump Version 2021-01-09 11:01:20 -08:00
Wayne Warthen
07f6a8889b Merge branch 'dev' of https://github.com/wwarthen/RomWBW into dev 2021-01-09 10:41:07 -08:00
Wayne Warthen
49de66fb85 SD Card Driver Compatibility Improvement
Handle SD Cards that do not support ACMD41 by using CMD1 instead.
2021-01-09 10:39:29 -08:00
Wayne Warthen
2a03295c41 Merge pull request #178 from b1ackmai1er/dev
Add facility to backup flash
2021-01-08 11:57:17 -08:00
b1ackmai1er
506ecfe3e2 Add facility to backup flash 2021-01-08 19:46:20 +08:00
b1ackmai1er
fa3e1c139a Merge pull request #155 from wwarthen/dev
Resync
2021-01-08 15:12:19 +08:00
Wayne Warthen
e72886cfaf Build Tweaks
- Propagate build enhancements from Phil to Unix/Mac build.
- Add removal of .upd files to Clean.cmd script in Binary directory.
2021-01-07 14:32:58 -08:00
Wayne Warthen
04ffc17466 Merge pull request #176 from b1ackmai1er/dev
Fix updater bank display output
2021-01-07 14:12:30 -08:00
b1ackmai1er
1ec37bb983 lzsa2 unix update 2021-01-06 22:01:24 +08:00
b1ackmai1er
adf82645e3 Update Build.ps1
Remove looping construct to create *.upd file
2021-01-06 21:34:23 +08:00
b1ackmai1er
f18bd9fb0a Fix updater bank display output
Also loads derfault console and serial device number now for consistance with boot rom.
2021-01-06 21:18:57 +08:00
b1ackmai1er
f237a4cafa Merge pull request #154 from wwarthen/dev
Resync
2021-01-06 16:12:45 +08:00
Wayne Warthen
1b185bd7f9 Regenerate documentation 2021-01-05 16:38:17 -08:00
Wayne Warthen
ce1b43fb0c Merge pull request #175 from b1ackmai1er/dev
Support System Update process for systems with 39SF040 flash chips
2021-01-05 16:21:07 -08:00
b1ackmai1er
50d449e0e3 Update Build.ps1
Remove compressed update image option. Project for another time maybe.
2021-01-04 21:14:21 +08:00
b1ackmai1er
fca73867fa ReadMe.md Getting \Started.md
Revert change to ReadMe and add document change to GettingStarted.

Hope this is right :)
2021-01-04 21:09:47 +08:00
b1ackmai1er
59de9a01a9 Update updater.asm
Fixups and optimization
2021-01-03 22:12:13 +08:00
b1ackmai1er
9bd2dda749 Update updater.asm
Documented serial limitations.
Improved error handling and messages.
Tried to optimize packet read loop
Tried to optimize character read polling
Added some debug options for testing
2021-01-03 20:25:15 +08:00
b1ackmai1er
e9947c0a68 Create updater.asm
Beta release for romwbw xmodem flash updater
2021-01-01 20:26:55 +08:00
b1ackmai1er
4c52a0dc41 Update md.asm
Remove cache'ng of flash routine . didn't work hxb_buf must be getting trashed by other processes.
2020-12-30 21:59:10 +08:00
b1ackmai1er
4a9fcbc4af Support System Update process for systems with 39SF040 flash chips
Generate an update file.
Updated docs.
md.asm minors
Update compression application
2020-12-30 21:51:48 +08:00
b1ackmai1er
ae9105bd5b Merge pull request #153 from wwarthen/dev
Resync
2020-12-28 12:48:15 +08:00
Wayne Warthen
60ec6c87c2 Merge pull request #172 from b1ackmai1er/dev
Stack and calling optimizations
2020-12-26 20:18:55 -08:00
b1ackmai1er
4ecbb98b17 Update md.asm
minor
2020-12-27 11:56:44 +08:00
b1ackmai1er
0de99d2436 Update md.asm
cleanup
2020-12-27 11:48:45 +08:00
b1ackmai1er
32c1071265 Update md.asm
Sstack use optimization
2020-12-27 11:39:47 +08:00
b1ackmai1er
822f433005 Update md.asm
stack use cleanup
2020-12-27 11:27:51 +08:00
b1ackmai1er
7ee5a68880 Update md.asm
cleanup
2020-12-27 11:06:49 +08:00
b1ackmai1er
83e102a043 Update md.asm
Calculate bank and sector only when needed
2020-12-27 10:52:25 +08:00
Wayne Warthen
af2639ef42 Enhance CSIO handling in sd.asm
Enhance CSIO to play nice(r) with other users of Z180 CSIO by restoring the CSIO speed to default upon function return.
2020-12-26 17:36:33 -08:00
Wayne Warthen
a2c2ed0aef Global Initialization of Z180 CSIO
Initialize CSIO speed at system startup.  A constant called Z180_CNTR_DEF has been created to hold the default value.  This value can be used by drivers to restore the default value after modification.
2020-12-26 11:58:31 -08:00
Wayne Warthen
5463ae21f8 Merge branch 'dev' of https://github.com/wwarthen/RomWBW into dev 2020-12-26 10:46:54 -08:00
Wayne Warthen
890119db3c Update sd.asm
Fix for Issue #170.  Correct use of OUT to OUT0 during CSIO speed change.   Credit to Douglas Miller for finding this bug.

Co-Authored-By: Douglas Miller <16920069+durgadas311@users.noreply.github.com>
2020-12-26 10:46:29 -08:00
b1ackmai1er
a6ebdca958 Update md.asm 2020-12-26 16:58:22 +08:00
b1ackmai1er
8d445533e7 Update Build.ps1
minor
2020-12-26 10:32:45 +08:00
b1ackmai1er
dc302afece Update md.asm
Further optimization of loops utilizing alternate register AF'
2020-12-26 10:32:06 +08:00
Wayne Warthen
eb946d468c Merge pull request #169 from b1ackmai1er/dev
Update md.asm
2020-12-25 15:56:01 -08:00
b1ackmai1er
5b8bfd26cd Update md.asm
Further optimization of loops utilizing alternate register AF'
2020-12-26 01:38:21 +08:00
Wayne Warthen
a4d76603c1 Merge pull request #168 from b1ackmai1er/dev
md.asm minor optimizations for flash file system
2020-12-24 15:51:23 -08:00
b1ackmai1er
dae73fafae Update md.asm
Optimizations
2020-12-24 18:34:59 +08:00
b1ackmai1er
eaa4ceaa38 Update md.asm
Simplify stack setup for relocatable code
2020-12-24 14:24:56 +08:00
b1ackmai1er
5f5737fcfe Merge pull request #152 from wwarthen/dev
Resync
2020-12-24 14:08:04 +08:00
Wayne Warthen
99ecb0b22b Update md.asm
- Fix typo
- Propagate flash write fix to flash erase routine
2020-12-23 11:33:37 -08:00
Wayne Warthen
edf960805e Merge pull request #167 from b1ackmai1er/dev
Add verify after write as default, restructure local stacks in flash file system
2020-12-23 11:24:54 -08:00
b1ackmai1er
f2c3e51ef4 Update md.asm
minors
2020-12-23 22:16:42 +08:00
b1ackmai1er
7c67fc18c8 Update md.asm
Restructure local stack setup for relocatable flash routines.
2020-12-23 22:04:18 +08:00
b1ackmai1er
608dc61e24 Add verify after write as default 2020-12-23 19:17:47 +08:00
b1ackmai1er
8c5c4c9840 Merge pull request #151 from wwarthen/dev
Resync
2020-12-23 17:01:28 +08:00
Wayne Warthen
9e29236a0c Small Fixes
- Properly rerport HBIOS heap overflow in CBIOS
- Adjust write sequence in FFS for high speed operation
2020-12-22 16:41:29 -08:00
Wayne Warthen
0524e02ac4 Merge pull request #165 from b1ackmai1er/dev
Update md.asm
2020-12-22 09:07:23 -08:00
b1ackmai1er
011a8a83d6 Merge branch 'dev' of https://github.com/b1ackmai1er/RomWBW into dev 2020-12-22 20:34:56 +08:00
b1ackmai1er
86fceb962b Update md.asm
With  flash file system enabled and verbose enabled, boot message will display if file system is enabled or disabled.
2020-12-22 20:34:16 +08:00
b1ackmai1er
708f6d36d6 Update Build.ps1
Revert
2020-12-22 20:31:18 +08:00
b1ackmai1er
366ad2a9ef Create an update image for flashing 2020-12-20 21:08:12 +08:00
b1ackmai1er
681077bd81 Merge pull request #150 from wwarthen/dev
Resync
2020-12-17 19:55:31 +08:00
Wayne Warthen
8ac46112f0 Update Build.sh
Fix build issue.
2020-12-16 16:06:15 -08:00
Wayne Warthen
f147e902a4 Update FDU for SmallZ80 I/O Port Changes
Also regenerate PDF documents.
2020-12-16 15:20:27 -08:00
Wayne Warthen
fa6709f8bb Merge pull request #164 from b1ackmai1er/dev
Flash file system optimizations
2020-12-16 14:57:18 -08:00
b1ackmai1er
ef82f9ef71 Update md.asm
update code comments after inlining
2020-12-16 22:53:34 +08:00
b1ackmai1er
e415afa5d0 Update md.asm
cleanup after inlining
2020-12-16 22:26:35 +08:00
b1ackmai1er
cc970afc30 Update md.asm
inline calls to flash code
2020-12-16 22:11:57 +08:00
b1ackmai1er
07ed3f976e Update md.asm
minors
2020-12-16 21:14:43 +08:00
b1ackmai1er
ebaef4c6e3 Update md.asm
minors
2020-12-16 21:04:40 +08:00
b1ackmai1er
3297906fd5 Update md.asm
minors
2020-12-16 20:34:49 +08:00
b1ackmai1er
e84ab3c6bc Update md.asm
minors
2020-12-16 20:05:06 +08:00
Wayne Warthen
995f144166 Merge pull request #163 from b1ackmai1er/dev
Beta release of flash file system driver
2020-12-15 17:49:00 -08:00
b1ackmai1er
e3fa34e524 Update md.asm
Finalize
2020-12-15 22:02:01 +08:00
b1ackmai1er
4327d0a0f1 Update md.asm
Optimization and cleanup
2020-12-15 21:36:37 +08:00
b1ackmai1er
f40a1c963d Update md.asm
Code cleanup
2020-12-15 20:00:03 +08:00
b1ackmai1er
fd5dd15506 Update config files 2020-12-15 18:17:57 +08:00
b1ackmai1er
ad1b2423e1 Update md.asm
First successful write/verify to flash
2020-12-14 21:21:34 +08:00
b1ackmai1er
17cfce2a12 md updates
Trim flash portions of driver. with flash filesystem enabled,   rad routine now used flash drive code to read 4k secctors. Twice as slow as normal rom read routine.
2020-12-13 09:37:46 +08:00
b1ackmai1er
2e62948309 md updates 2020-12-11 21:19:41 +08:00
b1ackmai1er
bf313e7c43 Update Architecture.md
Can you please check and confirm that upper 32k limitation has now been removed. I think the limitation is that you  cant/shouldnt cross a boundary. Sorry if I'm wrong on that.
2020-12-11 20:21:45 +08:00
b1ackmai1er
681432ff4d Merge pull request #149 from wwarthen/dev
MD Driver Bug Fixes
2020-12-11 16:50:40 +08:00
Wayne Warthen
7d4f01e9af MD Driver Bug Fixes
Corrected to return accurate block size (credit to Phil Summers) and to show correct capacity during boot.
2020-12-10 11:56:05 -08:00
b1ackmai1er
ff080fe6ac Merge pull request #148 from wwarthen/dev
Resync
2020-12-08 17:27:51 +08:00
Wayne Warthen
f9662479b4 Fix Doc Typo per Issue #161 2020-12-06 15:50:46 -08:00
b1ackmai1er
d7e5a445a9 Revert new media id 2020-12-07 06:28:23 +08:00
b1ackmai1er
65d2445237 Update md.asm
Add some flash read / write hooks for flash
2020-12-06 22:45:52 +08:00
b1ackmai1er
bdbe5df54e Update Build.ps1
Make all the rom / flash disk files read only for additional protection.
2020-12-06 14:52:03 +08:00
b1ackmai1er
f3437487e5 Memory disk driver updates
Updates to disk media id's
2020-12-06 14:09:49 +08:00
b1ackmai1er
5707815f2a Initial integration of flash r/w code into md.asm 2020-12-06 10:25:09 +08:00
b1ackmai1er
9022962734 Update flashfs.asm
Final update before integration in md.asm
2020-12-06 10:15:47 +08:00
Wayne Warthen
6ee684029e Merge pull request #159 from b1ackmai1er/dev
Update to flashfs
2020-12-04 09:47:49 -08:00
b1ackmai1er
5623155624 Update flashfs.asm
Allow write source to be in low memory
2020-12-04 17:22:32 +08:00
b1ackmai1er
434c5c69e9 Update flashfs.asm
Add option to use HBX_BUF for relocatable code
2020-12-04 15:57:54 +08:00
b1ackmai1er
90bc8c9ef5 Update flashfs.asm
Create common funtion. Add read sector capability
2020-12-04 14:38:16 +08:00
b1ackmai1er
7675ec79e4 Merge pull request #147 from wwarthen/dev
Resync
2020-12-04 09:03:58 +08:00
Wayne Warthen
42db238cdb Update FLASH.COM Application
Update Will Sowerbutts' FLASH.COM to v1.3.4.
2020-12-03 12:01:10 -08:00
Wayne Warthen
f92ff496b0 Merge pull request #158 from b1ackmai1er/dev
Documentation corrections, Forth updates, Flash updates
2020-12-03 11:34:23 -08:00
b1ackmai1er
7b8bab4cd3 Sync Forth to RC2014 version 2020-12-03 23:21:37 +08:00
b1ackmai1er
5b31f676f9 Update Architecture.md
Reset function should be 0xF0 not 0xFD
2020-12-03 21:46:27 +08:00
b1ackmai1er
63cb45980c Merge pull request #146 from wwarthen/dev
Resync
2020-12-01 21:11:52 +08:00
Wayne Warthen
e2c530adfb Update commit.yml 2020-11-24 17:28:00 -08:00
Wayne Warthen
9d87f0bbd3 Update commit.yml
Fix github-slug-action reference
2020-11-24 17:25:21 -08:00
Wayne Warthen
9faec8c56a Update commit.yml
Update github-slug-action
2020-11-24 17:23:26 -08:00
Wayne Warthen
8eb216c1de Merge branch 'dev' of https://github.com/wwarthen/RomWBW into dev 2020-11-24 17:15:45 -08:00
Wayne Warthen
0ac5e4e239 Add TCVIEW and Z3LOC
Added ZCPR utilities TCVIEW and Z3LOC to ZPM disk image.
2020-11-24 17:15:33 -08:00
b1ackmai1er
28af890329 Update flashfs.asm
optimization
2020-11-03 21:40:29 +08:00
Wayne Warthen
33bc0cca26 Merge pull request #157 from b1ackmai1er/dev
Add write sector to flashfs.asm
2020-11-01 10:08:34 -08:00
b1ackmai1er
03635f32af Update flashfs.asm
Add stack space requirements monitoring
2020-11-01 15:58:48 +08:00
b1ackmai1er
9d1de187e4 Update flashfs.asm
Add write sector.
2020-11-01 14:23:24 +08:00
Wayne Warthen
3c35c6c64d Merge pull request #155 from b1ackmai1er/dev
Add Sector erase to flashfs.asm
2020-10-23 09:35:34 -07:00
b1ackmai1er
2c500ffb14 Update flashfs.asm
Add sector erase
2020-10-23 16:22:08 +08:00
Wayne Warthen
c1e9f783c3 Merge pull request #154 from mlukasek/master
EIPC_MEM_xWS values corrected
2020-10-11 16:52:03 -07:00
mlukasek
f078b98c5d EIPC_MEM_xWS values corrected 2020-10-10 02:54:29 +02:00
b1ackmai1er
dba255d118 Update flashfs.asm
Add chip erase error/timeout detection
2020-09-28 00:14:12 +08:00
b1ackmai1er
427c762eec Update flashfs.asm
Implement Chip Erase
2020-09-26 11:55:31 +08:00
b1ackmai1er
3be07568a5 Merge pull request #144 from wwarthen/dev
Dev
2020-09-26 09:58:47 +08:00
Wayne Warthen
69b2293201 Build Tweaks 2020-09-25 17:24:46 -07:00
Wayne Warthen
872bf11ac9 Merge pull request #153 from b1ackmai1er/dev
Dev - Preliminary Flash support
2020-09-25 17:12:34 -07:00
b1ackmai1er
b1b3a8ab84 Merge pull request #143 from wwarthen/dev
Support PropIO V2 on RC2014 Bus
2020-09-26 01:56:04 +08:00
b1ackmai1er
9112938369 Flash file system
First steps - chip identification
2020-09-26 01:54:10 +08:00
Wayne Warthen
87d95f1ce8 Support PropIO V2 on RC2014 Bus
Updated config files to improve support for Colin MacArthur's PropIO V2 board for RC2014 bus
2020-09-24 13:17:02 -07:00
b1ackmai1er
d79de72f1b Merge pull request #142 from wwarthen/dev
Dev
2020-09-14 18:19:31 +08:00
Wayne Warthen
2eff2f6888 Finalize Ed Brindley YM/AY v6 Support 2020-09-03 14:16:08 -07:00
Wayne Warthen
f2579353ab Update Readme.unix 2020-09-02 13:54:27 -07:00
Wayne Warthen
0074e4c6cc Fix Build 2020-09-02 13:03:42 -07:00
Wayne Warthen
a2ab4dbc06 Update Makefile 2020-09-02 12:52:02 -07:00
Wayne Warthen
2d1aab4a62 Improved build processing for ZRC
ZRC CF image prefix is now created dynamically and imbeds ROM image from current build.
2020-09-02 12:30:00 -07:00
Wayne Warthen
6a574bfa4f Copy ZRC prefix file to Binary folder in build 2020-09-01 16:18:55 -07:00
Wayne Warthen
12b3bf0d01 Create hd1024_zrc_prefix.dat
Special hard disk image prefix for ZRC.
2020-09-01 15:57:54 -07:00
Wayne Warthen
e0152f84b5 Update ReadMe.txt 2020-08-31 08:47:14 -07:00
Wayne Warthen
474a00f9e8 Fix Build 2020-08-30 15:58:14 -07:00
Wayne Warthen
e2d3a41dcb Update Makefile 2020-08-30 15:39:25 -07:00
Wayne Warthen
05d76a70d9 HD Image Creation Cleanup
Attempt to clean up the hard disk image creation process to better handle the existence of the two formats (hd512 and hd1024).
2020-08-30 14:35:41 -07:00
Wayne Warthen
892aee68e4 Build Diagnostics 2020-08-23 11:13:49 -07:00
Wayne Warthen
ad05186769 Build Consistency Improvements 2020-08-23 09:06:18 -07:00
Wayne Warthen
0c8c1436ae Fix More Build Anomalies 2020-08-22 19:28:03 -07:00
Wayne Warthen
25111deacb Fix MacOS Build Again 2020-08-22 15:43:53 -07:00
Wayne Warthen
964483a031 Fix Mac OS Build Again 2020-08-22 15:18:12 -07:00
Wayne Warthen
b8982cddd0 Fix MacOS Build Again 2020-08-22 15:02:50 -07:00
Wayne Warthen
4f0569e985 Fix MacOS Build Again 2020-08-22 14:50:41 -07:00
Wayne Warthen
e4e3580535 MacOS Build Fix Again 2020-08-22 14:14:11 -07:00
Wayne Warthen
f69c9722c6 MacOS Build Fix Again 2020-08-22 14:11:35 -07:00
Wayne Warthen
6a7d38b083 MacOS Build Fix Again 2020-08-22 13:55:49 -07:00
Wayne Warthen
ea123856f4 MacOS Build Fix 2020-08-22 13:03:59 -07:00
Wayne Warthen
87f0c0838b Merge pull request #152 from electrified/dev
Additionally build on macos
2020-08-22 12:36:27 -07:00
unknown
695fbcdb07 Build on macos 2020-08-22 19:35:40 +01:00
Wayne Warthen
5919a796a7 Tiny Z80 Support
Propagated Sergey's Tiny Z80 support into dev branch.
2020-08-20 13:45:31 -07:00
Wayne Warthen
a5e5c500cf Merge pull request #150 from skiselev/master
Z80 EIPC Support - Add and use register definitions
2020-08-01 21:31:43 -07:00
Sergey Kiselev
18f9be2c61 Merge remote-tracking branch 'upstream/master' 2020-08-01 13:26:10 -07:00
Sergey Kiselev
78cd69e34d Use definitions for Z80 EIPC / Z84C15
Signed-off-by: Sergey Kiselev <skiselev@gmail.com>
2020-08-01 13:24:43 -07:00
Sergey Kiselev
f482801b94 Add definitions for Z80 EIPC / Z84C15
Signed-off-by: Sergey Kiselev <skiselev@gmail.com>
2020-08-01 13:24:13 -07:00
Wayne Warthen
754f02f9bb Merge pull request #149 from skiselev/master
Support for Tiny Z80 SBC
2020-07-28 20:00:30 -07:00
Sergey Kiselev
b4713fa3ff Add Tiny Z80 image file name
Signed-off-by: Sergey Kiselev <skiselev@gmail.com>
2020-07-27 18:26:53 -07:00
Sergey Kiselev
b18dd28caf Add configuration for Tiny Z80
Signed-off-by: Sergey Kiselev <skiselev@gmail.com>
2020-07-27 18:24:42 -07:00
Wayne Warthen
ebedc88bfa Merge pull request #148 from electrified/rename-rev6-ay-mode
Rename AYMODE_RC_REV6 option to AYMODE_MSX
2020-07-22 19:34:35 -07:00
ed
5fc1da5209 Rename AYMODE_RC_REV6 option to AYMODE_MSX 2020-07-22 19:38:36 +01:00
Wayne Warthen
fc748fcb19 Merge pull request #145 from electrified/add-ay-rev6-support
Add port configuration for new Rev 6 AY sound card
2020-07-16 09:53:54 -07:00
ed
ab26f089bf Add port configuration for new Rev 6 AY sound card 2020-07-15 21:55:54 +01:00
Wayne Warthen
b6555a0022 Merge pull request #144 from electrified/gcc10-fix
Fix for building uz80as on GCC 10
2020-07-12 14:54:53 -07:00
ed
c6026f1aa6 Fix for building uz80as on GCC10 2020-07-12 22:27:51 +01:00
Wayne Warthen
339c6620a2 ZRC support courtesy Bill Shen 2020-07-03 15:29:10 -07:00
Wayne Warthen
a67d0d9da2 Update Tune.asm
Small message formatting change.
2020-06-16 17:21:05 -07:00
Wayne Warthen
8a46395bcb Merge pull request #143 from electrified/dev
Tune: Add printing of song name and artist for PT2 and PT3s
2020-06-16 16:57:33 -07:00
ed
10b320c6c0 Tune: Add printing of song name and artist for PT2 and PT3s 2020-06-17 00:04:14 +01:00
Wayne Warthen
ee2d8d31f4 Update Survey.asm
- Make SURVEY.COM port probing compatible with Z280
2020-06-09 18:17:36 -07:00
Wayne Warthen
a5a590cc4a Update hbios.asm
- No dynamic speed detection for Z280 at this point.
2020-06-08 09:46:29 -07:00
Wayne Warthen
fbfd1e6cb9 Fix Bugs
- Initial Z280 work caused some regression.
2020-06-07 12:40:30 -07:00
Wayne Warthen
7c23f8c431 Regenerate Docs and bump Version 2020-06-06 16:04:34 -07:00
Wayne Warthen
7a70d6a51e Merge pull request #140 from vipoo/dean/dev-20
TMS: update the VDAFN data payload to include ports and register mirror
2020-06-06 15:32:13 -07:00
Wayne Warthen
8ef4456323 Multiple
- Complete initial support for Karl's Z280 module w/ 512K RAM/ROM module
- Allow swapping Z180 serial ports via ASCISWAP config variable
- Fix Z180 include file per Issue #141 from J.B. Lang
2020-06-06 15:13:48 -07:00
b1ackmai1er
cc5fa3c859 Merge pull request #141 from wwarthen/dev
Dev
2020-06-06 20:01:47 +08:00
Dean Netherton
a36eff096b TMS: update the VDAFN data payload to include ports and register mirror 2020-06-06 12:50:48 +10:00
Wayne Warthen
e1145f58aa Merge branch 'dev' of https://github.com/wwarthen/RomWBW into dev 2020-06-05 16:10:48 -07:00
Wayne Warthen
26194e7e21 Add SBC "max" configuration
- The max configurastion is intended solely for testing the build process with most options enabled.  It is not built as part of the production build process.
2020-06-05 16:10:38 -07:00
Wayne Warthen
0c1877449d Merge pull request #138 from codorjan/duart
DUART: fix detection of SC26C92 devices
2020-06-05 15:45:18 -07:00
Chris Odorjan
c766c8bc60 DUART: fix detection of SC26C92 devices
for some reason MR0[3] is always 1 when read; mask this out since all we want to know is if bit 1 was set or not
2020-06-05 14:51:33 -04:00
Wayne Warthen
34238b12eb Update Makefile
- Fix Unix build.
2020-06-03 17:13:23 -07:00
Wayne Warthen
9ee7737c34 Miscellaneous
- Make new XModem the default.  Old version is retained on disk images as XMOLD.COM.
- Preliminary Z280 support.
2020-06-03 16:41:39 -07:00
Wayne Warthen
e9b9092e7d Fix CTC divisor derivation 2020-06-03 10:13:23 -07:00
b1ackmai1er
f0459f9a8d Merge pull request #140 from wwarthen/dev
More XModem Tuning
2020-05-31 08:32:49 +08:00
Wayne Warthen
08f40d88df More XModem Tuning
- Fix bug in USB-FIFO specific driver of XMX
- Tighten receive loop (now achieves 38400 baud w/o flow control on 4MHz CPU system)
2020-05-30 13:26:14 -07:00
b1ackmai1er
3e0ae01acf Merge pull request #139 from wwarthen/dev
XModem Port Specification
2020-05-30 16:05:34 +08:00
Wayne Warthen
717ce95500 XModem Port Specification
- You can now specify an HBIOS Character Unit number on the XM.COM command line.  Currently only available in XMX.COM.
- Add version check in CBIOS to warn user if CBIOS and HBIOS versions do not match.
2020-05-29 19:01:30 -07:00
b1ackmai1er
8fde665936 Merge pull request #138 from wwarthen/dev
Dev
2020-05-29 18:51:08 +08:00
Wayne Warthen
e8ae14d5e4 Update tms.asm
Properly handle TMS I/O delay all variants of Z180, not just the N8.
2020-05-28 12:48:54 -07:00
Wayne Warthen
736ca494e6 Update hbios.asm
Fix issue I created when I updated the SNDDEV ids.
2020-05-27 20:06:04 -07:00
Wayne Warthen
9857dda5b5 Finish DEVICE API extension 2020-05-27 16:44:52 -07:00
Wayne Warthen
b3ec557ab9 CIO DEVICE API update
- Updates DEVICE call for all CIO devices to return unit mode and I/O base address
- Improved experimental XModem (XMX.COM) that uses direct hardware I/O for UART and USB-FIFO devices
2020-05-26 15:33:31 -07:00
b1ackmai1er
bae82e20fe Merge pull request #137 from wwarthen/dev
Cleanup
2020-05-26 17:21:29 +08:00
Wayne Warthen
e5860f90c5 Cleanup 2020-05-25 16:52:21 -07:00
b1ackmai1er
78889a04b4 Merge pull request #136 from wwarthen/dev
Update Note/Octave Table
2020-05-25 17:16:37 +08:00
Wayne Warthen
2227e2a32a Update Note/Octave Table
- Updated formatting of the Note/Octave Table in the Architecture document because Markdown does not support column spanning.
2020-05-24 15:57:58 -07:00
b1ackmai1er
66605777f2 Merge pull request #135 from wwarthen/dev
Dev
2020-05-25 06:17:12 +08:00
Wayne Warthen
cbb963b1ea XModem Improvements
New **experimental** adaptation of XModem called XMX.COM:
- Fixes occasional "stall" at startup (I think)
- Reduces HBIOS overhead substantially
- Automatically uses the console port no matter what COM port the console is on
2020-05-24 14:33:47 -07:00
Wayne Warthen
15563adbb2 Merge pull request #134 from b1ackmai1er/dev
audio update
2020-05-24 13:27:45 -07:00
b1ackmai1er
ff31cce0ab Update time.asm 2020-05-24 18:45:40 +08:00
b1ackmai1er
0bf6caa437 Initial audio duration code 2020-05-24 18:21:16 +08:00
b1ackmai1er
dc0b436e19 revert sn76489 2020-05-24 09:16:02 +08:00
b1ackmai1er
5bdfcd0769 Update hbios.inc 2020-05-24 00:30:28 +08:00
b1ackmai1er
bc5f7c2b0f Merge branch 'dev' of https://github.com/b1ackmai1er/RomWBW into dev 2020-05-24 00:24:26 +08:00
b1ackmai1er
42b09856fd resync 2020-05-24 00:23:34 +08:00
b1ackmai1er
d6fa3621e8 Delete cfg_state.inc 2020-05-24 00:22:47 +08:00
b1ackmai1er
534fb67dc5 resync 2020-05-24 00:14:22 +08:00
b1ackmai1er
b923f51271 resync 2020-05-24 00:11:04 +08:00
b1ackmai1er
55e8cb4a55 Update std.asm 2020-05-24 00:05:12 +08:00
b1ackmai1er
506a2a1032 Update biosldr.z80 2020-05-24 00:01:36 +08:00
b1ackmai1er
3a020341cb Update cbios.asm 2020-05-23 23:56:04 +08:00
b1ackmai1er
b015cecb2a Audio driver updates 2020-05-23 23:23:45 +08:00
b1ackmai1er
a3a03f2851 Merge pull request #134 from wwarthen/dev
Dev
2020-05-23 19:37:29 +08:00
b1ackmai1er
4359d1ddef Update ver.lib 2020-05-23 19:37:01 +08:00
b1ackmai1er
1c0bdfab69 Update ver.inc 2020-05-23 19:35:59 +08:00
b1ackmai1er
cc7d024604 Update RomList.txt 2020-05-23 19:32:56 +08:00
b1ackmai1er
bd91cb1873 Update hbios.asm 2020-05-23 19:28:37 +08:00
b1ackmai1er
c7b94163ee Update spk.asm 2020-05-23 19:21:45 +08:00
b1ackmai1er
65202c9460 Update spk.asm
Calculate tone table at assembly from frequency
2020-05-23 18:09:33 +08:00
b1ackmai1er
88b6c7c477 Update spk.asm
Align note table to architrecture standard.
Quarter notes not supported - returns error status.
Round detected cpu frequency up
2020-05-23 10:03:08 +08:00
Wayne Warthen
1b832b82f7 Update RCZ80_duart.asm
Typo
2020-05-22 16:12:12 -07:00
Wayne Warthen
cc102eab0f Bump Version 2020-05-22 16:02:08 -07:00
Wayne Warthen
3eac8d164c Cleanup
- Minor build script cleanup for DUART driver
2020-05-22 15:40:36 -07:00
Wayne Warthen
8399114748 Merge pull request #133 from codorjan/duart
DUART driver
2020-05-22 15:16:57 -07:00
Wayne Warthen
1b0d5c3670 Miscellaneous
- Generate listing file in Forth build
- Realign EPDSER ports for new silkscreen
2020-05-22 13:44:08 -07:00
Wayne Warthen
180b7fddec Update uart.asm
Fixed some stuff in 16C2552 support
- Concurrent write was being enabled unintentionally
- Swapped the EPDSER UART base ports to match the boards annotations
2020-05-22 09:58:04 -07:00
b1ackmai1er
2eedec1a39 Update ay38910.asm 2020-05-22 16:03:16 +08:00
b1ackmai1er
78c11124e2 Update ay38910.asm 2020-05-22 15:56:26 +08:00
b1ackmai1er
ea0938a699 Merge pull request #133 from wwarthen/dev
Dev
2020-05-22 15:56:01 +08:00
b1ackmai1er
79ddc8d44d Update ay38910.asm 2020-05-22 15:55:15 +08:00
Chris Odorjan
c57de18593 DUART: don't build in the standard configuration
add a separate RCZ80_duart configuration, at least until it gets more testing
2020-05-21 20:30:28 -04:00
Chris Odorjan
24b4492abc Merge remote-tracking branch 'upstream/dev' into duart 2020-05-21 20:09:10 -04:00
Wayne Warthen
d331fcbdef More Cleaning 2020-05-21 14:30:05 -07:00
Wayne Warthen
0cfb30459a Minor Cleanup 2020-05-21 11:34:06 -07:00
Chris Odorjan
909d15aa5d Merge remote-tracking branch 'upstream/dev' into duart 2020-05-21 10:08:46 -04:00
b1ackmai1er
3a4819c5b8 Merge pull request #132 from wwarthen/dev
Dev
2020-05-21 16:31:44 +08:00
Wayne Warthen
5e8e5424dc Cleanup 2020-05-20 21:20:24 -07:00
Wayne Warthen
5c565f8c3e Miscellaneous
- CP/M 3 loader space improvement
- Minor doc update (thanks Radek)
- Preliminary diag level management
- Minor cosmetic bugs
2020-05-20 12:06:19 -07:00
b1ackmai1er
2cb863a163 Merge pull request #131 from wwarthen/dev
Dev
2020-05-20 17:54:20 +08:00
Wayne Warthen
844aee7350 Merge pull request #132 from vipoo/dean/dev-5
Documentation: minor correction of parameters for reset functions
2020-05-19 09:59:58 -07:00
Dean Netherton
df22e1b205 Documentation: minor correction of parameters for reset functions 2020-05-19 20:01:17 +10:00
b1ackmai1er
e8945d4de3 Merge pull request #130 from wwarthen/dev
Dev
2020-05-19 17:45:33 +08:00
Wayne Warthen
054970f642 Adjust TMS driver for RC2014
- Minor config tweaks to TMS driver to formally support TMS9918 board from JB Lang on RC platform.
- Using MSX standard ports to allow use of card in Z180 systems.
2020-05-18 17:18:07 -07:00
Wayne Warthen
3f46921c6c Change PANIC behavior a bit
- Also includes a fix for a build issue in PPIDE identified by Richard Deane.
2020-05-18 15:33:28 -07:00
b1ackmai1er
64e8803ec4 Merge pull request #129 from wwarthen/dev
Dev
2020-05-17 10:34:44 +08:00
Wayne Warthen
1bf4065b6a Global Error Codes 2020-05-16 18:38:26 -07:00
Wayne Warthen
c0410624b5 CP/M 3 improvement in SYSCOPY
- Under CP/M 3, sectors per track must be adjusted for physical sector size.
2020-05-16 12:52:31 -07:00
b1ackmai1er
0a7eed3276 Sound driver changes
Add scaling to the tone table period to maintain maximum range and minimize error.
2020-05-16 10:25:55 +08:00
b1ackmai1er
cfe9548b25 Update hbios.asm
Change order of sound initialization. Least common last. Most common/detectable first.
2020-05-16 09:11:05 +08:00
b1ackmai1er
e9219e89f3 Merge pull request #128 from wwarthen/dev
More system restart options
2020-05-16 08:39:15 +08:00
Wayne Warthen
6afc56a7ca More system restart options 2020-05-15 16:25:31 -07:00
Chris Odorjan
e861611611 Merge remote-tracking branch 'upstream/dev' into duart 2020-05-15 16:45:35 -04:00
Chris Odorjan
74d357ed4b DUART: actually support 26C92 baud rate generator
also improve detection
2020-05-15 16:42:41 -04:00
b1ackmai1er
67300cfe47 Update audio.inc
Optimization
2020-05-15 20:27:25 +08:00
b1ackmai1er
ae76ba82e1 Update audio.inc
Commentry
2020-05-15 20:12:25 +08:00
b1ackmai1er
cd56294d44 Merge pull request #127 from wwarthen/dev
Dev
2020-05-15 18:02:11 +08:00
Wayne Warthen
b474445c52 Update to CLRDIR for CP/M 3
Thanks to Max Scane for this update.  It fixes a situation where CLRDIR may not clear all directory entries under CP/M 3 depending on the disk geometry.
2020-05-13 12:51:10 -07:00
Wayne Warthen
58740a74c3 Merge pull request #128 from vipoo/dean/dev-3
Dean/dev 3
2020-05-13 11:43:01 -07:00
Wayne Warthen
2dec8dacc9 Improve Build and Doc for CP/M 3 and ZPM3
- Put CP/M 3 and ZPM3 built system files into Binary directory to make them easier to access for manual upgrades.
- Improve upgrade documentation.
2020-05-13 11:19:13 -07:00
b1ackmai1er
c4cdaca038 Merge pull request #126 from wwarthen/dev
Dev
2020-05-13 18:00:19 +08:00
Dean Netherton
6f00dd56c4 AY38910: Fix issue with interrupt handling 2020-05-13 13:10:01 +10:00
Dean Netherton
9aaa929800 AY38910: Fix issue with interrupt handling during boot beep 2020-05-13 12:50:33 +10:00
Wayne Warthen
84d206ced4 Misc. Cleanup
- Regenerate documentation
- Improve CP/M 3 drive assignment handling
- Fixed SYSCOPY issue with new partition handling
2020-05-12 13:32:06 -07:00
Wayne Warthen
93de0030bb Merge pull request #127 from vipoo/dean/dev-2
Dean/dev 2
2020-05-12 10:25:11 -07:00
Chris Odorjan
10bddd8a17 Merge remote-tracking branch 'upstream/dev' into duart 2020-05-11 21:56:49 -04:00
Chris Odorjan
0f0eae6bd7 26C92 support (untested)
cleanup
remove debugging (it didn't work when the DUART was the primary device anyways)
simplify configuration tables
2020-05-11 21:54:33 -04:00
Dean Netherton
8f6e33bd79 sounddriver: updated documentation - musical note scale 2020-05-12 09:44:14 +10:00
Dean Netherton
05e2c5c52c tune.com: Added optional switch shift ocatves 2020-05-12 09:44:14 +10:00
Dean Netherton
49359cc221 ay38910: Updated boot beep to use a timer, if active for termination of boot beep sound 2020-05-12 09:44:13 +10:00
b1ackmai1er
dd641937eb Merge pull request #125 from wwarthen/dev
Fix CPM3/ZPM3 Disk Reassignment Issue
2020-05-12 06:22:00 +08:00
Wayne Warthen
d534aa41d5 Fix CPM3/ZPM3 Disk Reassignment Issue
- Improve the behavior of the ASSIGN command to notify CPM3/ZPM3 BDOS of disk change when a drive is reassigned.
2020-05-11 09:47:30 -07:00
b1ackmai1er
519474da1c Merge pull request #124 from wwarthen/dev
Dev
2020-05-11 05:37:24 +08:00
Wayne Warthen
df195ee75c ZPM3 Drive Map Fix
- Workaround to make ZPM3 consider all drives (A-P) valid so that subsequent drive ASSIGNments work properly.
2020-05-10 11:52:44 -07:00
Wayne Warthen
103a2fc2ae Small Cleanup 2020-05-10 10:38:22 -07:00
Wayne Warthen
e363d48356 Merge pull request #126 from vipoo/dean/dev-14
Dean/dev 14
2020-05-10 10:33:58 -07:00
b1ackmai1er
989ab9bf05 Sound devices in Device Summary 2020-05-10 22:43:03 +08:00
Dean Netherton
45cd12b77e Sn76489: Updated todo list 2020-05-10 14:08:34 +10:00
Dean Netherton
ab84a43d33 Sound drivers: support/rejection of zero value for period
SN76489:
The SN76489 chip will produce a note for value 0 - but the driver will reject
this value - but it does allow value $400 - (logically the same) to produce the lowest note

AY38910:
This chip does not produce a sound for period of 0 - so its also rejected
The max value for this driver is still $0FFF
2020-05-10 14:04:19 +10:00
Dean Netherton
5e65fcba13 AY38910: Refactored to use a common function for note mapping as SN76489 driver 2020-05-10 14:04:18 +10:00
Dean Netherton
625e696f68 whitespace 2020-05-10 14:02:59 +10:00
Dean Netherton
7330928dca SN76489: Moved clock configuration from driver to platform config files 2020-05-10 14:02:59 +10:00
Dean Netherton
98a63cefa9 SN76489: refactor - remove custom div16 function - use common hbios util div16 function 2020-05-10 14:02:59 +10:00
Dean Netherton
8c2c0f45b5 sn76489: refactor to support full note range
No need to full mapping table
Range can be consistent with all sound drivers
2020-05-10 14:02:59 +10:00
b1ackmai1er
8a346da051 Merge branch 'dev' of https://github.com/b1ackmai1er/RomWBW into dev 2020-05-10 11:45:19 +08:00
b1ackmai1er
5ba63020d1 Merge pull request #123 from wwarthen/dev
Dev
2020-05-10 11:29:52 +08:00
Wayne Warthen
2aa43a8063 Propeller VGA Signal Timing Update
- Propeller VGA signal now uses 60Hz refresh for  better compatibility with all VGA monitors
2020-05-09 19:23:11 -07:00
Wayne Warthen
a22085d8db Cleanup 2020-05-09 17:07:33 -07:00
Wayne Warthen
df1421b163 Small Cleanup 2020-05-09 16:48:30 -07:00
Wayne Warthen
f871b5561e Merge pull request #125 from b1ackmai1er/dev
Initial sound driver update for spk.asm
2020-05-09 10:09:00 -07:00
b1ackmai1er
d6bccde06d Update spk.asm 2020-05-09 23:05:24 +08:00
b1ackmai1er
989fa57047 Merge pull request #122 from wwarthen/dev
Dev
2020-05-09 22:34:28 +08:00
b1ackmai1er
48001b6115 Update Tune.asm 2020-05-09 22:33:12 +08:00
b1ackmai1er
180f901594 Initial sound driver update for spk.asm 2020-05-09 22:27:59 +08:00
Wayne Warthen
33da94a4bd Regenerate Doc 2020-05-08 19:27:20 -07:00
Wayne Warthen
198da97f0e Merge pull request #124 from b1ackmai1er/dev
Sound driver updates
2020-05-08 18:28:49 -07:00
Wayne Warthen
c072052b38 Merge pull request #123 from vipoo/dean/dev-12
Dean/dev 12
2020-05-08 18:28:15 -07:00
b1ackmai1er
c1f8cc0f7b Merge branch 'dev' of https://github.com/b1ackmai1er/RomWBW into dev 2020-05-09 09:16:32 +08:00
b1ackmai1er
db81a4a3e7 Merge pull request #121 from wwarthen/dev
Disk I/O Cleanup
2020-05-09 09:15:50 +08:00
b1ackmai1er
75c25c813d ay-3-8910 updates
Implement full BBC Micro note table
Note table now calculated at assembly based on selected frequency.
Code optimization
2020-05-09 09:14:53 +08:00
Dean Netherton
3b05013b62 HBIOS: Get timer tick now include the tick frequency 2020-05-09 10:38:53 +10:00
Dean Netherton
4369b1f288 Documentation: removed reference to function Inc Timer, as its not implemented 2020-05-09 10:38:53 +10:00
Dean Netherton
4700ea92db sn76489: minor fix to tracing for SN7_NOTE 2020-05-09 10:38:53 +10:00
Wayne Warthen
182dd322a5 Disk I/O Cleanup 2020-05-08 15:46:30 -07:00
b1ackmai1er
1ba2d767a8 Merge pull request #120 from wwarthen/dev
Dev
2020-05-08 14:12:11 +08:00
Wayne Warthen
fc36eed4cd Merge pull request #122 from b1ackmai1er/dev
tune.com --hbios check for devicesDev
2020-05-07 17:13:53 -07:00
Wayne Warthen
612e589016 Fix .gitignore 2020-05-07 17:05:39 -07:00
Wayne Warthen
1859eb0310 Experimental partition support 2020-05-07 16:58:38 -07:00
b1ackmai1er
2ac67e04b6 Merge branch 'dev' of https://github.com/b1ackmai1er/RomWBW into dev 2020-05-08 06:22:56 +08:00
b1ackmai1er
f6467e8671 Update cli.inc 2020-05-08 06:22:27 +08:00
b1ackmai1er
c304415b07 Merge pull request #119 from wwarthen/dev
Merge pull request #121 from b1ackmai1er/dev
2020-05-08 06:21:26 +08:00
b1ackmai1er
7a10702355 tune.com --hbios check for devices
Don't panic if no --hbios supported devices
2020-05-08 06:18:10 +08:00
Wayne Warthen
112a94c69d Merge pull request #121 from b1ackmai1er/dev
Sound driver tweaks
2020-05-06 19:05:08 -07:00
b1ackmai1er
2ec05940f7 Update ay38910.asm 2020-05-06 21:46:11 +08:00
b1ackmai1er
b3f8cce0ae Basic ay-3-8910 harware detection 2020-05-06 20:48:35 +08:00
b1ackmai1er
7cbb9d081b sound and tune optimizations
sn76489 not tested
2020-05-06 19:02:05 +08:00
b1ackmai1er
8409a62a6a Merge pull request #118 from wwarthen/dev
Dev
2020-05-05 16:34:51 +08:00
Wayne Warthen
c4fae3c1dd Bug fixes
- Fixed build issue in cbios.asm
- Flow improvement in romldr.asm
2020-05-04 14:37:42 -07:00
Wayne Warthen
a1be614279 Cleanup 2020-05-04 13:34:36 -07:00
Wayne Warthen
ce3f7f2224 Small bug fix
- Build error in romldr.asm when using custom boot timeout.
- Handle CP/M 3 error mode variable properly.
2020-05-04 09:07:09 -07:00
b1ackmai1er
55eef6370e Merge pull request #117 from wwarthen/dev
Early partition table support
2020-05-04 16:48:35 +08:00
Wayne Warthen
ee0fac37f9 Early partition table support
Adding infrastructure for partition table support.  Backward compatible.  Not ready for end user usage yet.

Bumped version to 3.1.1 to demarcate this change.
2020-05-03 19:05:44 -07:00
b1ackmai1er
2cf86f41fa Merge pull request #116 from wwarthen/dev
Dev
2020-05-04 06:18:25 +08:00
Wayne Warthen
74e79a6c59 Regenerate Doc, Bump Version
blah, blah, blah
2020-05-03 09:46:23 -07:00
Wayne Warthen
c3bfc44ec3 Merge pull request #120 from b1ackmai1er/dev
Replace ay driver with new ay38910 driver
2020-05-03 09:31:51 -07:00
b1ackmai1er
24b79880d0 Update ay38910.asm
code optimizations
2020-05-03 23:05:08 +08:00
b1ackmai1er
cea46daba9 replace ay driver with ay38910 2020-05-03 21:59:45 +08:00
b1ackmai1er
afbc00d78c ay38910 updates
cleanups, optimizations, protect registers
2020-05-03 20:28:44 +08:00
b1ackmai1er
b5a085dd23 Merge pull request #115 from wwarthen/dev
Dev
2020-05-03 11:31:19 +08:00
Wayne Warthen
849ec56421 Merge pull request #119 from vipoo/dean/dev-9
Sound drivers
2020-05-02 18:57:00 -07:00
Dean Netherton
41318639f8 Sound Drivers: Fix issue when attempting to add 2 sound drivers
Needed to increase buffer for active drivers (SND_MAX) from 2 to 3
2020-05-03 11:27:05 +10:00
Dean Netherton
eb552ab7a2 Sound Drivers: fixed building image issue
Duplicate labels fixed for when building AY38910 and SN76489 drivers into the same image
2020-05-03 11:25:32 +10:00
Dean Netherton
f85205afb8 whitespace: ay38910 and hbios 2020-05-03 11:24:14 +10:00
Wayne Warthen
1a8cfb91e7 Changes from Dean Netherton
- Allow immediate autoboot (no timeout)
- Allow configuring number of floppy devices
2020-05-02 14:58:07 -07:00
Wayne Warthen
a457e797ee Update sd.asm
Significantly improve compatibility of SD Cards w/ Z180 -K CPU.
2020-05-02 13:00:15 -07:00
Wayne Warthen
e418b04c3e Regenerate Documentation 2020-05-02 10:54:32 -07:00
Wayne Warthen
abf2ee968a Merge pull request #117 from b1ackmai1er/dev
ay-3-8910 sound driver initial release
2020-05-02 10:35:18 -07:00
b1ackmai1er
7f1b8c8aa6 ay-3-8910 sound drive tone table development 2020-05-02 20:59:12 +08:00
b1ackmai1er
f399c2e9fa Update ay38910.asm
Remove debug output
2020-05-02 12:54:04 +08:00
b1ackmai1er
a62d69c1c4 fixup platform builds and restore tune default behaviour 2020-05-02 12:47:06 +08:00
b1ackmai1er
3dfeaabe2f ay-3-8910 sound driver updates 2020-05-02 12:28:35 +08:00
b1ackmai1er
5ff9dbb67e Merge pull request #114 from wwarthen/dev
Dev
2020-05-02 11:40:08 +08:00
Wayne Warthen
ae02d6aea0 Regenerate Documentation 2020-05-01 17:43:34 -07:00
Wayne Warthen
50acf56ec8 Merge pull request #116 from vipoo/dean/dev-7
sound driver: minor doc updates
2020-05-01 17:39:44 -07:00
Wayne Warthen
eeab786848 Update sd.asm
Optimize SD Card protocol timing delay for CSIO interface.
2020-05-01 17:30:12 -07:00
Dean Netherton
6cb33ca334 sound driver: minor doc updates 2020-05-02 09:42:55 +10:00
b1ackmai1er
c20036297f Delete SBC_std_zpp.asm 2020-05-02 00:48:07 +08:00
b1ackmai1er
20ad992a7b Initial ay-3-8910 driver 2020-05-02 00:42:11 +08:00
b1ackmai1er
eaaf213902 Merge pull request #113 from wwarthen/dev
Dev
2020-04-30 17:38:21 +08:00
Wayne Warthen
b3c044ab65 Fix HBIOS Breakage! 2020-04-29 22:13:57 -07:00
Wayne Warthen
6cbcdb694d Update Documentation 2020-04-29 19:42:58 -07:00
Wayne Warthen
0834acc020 RTC Device Info Functions 2020-04-29 19:30:24 -07:00
Wayne Warthen
e50f5f0935 Add support for EPFDC
Credit to Alan Cox for the changes.
2020-04-29 17:45:04 -07:00
Chris Odorjan
f86e871f07 Merge remote-tracking branch 'upstream/dev' into duart 2020-04-29 13:48:50 -04:00
Chris Odorjan
ceb1826bed DUART: try not to step on 16x50 UART configuration 2020-04-29 13:45:39 -04:00
Wayne Warthen
36dff411fd Minor Doc Update 2020-04-28 10:58:48 -07:00
Wayne Warthen
90e0a99486 Merge pull request #115 from vipoo/dean/dev-6
Dean/dev 6
2020-04-28 10:42:05 -07:00
Dean Netherton
c51fa1fcae SN76489: Renamed variable 'pitch' to 'period' 2020-04-28 20:40:46 +10:00
Dean Netherton
9cdbc5b981 SN76489: Do not play when period is overflowing 2020-04-28 20:40:46 +10:00
Dean Netherton
7542fa8032 TracingBug: PRTHEXWORDHL was tracing DE not HL 2020-04-28 19:50:29 +10:00
Dean Netherton
b1bb684a04 SN76489: Prevent and return error code if a pitch greater than 03FF is attempted to be set 2020-04-28 18:35:20 +10:00
Dean Netherton
ade954ab69 SN76489: Added support for BF_SNDQ_DEV/SN7_QUERY_DEV query
And updated some driver docs
2020-04-28 18:17:56 +10:00
b1ackmai1er
9f8adfee9b Merge pull request #112 from wwarthen/dev
Minor updates to FDISK and KERMIT apps
2020-04-27 20:57:06 +08:00
Wayne Warthen
297c246570 Minor updates to FDISK and KERMIT apps 2020-04-26 19:15:58 -07:00
b1ackmai1er
13e6712721 Merge pull request #111 from wwarthen/dev
Dev
2020-04-26 19:35:44 +08:00
Chris Odorjan
dce4496393 Merge remote-tracking branch 'upstream/dev' into duart 2020-04-26 00:27:20 -04:00
Chris Odorjan
db24d6e435 detect/initialize DUART _after_ 16550
prevents 16550 detection from stomping on DUART registers
(untested: does the DUART detection stomp on the 16550?)

add DUART to serial device strings list
2020-04-25 23:46:37 -04:00
Chris Odorjan
3bd2eb431a spelling + fixes 2020-04-25 23:46:12 -04:00
Wayne Warthen
e247c99cd5 Merge pull request #114 from vipoo/dean/dev-5
Dean/dev 5
2020-04-25 19:50:43 -07:00
Wayne Warthen
072f0f7562 Updated KERMIT applications with VT100 terminal support
Provided by Jim McGinnis.
2020-04-25 19:42:43 -07:00
Dean Netherton
392e729d57 tms: Correctly implemented pre-init to disable interrupts 2020-04-26 10:48:34 +10:00
Dean Netherton
f7748cc6db Tune.asm - removed typo 'FAIL' labels 2020-04-26 10:28:01 +10:00
Dean Netherton
6d9172f635 Replace FAIL with git statusgit status! to force assembler to error 2020-04-26 10:27:19 +10:00
Wayne Warthen
c3e78ec8f5 Minor Cleanup 2020-04-25 10:48:35 -07:00
Wayne Warthen
5b9cf0f834 Merge pull request #113 from vipoo/dean/dev-4
Dean/dev 4
2020-04-25 10:24:08 -07:00
Dean Netherton
0381c72ca2 Fix issue with TMS interrupt support - some default configurations were missing 2020-04-25 22:23:30 +10:00
Dean Netherton
d156aba1f9 tune.com: Updated to support using HBIOS sound driver
A new command line switch has been added '--hbios'.

Using this switch after the filename, will cause tune.com to play thru
the HBIOS sound driver

MYM file types are not supported thru HBIOS yet.
2020-04-25 17:14:51 +10:00
Dean Netherton
1388b8495c whitespace: removed trailing whitespaces from Tune.asm 2020-04-25 17:14:51 +10:00
Dean Netherton
ef52d17303 ChangeLog: Added entries for TMS/SYSTIME 2020-04-25 17:12:30 +10:00
Dean Netherton
9957fbfd33 ChangeLog: Whitespace and updated D?N to DEN 2020-04-25 17:12:07 +10:00
Dean Netherton
ff2ebbb09f TMS: Enable support for using VSYNC interrupt
Use the VSYNC interrupt to trigger the sys timer event
2020-04-25 17:11:32 +10:00
Dean Netherton
7d6b011362 Whitespace: adjusted whitespace for tms.asm 2020-04-25 17:11:31 +10:00
Chris Odorjan
e911e93aaf DUART: preliminary implementation
assumes XR88C681 for now
2020-04-25 00:50:18 -04:00
Wayne Warthen
8b7c167592 Cleanup loader console assignment 2020-04-24 11:33:15 -07:00
b1ackmai1er
868f332706 Merge pull request #110 from wwarthen/dev
Dev
2020-04-24 19:11:00 +08:00
Wayne Warthen
e654c5739e Disk Catalog & Loader Console Command
- Disk Catalog document has been added to the Doc directory courtesy of Mykl Orders.
- Loader enhanced to allow switching the console device before booting OS or ROM app.
2020-04-23 22:08:19 -07:00
Wayne Warthen
a6aff72d86 Update cfg_zeta2.asm
Missed Zeta 2 configuration file in last update.
2020-04-23 17:34:17 -07:00
Wayne Warthen
dc2f55570c Make tick frequency configurable 2020-04-23 17:28:18 -07:00
b1ackmai1er
22f21f752c Merge pull request #109 from wwarthen/dev
Dev
2020-04-24 06:22:38 +08:00
b1ackmai1er
78f65522b7 Dev (#108)
* added hack to handle tunes

* quiet clean

* added chmod for execution

* suppress warnings

* Multi-boot fixes

* the windows build somehow thinks that these filesystems are cpm3.

* credit and primitive instructions

* Update sd.asm

Cosmetic fix.

* make compile shut up about conditionals

* Add bin2asm for linus and update build to process font files under linix

* fixed quoted double quote bug, added tests

* added tests

* added bin2asm for font file source creation

* Revert linux bin2asm font stuff

* added rule for font source generation

* build fonts

* added directory mapping cache.  if the same directory is being hit
as last run, we don't need to rebuild the map.  will likely break if
you are running more than one at a time, in that the cache will be
ineffective.  also, if the directory contents change, this will also break.

* removed strip.  breaks osx

* added directory tag so . isn't matched all over the place

* added real cache validation

* fixed build

* this file is copied from optdsk.lib or optcmd.lib

* install to ../HBIOS

* prerequisite verbosity

* diff soft failure and casefn speedup

* added lzsa

* added lzsa

* removed strip. breaks on osx

* added clobber

* added code to handle multiple platform rom builds with rom size override

* added align and 0x55 hex syntax

* default to hd64180

* added N8 capability

* added SBC_std.rom to default build

* added support for binary diff

* diff fixes

* clean, identical build.  font source generator emitted .align.  this does not match the windows build

* Upgrade NZCOM to latest

* Misc. Cleanup

* fixed expression parser bug : ~(1|2) returned 0xfe

* added diff build option

* Update Makefile

Makefile enhancement to better handle ncurses library from Bob Dunlop.

* Update sd.asm

Back out hack for uz80as now that Curt fixed it.

* Misc. Cleanup

* UNA Catchup

UNA support was lacking some of the more recent behavior changes.  This corrects most of it.

* Add github action for building RomWBW

* Bump Pre-release Version

* Update build.yml

Added "make clean" which will remove temporary files without removing final binary outputs.

* Update Makefile

Build all ROM variants by default in Linux/Mac build.

* Update Makefile

* Update Makefile

* Update Makefile

* Update Makefile

* Update Makefile

* Update Makefile

* Update Makefile

* Update Makefile

* Update Makefile

* Update for GitHub Build

Case issue in TASM includes showing up in GitHub build.  This should correct that.

* Added an gitignore files to exclude generated files

* Removed Tunes/clean.cmd and Tunes/ReadMe.txt - as make clean removes them

* Build.sh: marked as executable

chmod +x Build.sh

* Fix to HBIOS/build.sh

When adding files to rom disk, if files were missing, it would error out.

It appears the intent is to skip non-existing files.

Updated to log out correctly for missing files - and continue operation.

* Update Microsoft NASCOM BASIC.docx

Nascom manual, text version by Jan S (full name unknown)

* Fix issue with Apps/Tune not making

If dest directory does not exist, fails to make Apps

* Create ReadMe.txt

* Update Makefile

* Update Build.sh

* Make .gitignores for Tools/unix more specific

* cpmtools Update

Updated cpmtools applications (Windows only).  Removed hack in diskdefs that is no longer required.

* HBIOS Proxy Temp Stack Enhancement

Reuse the bounce buffer area as the temporary stack space required briefly in HBX_INVOKE when transitioning banks.  Increases size of temporary stack space to 64 bytes.

* Update ReadMe.txt

* HBIOS - clean up TMPSTK

* Update hbios.asm

Minor cosmetic changes.

* Build Process Updates

Minor udpates to build process to improve consistency between Windows and Mac/Linux builds.

* Update hbios.asm

Add improved interrupt protection to HBIOS PEEK, POKE, and BNKCPY functions.

* hbios - wrap hbx_bnkcpy

* hbios - adjust hbx_peek hbx_poke guards

* Update hbios.asm

Adjusted used of DI/EI for PEEK and POKE to regain a bit of INTSTK space.  Added code so that HB_INVBNK can be used as a flag indicating if HBIOS is active, $FF is inactive, anything else means active.

* Add HBIOS MuTex

* Initial Nascom basic ecb-vdu graphics

set and reset for 80x25b screen with 256 character mod

* Finalize Pre-release 34

Final support for FreeRTOS

* Update nascom.asm

Optimization, cleanup, tabs and white spaces

* IDE & PPIDE Cleanup

* Clean up

Make version include files common.

* Update Makefile

* Update Makefile

* Build Test

* Build Test

* Build Fixes

* Update nascom.asm

Cleanup

* Update nascom.asm

Optimization

* hbios - temp stack tweak

* Update hbios.asm

Comments on HBX_BUF usage.

* Update nascom.asm

Optimization

* Update nascom.asm

Setup ECB-VDU build option, remove debug code

* Update nascom.asm

Set default build. update initialization

* Update nascom.asm

Make CLS clear vdu screen

* Update nascom.asm

Fixup top screen line not showing

* Add SC131 Support

Also cleaned up some ReadMe files.

* HBIOS SCZ180 - remove mutex special files

* HBIOS SCZ180 - adjust mutex comment

* Misc. Cleanup

Includes some minor improvements to contents in some disk images.

* Delete FAT.COM

Changing case of FAT.COM extension to lowercase.

* Create FAT.com

Completing change of case in extension of FAT.com.

* Update Makefile

Remove ROM variants that just have the HBIOS MUTEX enabled.  Users can easily enable this in a custom build.

* Cleanup

Removed hack from Images Makefile.  Fixed use of DEFSERCFG in various places.

* GitHub CI Updates

Adds automation of build and release assets upon release.

* Prerelease 36

General cleanup

* Build Script Cleanups

* Config File Cleanups

* Update RomWBW Architecture

General refresh for v2.9.2

* Update vdu.asm

Removed a hack in VDU driver that has existed for 8 years.  :-)

* Fix CONSOLE Constant

Rename CIODEV_CONSOLE constant to CIO_CONSOLE because it is a unit code, not a device type code.

Retabify TastyBasic.

* Minor Bug Fixes

- Disk assignment edge case
- CP/M 3 accidental fall thru
- Cosmetic updates

* Update util.z80

* Documentation Cleanup

* Documentation Update

* Documentation Update

* Documentation Updates

* Documentation Updates

* Create Common.inc

* Documentation Updates

* Documentation Updates

* doc - a few random fixes

* Documentation Cleanup

* Fix IM 0 Build Error in ACIA

* Documentation Updates

* Documentation Cleanup

* Remove OSLDR

The OSLDR application was badly broken and almost impossible to fix with new expanded OS support.

* Bug Fixes

- Init RAM disk at boot under CP/M 3
- Fix ACR activation in TUNE

* FD Motor Timeout

- Made FDC motor timeout smaller and more consistent across different speed CPUs
- Added "boot" messaging to RTC

* Cleanup

* Cleanup

- Fix SuperZAP to work under NZCOM and ZPM3
- Finalize standard config files

* Minor Changes

- Slight change to ZAP configuration
- Added ZSDOS.ZRL to NZCOM image

* ZDE Upgrade

- Upgraded ZDE 1.6 -> 1.6a

* Config File Tuning

* Pre-release for Testing

* cfg - mutex consistent config language

* Bump to Version 3.0

* Update SD Card How-To

Thanks David!

* update ReadMe.md

Remove some odd `\`.

* Update ReadMe.txt

* Update ReadMe.md

* Update Generated Doc Files

* Improve XModem Startup

- Extended startup timeout for XM.COM so that it doesn't timeout so quickly while host is selecing a file to send.
- Updated SD Card How-To from David Reese.

* XModem Timing Refinements

* TMS Driver Z180 Improvements

- TMS driver udpated to insert Z180 I/O waitstates internally so other code can run at full speed.
- Updated How-To documents from David.
- Fixed TUNE app to properly restore Z180 I/O waitstates after manipulating them.

* CLRDIR and ZDE updates

- CLRDIR has been updated by Max Scane for CP/M 3 compatibility.
- A minor issue in the preconfigured ZDE VT100 terminal escape sequences was corrected.

* Fix Auto CRT Console Switch on CP/M 3

* Handle lack of RTC better

DSRTC driver now correctly returns an error if there is no RTC present.

* Minor RTC Updates

* Finalize v3.0.1

Cleanup release for v3.0

* New ROMLDR and INTRTC driver

- Refactored romldr.asm
- Added new periodic timer based RTC driver

* CP/M 3 Date Hack

- Hack to allow INTRTC to increment time without destroying the date

* Update romldr.asm

Work around minor Linux build inconsistency

* Update Apps for New Version

* Revert "Update Apps for New Version"

This reverts commit ad80432252.

* Revert "Update romldr.asm"

This reverts commit 4a9825cd57.

* Revert "CP/M 3 Date Hack"

This reverts commit 153b494e61.

* Revert "New ROMLDR and INTRTC driver"

This reverts commit d9bed4563e.

* Start v3.1 Development

* Update FDISK80.COM

Updated FDISK80 to allow reserving up to 256 slices.

* Update sd.asm

For Z180 CSIO, ensure that xmit is finished, before asserting CS for next transaction.

* Add RC2014 UART, Improve SD protocol fix

- RC2014 and related platforms will autodetect a UART at 0xA0 and 0xA8
- Ensure that CS fully brackets all SD I/O

* ROMLDR Improvements

.com files can now be started from CP/M and size of .com files has been reduced so they always fit.

* Update commit.yml

Run commit build in all branches

* Update commit.yml

Run commit build for master and dev branches

* Improved clock driver auto-detect/fallback

* SIO driver now CTC aware

The SIO driver can now use a CTC (if available) to provide much more flexible baud rate programming.

* CTC driver fine tuning

* Update xmdm125.asm

Fixed a small issue in core XM125 code that caused a file write error message to not be displayed when it should be.

* CF Card compatibility improvement

Older CF Cards did not reset IDE registers to defaults values when reset.  Implemented a work around.

* Update ACIA detection

ACIA should no longer be detected if there is also a UART module in the system.

* Handle CTC anomaly

Small update to accommodate CTC behavior that occurs when the CTC trigger is more than half the CTC clock.

* Update acia.asm

Updated ACIA detection to use primary ACIA port instead of phantom port.

* Update acia.asm

Fix bug in ACIA detection.

Thanks Alan!

* MacOS Build Improvement

Build script updated to improve compatibility with MacOS.

Credit to Fredrik Axtelius for this.

* HBIOS Makefile - use env vars for target

Allow build ROM targets to be restricted to just one platform thru use of ENV vars:

ROM_PLATFORM - if defined to a known platform, only this platform is build - defaults to std config
ROM_CONFIG - sets the desired platform config - defaults to std

if the above ENVs are not defined, builds all ROMs

* Added some more gitignores

* Whitespace changes (crlf)

* HBIOS: Force the assembly to fail for vdu drivers if function table count is not correct

* Whitespace: trailing whitespaces

* makefile: updated some make scripts to use  when calling subdir makefiles

* linux build: update to Build.sh fix for some platforms

The initialization of the Rom dat file used the pipe (|) operator to build an initial empty file.

But the pipe operator | may sometimes return a non-zero exit code for some linux platforms, if the
the streams are closed before dd has fully processed the stream.

This issue occured on a travis linux ubuntu image.

Solution was to change to redirection.

* Bump version

* Enhance CTC periodic timer

Add ability to use TIMER mode in CTC driver to generate priodic interrupts.

* HBIOS: Added support for sound drivers

New sound driver support with initial support for the SN76489 chip

New build configuration entry:
* SN76489ENABLE

Ports are currently locked in with:
* SN76489_PORT_LEFT       .EQU    $FC     ; PORTS FOR ACCESSING THE SN76489 CHIP (LEFT)
* SN76489_PORT_RIGHT      .EQU    $F8     ; PORTS FOR ACCESSING THE SN76489 CHIP (LEFT)

* Miscellaneous Cleanup

No functional changes.

Co-authored-by: curt mayer <curt@zen-room.org>
Co-authored-by: Wayne Warthen <wwarthen@gmail.com>
Co-authored-by: ed <linux@maidavale.org>
Co-authored-by: Dean Netherton <dnetherton@dius.com.au>
Co-authored-by: ed <ed@maidavale.org>
Co-authored-by: Phillip Stevens <phillip.stevens@gmail.com>
Co-authored-by: Dean Netherton <dean.netherton@gmail.com>
2020-04-24 06:17:22 +08:00
Wayne Warthen
d14cf27acf Miscellaneous Cleanup
No functional changes.
2020-04-22 11:26:32 -07:00
Wayne Warthen
94176776fb Merge pull request #112 from vipoo/dean/dev/sound-driver
HBIOS: Added support for sound drivers
2020-04-22 09:26:21 -07:00
Dean Netherton
890f9262e0 HBIOS: Added support for sound drivers
New sound driver support with initial support for the SN76489 chip

New build configuration entry:
* SN76489ENABLE

Ports are currently locked in with:
* SN76489_PORT_LEFT       .EQU    $FC     ; PORTS FOR ACCESSING THE SN76489 CHIP (LEFT)
* SN76489_PORT_RIGHT      .EQU    $F8     ; PORTS FOR ACCESSING THE SN76489 CHIP (LEFT)
2020-04-22 21:12:52 +10:00
Wayne Warthen
f57e3bed00 Enhance CTC periodic timer
Add ability to use TIMER mode in CTC driver to generate priodic interrupts.
2020-04-21 12:46:31 -07:00
Wayne Warthen
08b112a20f Bump version 2020-04-21 09:43:31 -07:00
Wayne Warthen
83f3b80a8c Merge pull request #111 from vipoo/dean/dev/general-tooling
Dean/dev/general tooling
2020-04-21 09:26:48 -07:00
Dean Netherton
ae7714aeff linux build: update to Build.sh fix for some platforms
The initialization of the Rom dat file used the pipe (|) operator to build an initial empty file.

But the pipe operator | may sometimes return a non-zero exit code for some linux platforms, if the
the streams are closed before dd has fully processed the stream.

This issue occured on a travis linux ubuntu image.

Solution was to change to redirection.
2020-04-21 17:04:33 +10:00
Dean Netherton
66c893e251 makefile: updated some make scripts to use when calling subdir makefiles 2020-04-21 16:50:48 +10:00
Dean Netherton
74c7d865d7 Whitespace: trailing whitespaces 2020-04-21 16:37:29 +10:00
Dean Netherton
d4ebc44a98 HBIOS: Force the assembly to fail for vdu drivers if function table count is not correct 2020-04-21 16:34:51 +10:00
Dean Netherton
8c08f55d8f Whitespace changes (crlf) 2020-04-21 16:34:33 +10:00
Dean Netherton
8198da1aa4 Added some more gitignores 2020-04-21 16:34:23 +10:00
Dean Netherton
92a3501c81 HBIOS Makefile - use env vars for target
Allow build ROM targets to be restricted to just one platform thru use of ENV vars:

ROM_PLATFORM - if defined to a known platform, only this platform is build - defaults to std config
ROM_CONFIG - sets the desired platform config - defaults to std

if the above ENVs are not defined, builds all ROMs
2020-04-21 16:34:13 +10:00
Wayne Warthen
aac4a51f23 MacOS Build Improvement
Build script updated to improve compatibility with MacOS.

Credit to Fredrik Axtelius for this.
2020-04-20 14:59:27 -07:00
Wayne Warthen
1b3e85f0fb Update acia.asm
Fix bug in ACIA detection.

Thanks Alan!
2020-04-20 14:39:46 -07:00
Wayne Warthen
c6eee95a55 Update acia.asm
Updated ACIA detection to use primary ACIA port instead of phantom port.
2020-04-20 14:14:56 -07:00
Wayne Warthen
4ce0e1f657 Handle CTC anomaly
Small update to accommodate CTC behavior that occurs when the CTC trigger is more than half the CTC clock.
2020-04-20 13:08:49 -07:00
Wayne Warthen
98463d6774 Update ACIA detection
ACIA should no longer be detected if there is also a UART module in the system.
2020-04-19 17:11:54 -07:00
Wayne Warthen
7d022f709b CF Card compatibility improvement
Older CF Cards did not reset IDE registers to defaults values when reset.  Implemented a work around.
2020-04-18 15:19:10 -07:00
Wayne Warthen
fd8a9195fb Update xmdm125.asm
Fixed a small issue in core XM125 code that caused a file write error message to not be displayed when it should be.
2020-04-18 10:16:37 -07:00
Wayne Warthen
57f78d1a6b CTC driver fine tuning 2020-04-17 15:53:17 -07:00
Wayne Warthen
8ad2bdbb29 SIO driver now CTC aware
The SIO driver can now use a CTC (if available) to provide much more flexible baud rate programming.
2020-04-17 11:25:28 -07:00
Phillip Stevens
0fa5ef45e2 Merge pull request #27 from wwarthen/dev
update to dev
2020-04-13 17:17:29 +10:00
Wayne Warthen
257f784318 Improved clock driver auto-detect/fallback 2020-04-12 14:54:30 -07:00
Wayne Warthen
e66d997557 Update commit.yml
Run commit build for master and dev branches
2020-04-11 13:37:12 -07:00
Wayne Warthen
7e85253f26 Update commit.yml
Run commit build in all branches
2020-04-11 13:35:23 -07:00
Wayne Warthen
e84a1bc3ea ROMLDR Improvements
.com files can now be started from CP/M and size of .com files has been reduced so they always fit.
2020-04-11 13:32:55 -07:00
Wayne Warthen
f4daaa91a4 Add RC2014 UART, Improve SD protocol fix
- RC2014 and related platforms will autodetect a UART at 0xA0 and 0xA8
- Ensure that CS fully brackets all SD I/O
2020-04-09 11:49:09 -07:00
Wayne Warthen
5c3f75d504 Update sd.asm
For Z180 CSIO, ensure that xmit is finished, before asserting CS for next transaction.
2020-04-08 19:09:04 -07:00
Wayne Warthen
0901e77866 Update FDISK80.COM
Updated FDISK80 to allow reserving up to 256 slices.
2020-04-06 17:35:00 -07:00
Wayne Warthen
621175533b Start v3.1 Development 2020-04-06 12:54:23 -07:00
Wayne Warthen
565400eec5 Merge pull request #110 from wwarthen/master
Sync
2020-04-06 12:49:56 -07:00
Wayne Warthen
9d5e792b34 Revert "New ROMLDR and INTRTC driver"
This reverts commit d9bed4563e.
2020-04-06 12:44:52 -07:00
Wayne Warthen
ee62847781 Revert "CP/M 3 Date Hack"
This reverts commit 153b494e61.
2020-04-06 12:44:43 -07:00
Wayne Warthen
077fd2bf21 Revert "Update romldr.asm"
This reverts commit 4a9825cd57.
2020-04-06 12:44:14 -07:00
Wayne Warthen
982b6c08d9 Revert "Update Apps for New Version"
This reverts commit ad80432252.
2020-04-06 12:43:55 -07:00
Wayne Warthen
ad80432252 Update Apps for New Version 2020-04-05 19:45:19 -07:00
Wayne Warthen
4a9825cd57 Update romldr.asm
Work around minor Linux build inconsistency
2020-04-05 17:47:04 -07:00
Wayne Warthen
153b494e61 CP/M 3 Date Hack
- Hack to allow INTRTC to increment time without destroying the date
2020-04-05 17:03:17 -07:00
Wayne Warthen
d9bed4563e New ROMLDR and INTRTC driver
- Refactored romldr.asm
- Added new periodic timer based RTC driver
2020-04-05 16:01:04 -07:00
Wayne Warthen
2e2d2bebd7 Finalize v3.0.1
Cleanup release for v3.0
2020-04-04 10:48:34 -07:00
Wayne Warthen
77cc5d14a9 Minor RTC Updates 2020-03-31 15:22:02 -07:00
Wayne Warthen
99dadbc17c Handle lack of RTC better
DSRTC driver now correctly returns an error if there is no RTC present.
2020-03-31 11:30:11 -07:00
Wayne Warthen
663a532967 Fix Auto CRT Console Switch on CP/M 3 2020-03-30 14:54:53 -07:00
Wayne Warthen
c615fd239b CLRDIR and ZDE updates
- CLRDIR has been updated by Max Scane for CP/M 3 compatibility.
- A minor issue in the preconfigured ZDE VT100 terminal escape sequences was corrected.
2020-03-30 11:19:06 -07:00
Wayne Warthen
a8b29e44f3 TMS Driver Z180 Improvements
- TMS driver udpated to insert Z180 I/O waitstates internally so other code can run at full speed.
- Updated How-To documents from David.
- Fixed TUNE app to properly restore Z180 I/O waitstates after manipulating them.
2020-03-29 18:02:07 -07:00
Wayne Warthen
6156c4c765 XModem Timing Refinements 2020-03-29 15:42:46 -07:00
Wayne Warthen
a94fa2917e Improve XModem Startup
- Extended startup timeout for XM.COM so that it doesn't timeout so quickly while host is selecing a file to send.
- Updated SD Card How-To from David Reese.
2020-03-29 12:52:15 -07:00
Wayne Warthen
1be2007b9e Merge pull request #109 from wwarthen/master
Sync
2020-03-27 17:22:25 -07:00
Wayne Warthen
fb0dde5ef8 Update Generated Doc Files 2020-03-27 15:51:09 -07:00
Wayne Warthen
0451620de9 Merge pull request #108 from feilipu/master
ReadMe.md
2020-03-27 15:40:38 -07:00
Phillip Stevens
ef7bdc4b29 Update ReadMe.md 2020-03-28 09:30:20 +11:00
Phillip Stevens
f0ac9973d0 Update ReadMe.txt 2020-03-28 09:28:32 +11:00
Phillip Stevens
34fc468265 update ReadMe.md
Remove some odd `\`.
2020-03-28 09:21:33 +11:00
Phillip Stevens
0046ba9a2c Merge pull request #24 from wwarthen/master
update to master
2020-03-28 09:19:08 +11:00
Wayne Warthen
c37a97308e Update SD Card How-To
Thanks David!
2020-03-27 14:46:27 -07:00
Wayne Warthen
81390b846c Bump to Version 3.0 2020-03-27 10:38:38 -07:00
Wayne Warthen
c24dbb2b98 Merge pull request #107 from feilipu/master
config - doc / comment language consistency
2020-03-26 16:54:19 -07:00
Phillip Stevens
6726f1be88 cfg - mutex consistent config language 2020-03-27 10:04:25 +11:00
Phillip Stevens
be5a148d88 Merge pull request #23 from wwarthen/master
update to master
2020-03-27 09:52:31 +11:00
Wayne Warthen
e15546e051 Pre-release for Testing 2020-03-26 15:34:34 -07:00
Wayne Warthen
47774eacab Config File Tuning 2020-03-26 15:32:26 -07:00
Wayne Warthen
6092737c9c ZDE Upgrade
- Upgraded ZDE 1.6 -> 1.6a
2020-03-26 13:39:05 -07:00
Wayne Warthen
f2fb76341e Minor Changes
- Slight change to ZAP configuration
- Added ZSDOS.ZRL to NZCOM image
2020-03-26 10:28:09 -07:00
Phillip Stevens
cb37a34c8b Merge pull request #22 from wwarthen/master
update to master
2020-03-26 14:40:21 +11:00
Wayne Warthen
60c3ff8a41 Cleanup
- Fix SuperZAP to work under NZCOM and ZPM3
- Finalize standard config files
2020-03-25 19:54:55 -07:00
Wayne Warthen
0f37e64f35 Cleanup 2020-03-24 17:46:26 -07:00
Wayne Warthen
5244ea9e79 FD Motor Timeout
- Made FDC motor timeout smaller and more consistent across different speed CPUs
- Added "boot" messaging to RTC
2020-03-24 12:48:48 -07:00
Wayne Warthen
f11962ef8e Bug Fixes
- Init RAM disk at boot under CP/M 3
- Fix ACR activation in TUNE
2020-03-23 19:54:17 -07:00
Wayne Warthen
4862827058 Remove OSLDR
The OSLDR application was badly broken and almost impossible to fix with new expanded OS support.
2020-03-23 11:41:59 -07:00
Wayne Warthen
2150b04349 Documentation Cleanup 2020-03-22 16:24:37 -07:00
Phillip Stevens
001bbaaeec Merge pull request #21 from wwarthen/master
update to master
2020-03-23 09:54:56 +11:00
Wayne Warthen
04d5fcd9a4 Documentation Updates 2020-03-22 14:44:24 -07:00
Wayne Warthen
cc8d62969f Fix IM 0 Build Error in ACIA 2020-03-22 09:03:15 -07:00
Wayne Warthen
ee4855cd14 Documentation Cleanup 2020-03-22 08:40:06 -07:00
Wayne Warthen
ea600edcd2 Merge pull request #106 from feilipu/master
docs - a few updates
2020-03-22 07:40:44 -07:00
Phillip Stevens
1a60676f44 doc - a few random fixes 2020-03-22 15:01:07 +11:00
Phillip Stevens
5943b0c5e5 Merge pull request #20 from wwarthen/master
Documentation Updates
2020-03-22 14:01:11 +11:00
Wayne Warthen
77caac761f Documentation Updates 2020-03-21 17:59:45 -07:00
Phillip Stevens
df29795904 Merge pull request #19 from wwarthen/master
update to master
2020-03-21 20:49:22 +11:00
Wayne Warthen
5264f2f4d2 Documentation Updates 2020-03-20 10:44:53 -07:00
Wayne Warthen
cae65413ee Create Common.inc 2020-03-18 16:38:48 -07:00
Wayne Warthen
9a19ae21aa Documentation Updates 2020-03-18 15:31:37 -07:00
Wayne Warthen
a86411682b Documentation Updates 2020-03-18 11:41:51 -07:00
Wayne Warthen
77fd7f0e5d Documentation Update 2020-03-17 19:55:43 -07:00
Wayne Warthen
ac12f7fe1a Documentation Update 2020-03-17 12:03:16 -07:00
Wayne Warthen
508e766ea5 Documentation Cleanup 2020-03-16 19:27:09 -07:00
Wayne Warthen
3a10e437c8 Update util.z80 2020-03-15 14:07:19 -07:00
Wayne Warthen
a8d2f3bd39 Minor Bug Fixes
- Disk assignment edge case
- CP/M 3 accidental fall thru
- Cosmetic updates
2020-03-15 13:45:32 -07:00
Wayne Warthen
d1abba5378 Fix CONSOLE Constant
Rename CIODEV_CONSOLE constant to CIO_CONSOLE because it is a unit code, not a device type code.

Retabify TastyBasic.
2020-03-15 09:44:15 -07:00
Wayne Warthen
242a1ce108 Update vdu.asm
Removed a hack in VDU driver that has existed for 8 years.  :-)
2020-03-15 09:09:59 -07:00
Wayne Warthen
09c673fbd0 Update RomWBW Architecture
General refresh for v2.9.2
2020-03-14 21:44:51 -07:00
Wayne Warthen
bbd1ce6168 Config File Cleanups 2020-03-14 14:37:18 -07:00
Wayne Warthen
1bdf833e2c Build Script Cleanups 2020-03-14 12:06:56 -07:00
Wayne Warthen
daf0430c6f Prerelease 36
General cleanup
2020-03-14 10:50:34 -07:00
Wayne Warthen
06b685df21 GitHub CI Updates
Adds automation of build and release assets upon release.
2020-03-14 10:34:13 -07:00
Wayne Warthen
dfd70b8d63 Cleanup
Removed hack from Images Makefile.  Fixed use of DEFSERCFG in various places.
2020-03-13 10:45:33 -07:00
Phillip Stevens
b379b94f97 Merge pull request #18 from wwarthen/master
update to master
2020-03-13 11:56:10 +11:00
Wayne Warthen
00d204be75 Update Makefile
Remove ROM variants that just have the HBIOS MUTEX enabled.  Users can easily enable this in a custom build.
2020-03-12 17:24:59 -07:00
Wayne Warthen
3526355842 Merge pull request #104 from feilipu/master
hbios - remove mutex special files
2020-03-12 17:14:15 -07:00
Wayne Warthen
76510fee5c Create FAT.com
Completing change of case in extension of FAT.com.
2020-03-12 17:12:45 -07:00
Wayne Warthen
7daf65c01c Delete FAT.COM
Changing case of FAT.COM extension to lowercase.
2020-03-12 17:11:45 -07:00
Wayne Warthen
f036deef33 Misc. Cleanup
Includes some minor improvements to contents in some disk images.
2020-03-12 17:10:11 -07:00
Phillip Stevens
6f0940e4b5 HBIOS SCZ180 - adjust mutex comment 2020-03-13 09:22:32 +11:00
Phillip Stevens
97c533c7c5 HBIOS SCZ180 - remove mutex special files 2020-03-13 08:56:20 +11:00
Phillip Stevens
fdad9afc05 Merge pull request #17 from wwarthen/master
update to master
2020-03-13 08:44:49 +11:00
Wayne Warthen
db81d1a28b Add SC131 Support
Also cleaned up some ReadMe files.
2020-03-12 11:40:11 -07:00
Wayne Warthen
eb250cc178 Merge pull request #103 from b1ackmai1er/master
Nascom BASIC update
2020-03-09 20:14:22 -07:00
b1ackmai1er
d98ce895f8 Update nascom.asm
Fixup top screen line not showing
2020-03-08 22:50:02 +08:00
b1ackmai1er
b91871114a Update nascom.asm
Make CLS clear vdu screen
2020-03-08 20:48:56 +08:00
b1ackmai1er
aeb4bc6245 Update nascom.asm
Set default build. update initialization
2020-03-08 16:48:28 +08:00
b1ackmai1er
6b47216266 Merge branch 'master' of https://github.com/b1ackmai1er/RomWBW 2020-03-08 15:36:30 +08:00
b1ackmai1er
c7dbee6375 Update nascom.asm
Setup ECB-VDU build option, remove debug code
2020-03-08 15:35:58 +08:00
b1ackmai1er
de6069b7d0 Merge pull request #100 from wwarthen/master
Resync
2020-03-08 10:03:31 +08:00
Wayne Warthen
f9727ec384 Merge pull request #102 from feilipu/master
hbios - tmp stack tweak
2020-03-07 10:23:30 -08:00
b1ackmai1er
b939f9d4a3 Update nascom.asm
Optimization
2020-03-08 01:27:00 +08:00
Phillip Stevens
b59dc1cc14 Update hbios.asm
Comments on HBX_BUF usage.
2020-03-08 01:23:53 +11:00
Phillip Stevens
3fee1c5d20 hbios - temp stack tweak 2020-03-07 23:44:54 +11:00
Phillip Stevens
606fac6fa5 Merge pull request #16 from wwarthen/master
update to master
2020-03-07 23:24:59 +11:00
b1ackmai1er
8058a3c3e0 Update nascom.asm
Optimization
2020-03-07 13:49:53 +08:00
b1ackmai1er
b3731be4b1 Merge branch 'master' of https://github.com/b1ackmai1er/RomWBW 2020-03-07 10:40:27 +08:00
b1ackmai1er
52af91e066 Update nascom.asm
Cleanup
2020-03-07 10:40:16 +08:00
b1ackmai1er
280511b990 Merge pull request #99 from wwarthen/master
Resync
2020-03-07 09:46:17 +08:00
Wayne Warthen
83db582b92 Build Fixes 2020-03-06 17:21:48 -08:00
Wayne Warthen
490c865ea1 Build Test 2020-03-06 16:56:27 -08:00
Wayne Warthen
9fe5004756 Build Test 2020-03-06 16:40:47 -08:00
Wayne Warthen
86765620d7 Update Makefile 2020-03-06 15:55:30 -08:00
Wayne Warthen
02c051f47c Update Makefile 2020-03-06 14:56:48 -08:00
Wayne Warthen
2c2df76f15 Clean up
Make version include files common.
2020-03-06 14:23:55 -08:00
Wayne Warthen
1f6ef60599 IDE & PPIDE Cleanup 2020-03-06 11:36:17 -08:00
b1ackmai1er
85bc2c8792 Update nascom.asm
Optimization, cleanup, tabs and white spaces
2020-03-06 19:23:16 +08:00
b1ackmai1er
1131480f44 Merge pull request #98 from wwarthen/master
Finalize Pre-release 34
2020-03-06 13:52:23 +08:00
Phillip Stevens
b92352c480 Merge pull request #15 from wwarthen/master
Finalize Pre-release 34
2020-03-06 15:26:02 +11:00
Wayne Warthen
1831141abd Finalize Pre-release 34
Final support for FreeRTOS
2020-03-05 12:54:22 -08:00
b1ackmai1er
332831a8cc Initial Nascom basic ecb-vdu graphics
set and reset for 80x25b screen with 256 character mod
2020-03-05 21:53:22 +08:00
b1ackmai1er
0fc1ec5c93 Merge pull request #97 from wwarthen/master
Resync
2020-03-05 19:50:50 +08:00
Phillip Stevens
7c2fcf6e2a Merge pull request #14 from wwarthen/master
update to master
2020-03-05 14:45:50 +11:00
Wayne Warthen
8e99303e2f Add HBIOS MuTex 2020-03-04 16:42:06 -08:00
Wayne Warthen
a8357047b2 Update hbios.asm
Adjusted used of DI/EI for PEEK and POKE to regain a bit of INTSTK space.  Added code so that HB_INVBNK can be used as a flag indicating if HBIOS is active, $FF is inactive, anything else means active.
2020-03-04 13:00:35 -08:00
Wayne Warthen
995bb335b8 Merge pull request #100 from feilipu/master
hbios - wrap hbx_bnkcpy hbx_peek hbx_poke in di/ei
2020-03-04 11:13:29 -08:00
Phillip Stevens
f8d0fda179 hbios - adjust hbx_peek hbx_poke guards 2020-03-04 21:18:48 +11:00
b1ackmai1er
b801d793e6 Merge pull request #96 from wwarthen/master
Resync
2020-03-04 16:48:13 +08:00
Phillip Stevens
b45e531127 hbios - wrap hbx_bnkcpy 2020-03-04 18:33:19 +11:00
Phillip Stevens
7cef05148f Merge pull request #13 from wwarthen/master
update to master
2020-03-04 17:40:58 +11:00
Wayne Warthen
a207ede5be Update hbios.asm
Add improved interrupt protection to HBIOS PEEK, POKE, and BNKCPY functions.
2020-03-03 20:40:46 -08:00
Wayne Warthen
a40e7961a1 Build Process Updates
Minor udpates to build process to improve consistency between Windows and Mac/Linux builds.
2020-03-03 16:07:35 -08:00
Wayne Warthen
8b7c9e10c3 Update hbios.asm
Minor cosmetic changes.
2020-03-03 12:45:16 -08:00
Wayne Warthen
d1b96c340f Merge pull request #99 from feilipu/master
hbios - tidy TMPSTK
2020-03-03 10:59:18 -08:00
b1ackmai1er
cf4baa1270 Merge pull request #95 from wwarthen/master
Resync
2020-03-03 17:17:59 +08:00
Phillip Stevens
4eeba4e48b HBIOS - clean up TMPSTK 2020-03-03 18:53:59 +11:00
Wayne Warthen
f5c32423bc Update ReadMe.txt 2020-03-02 20:44:44 -08:00
Phillip Stevens
e7f9116c30 Merge pull request #12 from wwarthen/master
HBIOS Proxy Temp Stack Enhancement
2020-03-03 11:14:43 +11:00
Wayne Warthen
7c60884847 HBIOS Proxy Temp Stack Enhancement
Reuse the bounce buffer area as the temporary stack space required briefly in HBX_INVOKE when transitioning banks.  Increases size of temporary stack space to 64 bytes.
2020-03-02 15:01:25 -08:00
b1ackmai1er
d4f9ffbc6b Merge pull request #94 from wwarthen/master
Resync
2020-03-02 10:29:39 +08:00
Phillip Stevens
fbcaeeb6a2 Merge pull request #11 from wwarthen/master
update to master
2020-03-02 13:08:52 +11:00
Wayne Warthen
41ecdeccd0 cpmtools Update
Updated cpmtools applications (Windows only).  Removed hack in diskdefs that is no longer required.
2020-03-01 13:25:38 -08:00
Wayne Warthen
fb136ba200 Merge pull request #95 from electrified/modify-ignore
Make .gitignores for Tools/unix more specific
2020-03-01 13:06:30 -08:00
ed
81756bfb05 Make .gitignores for Tools/unix more specific 2020-03-01 11:21:14 +00:00
b1ackmai1er
31372884ea Merge pull request #93 from wwarthen/master
Update Build.sh
2020-03-01 16:48:08 +08:00
Wayne Warthen
b574faed39 Update Build.sh 2020-02-29 22:36:10 -08:00
b1ackmai1er
fdbb6752f9 Merge pull request #92 from wwarthen/master
Update Makefile
2020-03-01 14:20:14 +08:00
Wayne Warthen
462fe228aa Update Makefile 2020-02-29 21:00:32 -08:00
b1ackmai1er
462ceffeb7 Merge pull request #91 from wwarthen/master
Resync
2020-03-01 13:00:24 +08:00
Wayne Warthen
2bce5224f6 Create ReadMe.txt 2020-02-29 20:47:44 -08:00
Wayne Warthen
f888cc94ba Merge pull request #94 from vipoo/dean/linux-tweaks
Dean/linux tweaks
2020-02-29 20:36:57 -08:00
Wayne Warthen
51a1c6eb5b Merge pull request #93 from b1ackmai1er/master
Nascom manual update
2020-02-29 19:59:31 -08:00
Dean Netherton
a85f962a47 Fix issue with Apps/Tune not making
If dest directory does not exist, fails to make Apps
2020-03-01 14:07:51 +11:00
b1ackmai1er
052475d492 Update Microsoft NASCOM BASIC.docx
Nascom manual, text version by Jan S (full name unknown)
2020-03-01 10:23:24 +08:00
Dean Netherton
d211f0977d Fix to HBIOS/build.sh
When adding files to rom disk, if files were missing, it would error out.

It appears the intent is to skip non-existing files.

Updated to log out correctly for missing files - and continue operation.
2020-03-01 12:48:49 +11:00
Dean Netherton
81c4913c72 Build.sh: marked as executable
chmod +x Build.sh
2020-03-01 12:48:40 +11:00
Dean Netherton
462f786c18 Removed Tunes/clean.cmd and Tunes/ReadMe.txt - as make clean removes them 2020-03-01 12:45:05 +11:00
Dean Netherton
82a6e66269 Added an gitignore files to exclude generated files 2020-03-01 12:44:52 +11:00
b1ackmai1er
136a8365b1 Merge pull request #90 from wwarthen/master
Update for GitHub Build
2020-03-01 08:52:33 +08:00
Wayne Warthen
edca77176f Update for GitHub Build
Case issue in TASM includes showing up in GitHub build.  This should correct that.
2020-02-29 10:26:39 -08:00
b1ackmai1er
aba91a61a0 Merge pull request #89 from wwarthen/master
Resync
2020-02-29 16:02:07 +08:00
Wayne Warthen
3ac12fba98 Update Makefile 2020-02-28 22:01:39 -08:00
Wayne Warthen
4790b02168 Update Makefile 2020-02-28 21:42:32 -08:00
Wayne Warthen
efde97c169 Update Makefile 2020-02-28 21:35:02 -08:00
b1ackmai1er
8485115118 Merge pull request #88 from wwarthen/master
Resync
2020-02-29 13:31:15 +08:00
Wayne Warthen
2f21caca71 Update Makefile 2020-02-28 21:20:54 -08:00
Wayne Warthen
29457ea214 Update Makefile 2020-02-28 21:08:35 -08:00
Wayne Warthen
fd5a035453 Update Makefile 2020-02-28 20:55:58 -08:00
Wayne Warthen
d3d7225a79 Update Makefile 2020-02-28 20:45:22 -08:00
Wayne Warthen
d427fee7ee Update Makefile 2020-02-28 20:27:40 -08:00
Wayne Warthen
eebed062ad Update Makefile 2020-02-28 20:22:12 -08:00
Wayne Warthen
1b5420c33b Merge branch 'master' of https://github.com/wwarthen/RomWBW 2020-02-28 19:48:03 -08:00
Wayne Warthen
158658c3fc Update Makefile
Build all ROM variants by default in Linux/Mac build.
2020-02-28 19:47:33 -08:00
Wayne Warthen
def32eda19 Update build.yml
Added "make clean" which will remove temporary files without removing final binary outputs.
2020-02-28 19:34:37 -08:00
b1ackmai1er
41989e1151 Merge pull request #87 from wwarthen/master
Resync
2020-02-29 10:19:46 +08:00
Wayne Warthen
39a6474820 Merge branch 'master' of https://github.com/wwarthen/RomWBW 2020-02-28 16:02:16 -08:00
Wayne Warthen
ef1c610c58 Bump Pre-release Version 2020-02-28 16:02:13 -08:00
Wayne Warthen
07dd8eba32 Merge pull request #90 from electrified/master
Add github action for building RomWBW
2020-02-28 15:58:16 -08:00
ed
b60a3f95b8 Add github action for building RomWBW 2020-02-28 23:49:28 +00:00
Wayne Warthen
4cc218a450 UNA Catchup
UNA support was lacking some of the more recent behavior changes.  This corrects most of it.
2020-02-28 15:26:13 -08:00
b1ackmai1er
8f9e7f3990 Merge pull request #86 from wwarthen/master
Resync
2020-02-28 13:24:08 +08:00
Wayne Warthen
5f07834b47 Misc. Cleanup 2020-02-27 18:40:20 -08:00
Wayne Warthen
0fb8a2d2ff Update sd.asm
Back out hack for uz80as now that Curt fixed it.
2020-02-27 14:45:58 -08:00
Wayne Warthen
59d6099865 Update Makefile
Makefile enhancement to better handle ncurses library from Bob Dunlop.
2020-02-27 14:03:44 -08:00
b1ackmai1er
8ba8a3b43a Merge pull request #85 from wwarthen/master
Resync
2020-02-27 16:35:37 +08:00
Wayne Warthen
e0522bce3f Merge pull request #88 from cm68/master
uz80as expression parser fix for .db ~(1|2) != 0xfe
2020-02-26 16:32:13 -08:00
curt mayer
f8c4ee1183 added diff build option 2020-02-26 15:42:16 -08:00
curt mayer
fcc736bd45 fixed expression parser bug : ~(1|2) returned 0xfe 2020-02-26 15:05:26 -08:00
b1ackmai1er
56e75fc46e Merge pull request #84 from wwarthen/master
Misc. Cleanup
2020-02-26 16:34:36 +08:00
Wayne Warthen
b951a844ca Misc. Cleanup 2020-02-25 15:04:04 -08:00
b1ackmai1er
e6e0bb5287 Merge pull request #83 from wwarthen/master
Upgrade NZCOM to latest
2020-02-25 16:32:25 +08:00
Wayne Warthen
4add4bc237 Upgrade NZCOM to latest 2020-02-24 17:13:07 -08:00
b1ackmai1er
dc49632ddc Merge pull request #82 from wwarthen/master
Resync
2020-02-24 16:31:12 +08:00
Wayne Warthen
62fd42edc6 Merge pull request #86 from cm68/master
bit-identical with windows
2020-02-23 20:29:07 -08:00
curt mayer
621083947c clean, identical build. font source generator emitted .align. this does not match the windows build 2020-02-23 17:46:37 -08:00
curt mayer
9bc1af2f0f Merge remote-tracking branch 'upstream/master' 2020-02-23 15:07:55 -08:00
curt mayer
e73e0ba5f1 diff fixes 2020-02-23 15:04:52 -08:00
Wayne Warthen
c9571fb3ed Merge pull request #85 from cm68/master
fixes for blackmailer issue and hd64180
2020-02-23 12:52:16 -08:00
curt mayer
1db0b09378 added support for binary diff 2020-02-23 09:14:21 -08:00
curt mayer
4f824a04a8 added SBC_std.rom to default build 2020-02-22 22:49:27 -08:00
curt mayer
6ec8ca174f added N8 capability 2020-02-22 22:36:42 -08:00
curt mayer
1d5c5b39a5 default to hd64180 2020-02-22 22:35:29 -08:00
curt mayer
f6954a33a6 added align and 0x55 hex syntax 2020-02-22 22:34:42 -08:00
curt mayer
263de80c6c added code to handle multiple platform rom builds with rom size override 2020-02-22 21:47:02 -08:00
curt mayer
93bfdbc45d added clobber 2020-02-22 21:30:18 -08:00
curt mayer
27d8fb3ac1 removed strip. breaks on osx 2020-02-22 21:26:56 -08:00
curt mayer
32e34cb656 added lzsa 2020-02-22 21:25:35 -08:00
curt mayer
9799120899 added lzsa 2020-02-22 21:25:21 -08:00
curt mayer
6a1781b9ed diff soft failure and casefn speedup 2020-02-22 21:02:18 -08:00
curt mayer
68a9dea630 prerequisite verbosity 2020-02-22 21:01:25 -08:00
curt mayer
1bc9a0bcc3 install to ../HBIOS 2020-02-22 20:58:03 -08:00
curt mayer
915cc50228 this file is copied from optdsk.lib or optcmd.lib 2020-02-22 20:56:08 -08:00
curt mayer
5fe4a5db4c fixed build 2020-02-22 20:37:53 -08:00
curt mayer
dad5a2e004 added real cache validation 2020-02-22 19:58:59 -08:00
curt mayer
c28e80e836 added directory tag so . isn't matched all over the place 2020-02-22 19:23:46 -08:00
curt mayer
39822a9864 removed strip. breaks osx 2020-02-22 19:08:00 -08:00
curt mayer
3eebb5438b added directory mapping cache. if the same directory is being hit
as last run, we don't need to rebuild the map.  will likely break if
you are running more than one at a time, in that the cache will be
ineffective.  also, if the directory contents change, this will also break.
2020-02-22 19:04:00 -08:00
curt mayer
7707ea860d build fonts 2020-02-22 18:07:00 -08:00
curt mayer
52a692030e added rule for font source generation 2020-02-22 18:05:03 -08:00
b1ackmai1er
b662ee1aa2 Revert linux bin2asm font stuff 2020-02-23 09:55:46 +08:00
curt mayer
39f7403b78 added bin2asm for font file source creation 2020-02-22 17:50:14 -08:00
curt mayer
56f4b14ef6 Merge branch 'master' of https://github.com/cm68/RomWBW 2020-02-22 12:16:33 -08:00
curt mayer
363c844eec added tests 2020-02-22 12:15:46 -08:00
curt mayer
f6d979a084 fixed quoted double quote bug, added tests 2020-02-22 12:14:13 -08:00
b1ackmai1er
1d52dd7433 Add bin2asm for linus and update build to process font files under linix 2020-02-22 18:49:54 +08:00
curt mayer
349b3eb108 make compile shut up about conditionals 2020-02-21 10:10:46 -08:00
b1ackmai1er
26a24be24e Merge pull request #81 from wwarthen/master
Resync
2020-02-21 14:07:38 +08:00
Wayne Warthen
94d5c0f5ba Merge pull request #82 from cm68/master
clean build, bit-identical.
2020-02-20 18:45:32 -08:00
Wayne Warthen
d139b592ed Update sd.asm
Cosmetic fix.
2020-02-20 18:36:28 -08:00
curt mayer
088862634d Merge remote-tracking branch 'upstream/master' 2020-02-20 17:39:49 -08:00
curt mayer
c41d73b850 credit and primitive instructions 2020-02-20 17:29:56 -08:00
curt mayer
8cab372267 the windows build somehow thinks that these filesystems are cpm3. 2020-02-20 17:29:08 -08:00
Wayne Warthen
bc9d44b476 Multi-boot fixes 2020-02-20 17:17:44 -08:00
curt mayer
25ce672106 suppress warnings 2020-02-20 16:57:40 -08:00
curt mayer
1d149c3f75 added chmod for execution 2020-02-20 16:56:58 -08:00
curt mayer
a7bc7bb16f quiet clean 2020-02-20 16:56:23 -08:00
curt mayer
5e1022bb86 added hack to handle tunes 2020-02-20 16:55:40 -08:00
curt mayer
ec899e6920 clean diff 2020-02-20 16:55:09 -08:00
curt mayer
ab100bf3bc silenced clean 2020-02-20 16:29:26 -08:00
curt mayer
bac0c76a6d can't have non-tunes in Tunes 2020-02-20 15:45:09 -08:00
curt mayer
174722f387 added more diff support 2020-02-20 15:42:09 -08:00
curt mayer
3d916a90d4 avoid having any non-tunes in Tunes directory 2020-02-20 15:39:55 -08:00
curt mayer
8fc0274044 linux build using good defaults 2020-02-20 15:23:39 -08:00
curt mayer
a03d15fd2f handle .ds correctly, and forward refs in .if 2020-02-20 11:38:32 -08:00
curt mayer
2cc61c3804 slightly more verbose diff 2020-02-20 11:36:30 -08:00
curt mayer
c585594197 added extra rule for diffing 2020-02-20 11:35:46 -08:00
curt mayer
1c227f7270 removed extra HBIOS 2020-02-20 11:33:52 -08:00
curt mayer
1099b358a0 fixed 2 syntax errors that TASM allows 2020-02-20 11:33:11 -08:00
curt mayer
0264711f9f fix for TASM bug using single quote inside string 2020-02-20 11:32:10 -08:00
curt mayer
8fb73c95f4 coding changes for clean diff 2020-02-20 11:31:49 -08:00
curt mayer
9d37b4a59b fixed broken usage of .ds. should have been .fill 2020-02-20 11:29:04 -08:00
b1ackmai1er
ba29011021 Merge pull request #80 from wwarthen/master
Resync
2020-02-20 05:28:19 +08:00
Wayne Warthen
6ea1a8f840 Update biosldr.z80 2020-02-19 13:02:01 -08:00
Wayne Warthen
331cbce5c9 Update Clean.cmd 2020-02-19 11:08:39 -08:00
Wayne Warthen
a44572f9bf Merge pull request #81 from cm68/master
clean unix build after merge
2020-02-19 11:01:51 -08:00
curt mayer
41ed037935 fixes for make diff 2020-02-19 02:47:25 -08:00
b1ackmai1er
ad03d3e4ba Merge pull request #79 from wwarthen/master
Resync
2020-02-19 16:46:29 +08:00
curt mayer
c414664200 build fix for images 2020-02-19 00:17:58 -08:00
curt mayer
cdaf04eaed Merge remote-tracking branch 'upstream/master'
removed .gitignore
2020-02-18 23:10:43 -08:00
curt mayer
155959b430 clean merge 2020-02-18 23:06:53 -08:00
curt mayer
ae9ec4c1d8 clean build 2020-02-18 23:05:54 -08:00
curt mayer
d7232abb60 clean build 2020-02-18 22:03:23 -08:00
Wayne Warthen
2604212a97 Cleanup 2020-02-18 21:05:37 -08:00
Wayne Warthen
59ffef2bf2 Tweaks
A few things needed tweaking after the Unix build update.  No functional changes.
2020-02-18 18:30:17 -08:00
Wayne Warthen
3065c077be Merge pull request #80 from cm68/master
Makefiles and tooling for linux and os-x
2020-02-18 17:01:21 -08:00
curt mayer
22d4825e2c unneeded file 2020-02-18 15:31:55 -08:00
curt mayer
da9520466d Merge remote-tracking branch 'upstream/master' 2020-02-18 15:29:03 -08:00
curt mayer
7a4b88e7b5 added cpmldr.com 2020-02-18 14:57:29 -08:00
curt mayer
320c905578 name of zpmldr in target 2020-02-18 14:54:25 -08:00
curt mayer
050aa3096b more gitignore 2020-02-18 14:50:43 -08:00
curt mayer
c205e1b314 clean make?! 2020-02-18 14:49:28 -08:00
curt mayer
d31c146a7b simplified due to removal of install rule 2020-02-18 14:23:25 -08:00
curt mayer
b765749c3d removed install rule. confusing. 2020-02-18 14:22:45 -08:00
b1ackmai1er
5ada00af9f Merge pull request #78 from wwarthen/master
Resync
2020-02-19 06:12:38 +08:00
Wayne Warthen
88d7c37424 Boot from any slice 2020-02-18 14:08:21 -08:00
Wayne Warthen
2bfe845f6d Merge pull request #79 from b1ackmai1er/master
Supporting CP/M 3 Documentation
2020-02-18 10:32:02 -08:00
b1ackmai1er
08b4d10367 Update NASCOM Reference document 2020-02-18 21:11:02 +08:00
b1ackmai1er
3e9bbbffe3 Compressed pdfs 2020-02-18 20:10:04 +08:00
b1ackmai1er
bab0628f0a Merge branch 'master' of https://github.com/b1ackmai1er/RomWBW 2020-02-18 18:56:25 +08:00
b1ackmai1er
d0ee590a1c Supporting CP/M 3 Documentation
You may wish to include some or all of this.
2020-02-18 18:55:19 +08:00
b1ackmai1er
6d5a900c3e Merge pull request #77 from wwarthen/master
Load CP/M 3 from disk
2020-02-18 18:21:31 +08:00
Wayne Warthen
0510a02447 Load CP/M 3 from disk
Includes updated SYSCOPY application to put loader image on system tracks.
2020-02-17 15:58:17 -08:00
curt mayer
f4609159fc cpm22 paths 2020-02-17 02:11:54 -08:00
curt mayer
85967e46f3 images and prop eeprom 2020-02-17 02:04:18 -08:00
curt mayer
ac18ab9c19 cleanup after merge 2020-02-17 01:44:49 -08:00
curt mayer
0a52d6922e Merge branch 'master' of github.com:wwarthen/RomWBW 2020-02-16 23:23:53 -08:00
curt mayer
ed2f6097ef added bpsys.bak, a side-effect of windows build 2020-02-16 19:06:21 -08:00
curt mayer
f44288082c towards a clean make and 'git status' 2020-02-16 19:03:19 -08:00
curt mayer
964cc4b91a fixed include order dependency 2020-02-16 17:41:43 -08:00
curt mayer
81fe427352 fixed comment leadin 2020-02-16 17:40:51 -08:00
b1ackmai1er
e02bc96ce2 Merge pull request #76 from wwarthen/master
Resync
2020-02-15 13:45:11 +08:00
Wayne Warthen
437a0d39b7 BPBIOS system segment enhancements 2020-02-14 17:22:56 -08:00
Wayne Warthen
f6f995d407 Merge pull request #78 from b1ackmai1er/master
Update cbios.asm
2020-02-14 11:07:44 -08:00
b1ackmai1er
9452540c75 Update cbios.asm
Change RAMF to 512 directory entries as 4Mb drive space cannot be effectively used without   enough directory entries and extents to hold a large quantity of small files or a small qty of large files.
2020-02-14 23:32:48 +08:00
b1ackmai1er
f039b3b77e Merge pull request #75 from wwarthen/master
BPBIOS Updates
2020-02-14 18:52:59 +08:00
curt mayer
f30c0aa619 clean build try 2020-02-13 18:40:48 -08:00
curt mayer
628bd4f4b2 source order output 2020-02-13 18:40:27 -08:00
Wayne Warthen
3da911edf4 BPBIOS Updates 2020-02-13 16:01:19 -08:00
b1ackmai1er
7304c0c0d0 Merge pull request #74 from wwarthen/master
Resync
2020-02-13 17:05:28 +08:00
Wayne Warthen
84ce67a816 Update Tune.asm
Updated port addresses for Marten's sound card.
2020-02-12 15:23:17 -08:00
Wayne Warthen
e8e57e5e94 Update Tune.asm
TUNE app updated with more flexible hardware configuration detection.
2020-02-12 14:55:38 -08:00
Wayne Warthen
3f9b41e891 Create SC126_How-To_No_1_Serial_Comms_Using_Minicom.pdf
Thanks to David Reese for another userful How-To document.
2020-02-12 11:25:51 -08:00
b1ackmai1er
f91dfd7b69 Merge pull request #73 from wwarthen/master
Resync
2020-02-12 17:57:23 +08:00
Wayne Warthen
5d35a80cf7 Update romldr.asm 2020-02-11 19:31:30 -08:00
Wayne Warthen
a9b400f076 Update ide.asm
Cosmetic bug fix
2020-02-11 17:10:11 -08:00
Wayne Warthen
382b5594f0 Support multiple devices in IDE driver 2020-02-11 17:01:55 -08:00
Wayne Warthen
0445b3547c Adjust for older PowerShell versions 2020-02-11 14:44:32 -08:00
Wayne Warthen
608356cc9b Merge pull request #77 from b1ackmai1er/master
Add a user rom pack template to romldr
2020-02-11 11:29:36 -08:00
Wayne Warthen
2198918231 Create SC126_How-To_No_2_Preparing_an_SD_Card_for_Use_with_SC126_Rev_1-5.pdf
Thanks to David Reese for contributing this.
2020-02-11 11:26:14 -08:00
b1ackmai1er
09b967e82b Add a user rom pack template to romldr 2020-02-10 22:44:35 +08:00
Wayne Warthen
e81962f774 Merge pull request #76 from b1ackmai1er/master
Update romldr to support more than 9 drives.
2020-02-09 10:47:02 -08:00
b1ackmai1er
f552c83f23 Update romldr.asm
Update to cater for possibility of more than 9 drives being detected. Update menu system to support
2020-02-09 20:25:45 +08:00
b1ackmai1er
907b5d578e Merge pull request #72 from wwarthen/master
Resync
2020-02-09 09:11:34 +08:00
Wayne Warthen
461aaedd56 Update boot.z80
Bug fix
2020-02-08 16:23:17 -08:00
Wayne Warthen
8fd1fefdf9 New drive assignment logic to CP/M 3 2020-02-08 15:56:18 -08:00
b1ackmai1er
89b2489727 Merge pull request #71 from wwarthen/master
Drive letter assignment enhancement
2020-02-09 07:05:12 +08:00
Wayne Warthen
d8bbb1e8ca Drive letter assignment enhancement
Drive letters are now only pre-assigned to hard disk type devices that have media inserted.  Media can still be inserted on-the-fly and drive letters assigned using ASSIGN.
2020-02-08 14:24:36 -08:00
b1ackmai1er
941f958742 Merge pull request #70 from wwarthen/master
Build process cleanup
2020-02-08 15:05:49 +08:00
Wayne Warthen
ae287ca56d Build process cleanup 2020-02-07 17:26:17 -08:00
b1ackmai1er
57983b0a4f Merge pull request #69 from wwarthen/master
Resync
2020-02-08 08:53:26 +08:00
Wayne Warthen
f65e17f3ac Add SUBMIT.COM to NZCOM disk image 2020-02-07 13:33:30 -08:00
Wayne Warthen
15d607d686 Further PPIDE updates 2020-02-07 11:47:16 -08:00
Wayne Warthen
bd21224a9d Merge pull request #74 from b1ackmai1er/master
ppide update to begin support for multiple interfaces.
2020-02-07 11:19:25 -08:00
b1ackmai1er
b89e457414 Update game.asm
keypad and arrow keys
2020-02-07 14:33:21 +08:00
b1ackmai1er
7fb1a8851e Add ROM based game
Refer 2048game.com
Requires VT100 terminal.
2020-02-07 13:16:30 +08:00
b1ackmai1er
45fc44e59f Merge pull request #68 from wwarthen/master
Fix BPBIOS Disk I/O
2020-02-06 14:44:25 +08:00
b1ackmai1er
4ac878029d Update std.asm
Required by ppide.asm
2020-02-06 11:36:28 +08:00
curt mayer
2dc8e6bd12 works i think 2020-02-05 17:20:20 -08:00
Wayne Warthen
2c3ebee6ca Fix BPBIOS Disk I/O 2020-02-05 14:04:17 -08:00
b1ackmai1er
336393aad6 Update ppide.asm 2020-02-06 04:19:16 +08:00
b1ackmai1er
5df54bc6fd PPIDE updates 2020-02-06 04:06:44 +08:00
b1ackmai1er
c3ef70efc0 Update ppide.asm
Optimization
2020-02-06 03:10:26 +08:00
b1ackmai1er
684a209c84 Update ppide.asm
Optimization
2020-02-06 01:45:12 +08:00
b1ackmai1er
8a1ddec0f0 Update ppide.asm
Optimization
2020-02-05 23:07:04 +08:00
b1ackmai1er
a96e8e9ef0 Update ppide.asm
Initial multi device ppide
2020-02-05 19:26:24 +08:00
b1ackmai1er
71b7e9c8f5 Merge pull request #67 from wwarthen/master
Fix CP/M 3 floppy disk access
2020-02-05 14:36:57 +08:00
Wayne Warthen
6828269137 Fix CP/M 3 floppy disk access 2020-02-04 19:14:56 -08:00
b1ackmai1er
3eedd25b48 Merge pull request #66 from wwarthen/master
CP/M 3 Cleanup
2020-02-04 22:01:54 +08:00
Wayne Warthen
c83cd1cb2d CP/M 3 Cleanup 2020-02-03 19:18:25 -08:00
b1ackmai1er
227481f0b8 Merge pull request #65 from wwarthen/master
Resync
2020-02-04 07:05:39 +08:00
Wayne Warthen
48968766a0 Small CP/M 3 Update 2020-02-03 14:48:27 -08:00
Wayne Warthen
e7794723bf Merge pull request #73 from b1ackmai1er/master
Update rf.asm
2020-02-03 14:46:04 -08:00
b1ackmai1er
47bb48c8b4 Update rf.asm
Fix device selection for more than 2 devices
2020-02-03 20:40:59 +08:00
b1ackmai1er
7a4d42ba93 rf config updates 2020-02-03 14:09:39 +08:00
b1ackmai1er
32bdd461f6 Update rf.asm
Standardize init message. Allow for up to 4 devices and at non-consecutive addresses. Limit maximum number devices and with warning.
2020-02-03 13:46:48 +08:00
Wayne Warthen
c3f1123187 Merge pull request #72 from b1ackmai1er/master
Add basic command line support to RTC
2020-02-02 11:41:33 -08:00
b1ackmai1er
3a2ef5efdd Update RTC.asm
Add basic command line support. Commands T)ime, C)harge, N)ocharge , T)ime can now be invoked from the command line and exit. i.e. RTC /T displays time RTC /C turns charge on etc
2020-02-02 20:18:21 +08:00
curt mayer
389cd70e7e FDU alignment fix, verbose diff, don't build Tune 2020-01-31 23:02:53 -08:00
curt mayer
7b6faa3280 strange .DS stuff with 0x20 and 0x30 addresses. 2020-01-31 22:28:02 -08:00
curt mayer
0a6c226a5b added ability to have paths 2020-01-31 22:26:20 -08:00
curt mayer
c4c6b8a051 added more diff goodness 2020-01-31 22:25:43 -08:00
curt mayer
0e9894012b fixed output to match tasm's wierd .org usage 2020-01-31 22:23:14 -08:00
b1ackmai1er
0ef6074a6b Merge pull request #64 from wwarthen/master
Resync
2020-01-31 17:41:08 +08:00
curt mayer
9eab1f5e5b handling of no args 2020-01-30 18:03:29 -08:00
curt mayer
639a9c7459 clobber fix 2020-01-30 18:03:07 -08:00
curt mayer
c30c5a6437 build and diff fixes 2020-01-30 15:04:37 -08:00
curt mayer
917f21e468 added Propeller recipe 2020-01-30 15:02:44 -08:00
curt mayer
40663d7f3d syntax error fix. RST 38 is busted 2020-01-30 13:10:49 -08:00
curt mayer
adabd69598 more build fixes 2020-01-29 23:27:57 -08:00
curt mayer
f9126620c8 more build and clean fixes 2020-01-29 23:21:10 -08:00
Curt Mayer
b4c1ca7fcb more build fixes 2020-01-30 07:09:05 +00:00
Curt Mayer
ad35748d5c fixed some build problems 2020-01-30 07:00:33 +00:00
Curt Mayer
fac1974589 makefiles and tools for unix/osx build 2020-01-30 06:47:47 +00:00
Wayne Warthen
14e48f24b5 Cosmetic Cleanup 2020-01-29 15:17:15 -08:00
Wayne Warthen
6dcfb7b058 Merge pull request #71 from b1ackmai1er/master
ECB Cassette and Recovery Mode change
2020-01-29 15:03:33 -08:00
b1ackmai1er
c6f7d4d38a Fixup incorrect commit 2020-01-28 18:16:25 +08:00
b1ackmai1er
b75153d263 ECB Cassette and Recovery Mode change
Create an equate for changing baud rate through custom config rather than the driver.  Add recovermode mode option to use Ring indicator line.
2020-01-28 18:09:30 +08:00
b1ackmai1er
fdb5f82815 Merge pull request #63 from wwarthen/master
Finalize pre-release 27
2020-01-27 07:07:03 +08:00
Wayne Warthen
6950195741 Finalize pre-release 27
Default baud rate for RC and SC platforms with Z180 now 115200.
2020-01-26 12:46:51 -08:00
b1ackmai1er
d2ca0c35f1 Merge pull request #62 from wwarthen/master
Cosmetic Updates
2020-01-21 18:16:03 +08:00
Wayne Warthen
a6f6a9734a Cosmetic Updates 2020-01-20 14:34:43 -08:00
b1ackmai1er
207b3cebc5 Merge pull request #61 from wwarthen/master
Resync
2020-01-18 07:22:22 +08:00
Wayne Warthen
ae62931fbb Bump Version 2020-01-17 15:15:38 -08:00
Wayne Warthen
afd5c22264 Minor Cleanup 2020-01-17 15:06:57 -08:00
Wayne Warthen
825002c181 Merge pull request #69 from b1ackmai1er/master
Implement "safe mode" boot process
2020-01-17 14:26:09 -08:00
b1ackmai1er
60df79fa4d Implement "safe mode" boot process
Lots of ways this could be done. I have chosen to set it up so it just boots with a minimum driver set.

On SBC test  by setting BT_REC_TYPE to BT_REC_SBC02 and use the 1-bit jumper (crtact) jumper to enable.

Options for other platforms needs to be considered.
2020-01-17 16:36:44 +08:00
b1ackmai1er
424676c469 Merge pull request #60 from wwarthen/master
Resync
2020-01-17 10:23:54 +08:00
Wayne Warthen
11376d6d3d Minor Cleanup
Moved font compression tools under Tools directory.  Replaced lzsa app with the Win32 variant to ensure compatibility for all users.
2020-01-16 15:57:56 -08:00
Wayne Warthen
32210b399c Generate Bootable Disk Images
Disk images created as part of the build process can now be made bootable without requiring the user to run SYSCOPY.  Some of the disk images are now bootable.
2020-01-16 15:11:18 -08:00
Wayne Warthen
5b78631fdc Minor Cleanup 2020-01-16 14:00:05 -08:00
Wayne Warthen
285ad8f54c Merge pull request #68 from b1ackmai1er/master
Initial compressed fonts support
2020-01-16 13:51:52 -08:00
b1ackmai1er
c73e87c8c7 Visual guide to ROMWBW fonts 2020-01-16 20:35:12 +08:00
b1ackmai1er
99b5e4eec9 Add preparing fonts to build process 2020-01-16 14:13:39 +08:00
b1ackmai1er
31c917192d Update fonts.txt 2020-01-16 00:40:29 +08:00
b1ackmai1er
6a4723f2f5 Update cvdu.asm
Remove debug code
2020-01-15 18:05:42 +08:00
b1ackmai1er
350b99778b Update cvdu.asm
Remove debug code
2020-01-15 18:02:40 +08:00
b1ackmai1er
b2b07a9d6e Initial compressed fonts support
CVDU untested
2020-01-15 17:58:30 +08:00
b1ackmai1er
58f924cff4 Merge pull request #59 from wwarthen/master
Resync
2020-01-15 12:13:30 +08:00
Wayne Warthen
815c6c14a0 Image Disk BuildXX.ps1 update 2020-01-14 16:35:11 -08:00
Wayne Warthen
c77b9130f3 Merge pull request #67 from b1ackmai1er/master
Additional VGA mode and reworked fonts.
2020-01-14 16:04:23 -08:00
Wayne Warthen
082a2b7e99 Refinements to disk image building 2020-01-14 16:01:08 -08:00
b1ackmai1er
e58ff3fbd8 Merge pull request #58 from wwarthen/master
Disk image creation improvements
2020-01-14 18:35:55 +08:00
Wayne Warthen
04f0b785b5 Disk image creation improvements 2020-01-13 20:41:33 -08:00
b1ackmai1er
3f01182f92 Fixup incorrect push 2020-01-14 08:10:58 +08:00
b1ackmai1er
42efbcd553 Update font inclusion 2020-01-14 08:04:32 +08:00
b1ackmai1er
2c3e9ec365 Fix tms build 2020-01-14 07:25:38 +08:00
b1ackmai1er
83877497cc VGA, CVDU & Fonts update
Fonts renamed. TMS font flipped around to normal orientation. Font files trimmed to scanline length to save space. Fonts sharesd across devices where possible.
2020-01-13 22:58:56 +08:00
Phillip Stevens
0c70aadd46 Merge pull request #10 from wwarthen/master
update to master
2020-01-12 17:56:05 +11:00
b1ackmai1er
03bf58f64c Create font_8x8.asm 2020-01-12 13:37:12 +08:00
b1ackmai1er
d94d1f16dd Update vga.asm 2020-01-12 01:47:07 +08:00
b1ackmai1er
ad816cde01 Update vga.asm 2020-01-12 01:43:55 +08:00
b1ackmai1er
23d0061fb1 Fix Incorrect assembly vga buffer clear
Preliminary 80x60 format. Needs 8x8 font.
2020-01-12 01:41:20 +08:00
b1ackmai1er
3c0ad4816b Merge pull request #57 from wwarthen/master
Merge pull request #66 from b1ackmai1er/master
2020-01-11 10:12:13 +08:00
Wayne Warthen
3c01f5b037 Merge pull request #66 from b1ackmai1er/master
Add 80x43 video mode to VGA3 driver
2020-01-10 16:55:47 -08:00
b1ackmai1er
60f96f3244 Add cursor support fo VGA 80x43 mode
Align with VDU driver
2020-01-10 20:11:19 +08:00
b1ackmai1er
5bf4dbc30f minors 2020-01-10 17:32:27 +08:00
b1ackmai1er
4f798e2454 Revert "minors"
This reverts commit e6183cddec.
2020-01-10 17:22:59 +08:00
b1ackmai1er
e6183cddec minors 2020-01-10 17:22:31 +08:00
b1ackmai1er
5cda17b800 minors 2020-01-10 15:32:39 +08:00
b1ackmai1er
be45e63e90 minors 2020-01-10 11:40:56 +08:00
b1ackmai1er
da26366c0b Add 80x43 video mode to VGA3 driver
With associated font file
2020-01-10 11:26:31 +08:00
b1ackmai1er
677bbe18b2 Merge pull request #56 from wwarthen/master
Resync
2020-01-10 11:21:19 +08:00
Wayne Warthen
3280a71bbb Update ChangeLog.txt 2020-01-09 16:02:16 -08:00
Wayne Warthen
30cc54b9c3 Merge pull request #65 from b1ackmai1er/master
Add 80x30 screen format to VGA3 driver
2020-01-09 15:55:00 -08:00
b1ackmai1er
4b7f570947 Minors 2020-01-09 23:18:18 +08:00
b1ackmai1er
276de14ff6 Add 80x30 screen format to VGA3 driver 2020-01-09 23:06:01 +08:00
Phillip Stevens
43ac88c90b Merge pull request #9 from wwarthen/master
update to master
2020-01-09 09:09:25 +11:00
b1ackmai1er
8e86a65875 Merge pull request #55 from wwarthen/master
Resync
2020-01-08 16:39:54 +08:00
Wayne Warthen
27ea5e63c3 Merge pull request #64 from feilipu/master
HBIOS - sd.asm efficient byte mirror
2020-01-07 12:00:44 -08:00
Wayne Warthen
aa37affe34 Update bqrtc.asm
Minor enhancement.
2020-01-07 11:53:43 -08:00
Phillip Stevens
3d7e3cae6f more tabs 2020-01-07 19:45:54 +11:00
Phillip Stevens
f3d059d4d7 fix more tabs 2020-01-07 19:37:27 +11:00
Phillip Stevens
34540fff54 fix tabs 2020-01-07 19:36:06 +11:00
Phillip Stevens
57f54b325c HBIOS - sd.asm efficient byte mirror 2020-01-07 19:31:34 +11:00
b1ackmai1er
67e4c81676 Merge pull request #54 from wwarthen/master
Resync
2020-01-07 16:23:45 +08:00
Phillip Stevens
3a4f272a01 Merge pull request #8 from wwarthen/master
update to master
2020-01-07 18:52:37 +11:00
Wayne Warthen
485045408c Cleanup 2020-01-06 13:53:50 -08:00
Wayne Warthen
e9709fcde6 Floppy Driver fixes from Steve Garcia 2020-01-06 10:59:03 -08:00
b1ackmai1er
d8fa619c2e Merge pull request #53 from wwarthen/master
Preliminary support for Dyno Computer
2020-01-06 21:14:14 +08:00
Wayne Warthen
3c8cd5219e Preliminary support for Dyno Computer
Dyno Computer is the work of Steve Garcia and much of the code checked in is based on his work.
2020-01-05 15:26:08 -08:00
b1ackmai1er
745798def7 Merge pull request #52 from wwarthen/master
Overhaul disk image build process
2020-01-04 16:23:10 +08:00
Wayne Warthen
8bc4a40662 Overhaul disk image build process 2020-01-03 20:42:06 -08:00
b1ackmai1er
8124595a38 Merge pull request #51 from wwarthen/master
Resync
2020-01-03 19:58:40 +08:00
Wayne Warthen
5e4e098f64 CPM3/ZPM3 Cleanup 2019-12-29 16:27:25 -08:00
Wayne Warthen
625661714f CP/M 3 & ZPM3 Updates 2019-12-28 15:56:49 -08:00
Wayne Warthen
b10286422c Fix ASSIGN command
Also added a graphic that illustrates a hybrid CP/M & DOS hard disk.
2019-12-28 13:56:50 -08:00
b1ackmai1er
a3f093e254 Merge pull request #50 from wwarthen/master
CP/M 3 RTC Fix, ZPM3 Hard Disk Image
2019-12-07 15:15:51 +08:00
Wayne Warthen
64ab933492 CP/M 3 RTC Fix, ZPM3 Hard Disk Image 2019-12-05 12:08:44 -08:00
b1ackmai1er
5e8c2dfdc7 Merge pull request #49 from wwarthen/master
CP/M 3 RTC Support
2019-12-03 21:11:52 +08:00
Phillip Stevens
928c9fe3f5 Merge pull request #7 from wwarthen/master
update to master
2019-12-03 17:51:20 +07:00
Wayne Warthen
8799352a31 CP/M 3 RTC Support
CP/M 3 will now get current date/time from RTC.  Setting RTC from CP/M 3 is not finished.
2019-12-02 18:44:11 -08:00
b1ackmai1er
a2d06b849b Merge pull request #48 from wwarthen/master
Resync
2019-12-02 05:49:41 +08:00
Wayne Warthen
b635a601be Update ChangeLog.txt 2019-12-01 12:37:08 -08:00
Wayne Warthen
54ad5df47f Merge pull request #62 from b1ackmai1er/master
Tune defaults to .PT3 file type if none given
2019-12-01 12:29:35 -08:00
Wayne Warthen
2610fd5be7 Merge pull request #61 from feilipu/master
[hbios] dbgmon hxload rework
2019-12-01 12:25:33 -08:00
b1ackmai1er
5940292bb6 Update Tune.asm
Default to .PT3 file extension if non given.
2019-12-01 22:40:44 +08:00
Phillip Stevens
4beb1ba437 hbios - dbgmon more indentation 2019-11-30 22:17:48 +11:00
Phillip Stevens
6647cd6a05 hbios - dbgmon - fix indentation 2019-11-30 22:13:33 +11:00
Phillip Stevens
ab3882b489 hbios - dbgmon hxload typo 2019-11-30 21:53:44 +11:00
Phillip Stevens
c60c8394b3 hbios - dbgmon hxload 2019-11-30 20:53:49 +11:00
Phillip Stevens
922adde120 Merge pull request #6 from wwarthen/master
update to master
2019-11-28 12:12:37 +07:00
Wayne Warthen
2e39da65f4 Cleanup 2019-11-27 17:23:19 -08:00
Phillip Stevens
808b1b19a5 Merge pull request #5 from wwarthen/master
update to master
2019-11-25 20:11:59 +07:00
b1ackmai1er
913ca308d2 Merge pull request #47 from wwarthen/master
Resync
2019-11-25 17:20:00 +08:00
Wayne Warthen
2ebd800482 CTC Refactoring 2019-11-24 20:16:54 -08:00
Wayne Warthen
ae05aa499e Merge pull request #60 from b1ackmai1er/master
CTC timer support for ECB-SBC-V2 with ECB-Zilog-Peripherals board
2019-11-24 15:54:55 -08:00
b1ackmai1er
6d22708b66 ecb-sbc-v2 / ecb-zp ctc timer configuration
Correct instructions on jumpering.
2019-11-24 21:18:08 +08:00
b1ackmai1er
e2f066492f Create ctcstub.asm 2019-11-24 20:51:39 +08:00
b1ackmai1er
7917a0143a ecb-sbc-v2 ecb-zp ctc timer support 2019-11-24 20:49:51 +08:00
b1ackmai1er
c6e6ed89dc minor 2019-11-23 22:55:30 +08:00
b1ackmai1er
1ff1a70bfb Collection of minors 2019-11-23 17:31:16 +08:00
b1ackmai1er
81722bfa4d Merge pull request #46 from wwarthen/master
TUNE App Refinements
2019-11-22 16:29:27 +08:00
Wayne Warthen
1d542d88bc TUNE App Refinements 2019-11-21 16:27:00 -08:00
b1ackmai1er
da1761b7c1 Merge pull request #45 from wwarthen/master
Resync
2019-11-18 19:29:52 +08:00
Wayne Warthen
bd8d059f32 Cleanup 2019-11-17 21:31:07 -08:00
Wayne Warthen
dc6ecfd9e3 CP/M 3 Support in ASSIGN 2019-11-17 17:35:11 -08:00
Phillip Stevens
7436c165a5 Merge pull request #4 from wwarthen/master
upstream master
2019-11-16 15:21:02 +11:00
b1ackmai1er
c47611525f Merge pull request #44 from wwarthen/master
Resync
2019-11-16 11:38:45 +08:00
Wayne Warthen
659f60c23b Cleanup Timer & Clock Multiplier Code 2019-11-15 16:29:27 -08:00
Wayne Warthen
b87f7b6e89 Merge pull request #58 from feilipu/master
hbios - z180 CMR/CCR config
2019-11-15 14:12:45 -08:00
b1ackmai1er
871520cef7 Merge pull request #43 from wwarthen/master
Resync
2019-11-15 18:57:53 +08:00
Phillip Stevens
084df830ef hbios - z180 TASM equality check 2019-11-15 19:14:43 +11:00
Phillip Stevens
326ee0ae67 hbios - z180 CMR/CCR testing 2019-11-15 11:56:24 +11:00
Phillip Stevens
fc760e90e0 hbios - z180 CMR/CCR order 2019-11-15 11:46:20 +11:00
Phillip Stevens
c0ca96cb96 hbios - z180 CMR/CCR config 2019-11-15 11:40:50 +11:00
Phillip Stevens
1fac76f80c Merge pull request #3 from wwarthen/master
update to upstream master
2019-11-15 10:45:55 +11:00
Wayne Warthen
18f78cfd3e Merge pull request #57 from feilipu/master
hbios - z180 - tidy prt0 setting
2019-11-14 11:35:41 -08:00
b1ackmai1er
ba24d578f6 Merge pull request #42 from wwarthen/master
Resync
2019-11-14 21:50:19 +08:00
Phillip Stevens
294b42f5a4 scz180 white space 2019-11-14 23:25:16 +11:00
Phillip Stevens
fa7eb7f916 scz180 revert fast for pr 2019-11-14 23:22:11 +11:00
Phillip Stevens
446d969779 hbios - use z180 instructions 2019-11-14 23:00:35 +11:00
Wayne Warthen
b7ad90c245 Cleanup 2019-11-12 18:52:33 -08:00
Phillip Stevens
9e815edc29 Merge pull request #2 from wwarthen/master
update to master pre.20
2019-11-12 18:24:44 +11:00
Wayne Warthen
5d03973e80 Cleanup 2019-11-11 20:38:17 -08:00
Phillip Stevens
1d2f74b5b0 scz180 - config fast 2019-11-12 13:53:37 +11:00
Phillip Stevens
6c3f632990 Merge pull request #1 from wwarthen/master
update to master
2019-11-12 11:32:09 +11:00
b1ackmai1er
9ad14e2392 Merge pull request #41 from wwarthen/master
Resync
2019-11-11 21:21:54 +08:00
Wayne Warthen
8f2754b0f7 Minor Cleanup 2019-11-10 18:59:43 -08:00
Wayne Warthen
04f374a4da Misc Cleanup 2019-11-10 11:57:04 -08:00
Wayne Warthen
9895c4d47d Merge pull request #54 from feilipu/master
hbios - system ticks
2019-11-10 11:21:30 -08:00
Phillip Stevens
976ef858d0 hbios - fix HB_SECTCK setting 2019-11-10 15:29:16 +11:00
Phillip Stevens
6cb051ec52 hbios - z180 PRT0 configuration again 2019-11-09 20:51:29 +11:00
Phillip Stevens
d78229a875 hbios - z180 PRT0 configuration 2019-11-09 20:36:52 +11:00
Phillip Stevens
8fb0d9019b hbios - optimise INC32HL 2019-11-09 18:44:06 +11:00
Phillip Stevens
6ab3ecd0cc hbios - sys/time.h functions 2019-11-09 18:32:08 +11:00
b1ackmai1er
a22ac6beab Merge pull request #40 from wwarthen/master
Add Seconds Counter to HBIOS
2019-11-09 13:16:51 +08:00
Wayne Warthen
dc9dd8e8ca Add Seconds Counter to HBIOS 2019-11-08 13:14:28 -08:00
b1ackmai1er
9d25a7663d Merge pull request #39 from wwarthen/master
Update sd.asm
2019-10-29 22:21:20 +08:00
Wayne Warthen
019ae62c2a Update sd.asm
Refinements to sd.asm for RC2014 WizNet Module (SDMODE_MT).
2019-10-26 16:51:42 -07:00
b1ackmai1er
b0226fe1e8 Merge pull request #37 from wwarthen/master
Resync
2019-10-22 16:25:37 +08:00
Wayne Warthen
96fd7b1808 CP/M 3 Minor Build Cleanup 2019-10-21 12:58:43 -07:00
Wayne Warthen
7290a52cf7 Update sd.asm
MT011 updates
2019-10-21 12:48:46 -07:00
Wayne Warthen
0e9edd0874 Merge pull request #52 from b1ackmai1er/NASCOM-VDU-GRAPHICS
Nascom vdu graphics
2019-10-20 16:03:05 -07:00
b1ackmai1er
11857925d2 Update vdu.asm 2019-10-20 22:43:13 +08:00
b1ackmai1er
36e2a0b6ec Merge pull request #36 from wwarthen/master
Resync
2019-10-20 11:22:58 +08:00
b1ackmai1er
bcb16757bb Update vdu.asm 2019-10-20 11:18:45 +08:00
b1ackmai1er
5db3d11b9a ECB-VDU, NASCOM updates
Implement HBIOS cursor setting function VDU_VDASCS for ECB-VDU
2019-10-20 11:15:07 +08:00
Wayne Warthen
b7d928d043 Merge pull request #51 from b1ackmai1er/master
ECB-VDU: Add cursor style options
2019-10-19 12:06:28 -07:00
b1ackmai1er
0b84b88f57 Merge pull request #35 from b1ackmai1er/NASCOM-VDU-GRAPHICS
ECB-VDU: Add cursor style options
2019-10-19 20:31:47 +08:00
b1ackmai1er
ab305429fb Add cursor style options 2019-10-19 20:07:00 +08:00
Wayne Warthen
391997ee09 Merge pull request #50 from b1ackmai1er/master
Forth and NASCOM BASIC updates
2019-10-18 19:17:57 -07:00
b1ackmai1er
1ee2167c2a camel Forth build changes and fixes
;   19-Oct 19 v1.02 Convert to zsm assembler which
;                   identified and fixed incorrect
;                   case conversion when lowercase
;                   keywords are being passed in a
;                   macro. Remove Z80MR assembler
2019-10-19 09:09:59 +08:00
b1ackmai1er
8c8c09097d Merge pull request #34 from wwarthen/master
SDMODE_MT Updates
2019-10-19 07:54:17 +08:00
Wayne Warthen
45b27c34ed SDMODE_MT Updates 2019-10-18 16:13:57 -07:00
b1ackmai1er
cc1a39ebd7 Merge pull request #33 from wwarthen/master
Resync
2019-10-18 15:29:17 +08:00
Wayne Warthen
2d2cb3d8ea Shift Register SPI WIZNET for RC2014 2019-10-17 16:18:40 -07:00
Wayne Warthen
2430231dc1 More CP/M 3 Refinements 2019-10-17 15:02:07 -07:00
b1ackmai1er
2ec195b9e8 Merge pull request #32 from wwarthen/master
Incremental CP/M 3 Improvements
2019-10-17 19:58:19 +08:00
Wayne Warthen
5617d6b27e Incremental CP/M 3 Improvements 2019-10-16 17:12:06 -07:00
b1ackmai1er
c15ae9670a Merge pull request #31 from wwarthen/master
Resync
2019-10-16 20:35:23 +08:00
Wayne Warthen
f98b97e20a Rename DISKDEFS to diskdefs 2019-10-15 15:05:53 -07:00
Wayne Warthen
1e47726176 Rename DISKDEFS to diskdefs 2019-10-15 14:51:41 -07:00
b1ackmai1er
3bdcf371d1 Merge pull request #30 from wwarthen/master
Fix CPM3 Build
2019-10-16 05:46:30 +08:00
Wayne Warthen
a4f2cd8c11 Fix CPM3 Build
Credit to Phil Summers for finding the missing diskdefs files.
2019-10-15 14:21:10 -07:00
b1ackmai1er
b0995506ef Merge pull request #29 from wwarthen/master
Preliminary CP/M 3
2019-10-15 17:39:35 +08:00
Wayne Warthen
57c87db9a1 Preliminary CP/M 3 2019-10-14 16:30:19 -07:00
b1ackmai1er
d56c9baccf Nascom BASIC clear screen changed to use VT100 escape sequences 2019-10-13 21:13:04 +08:00
b1ackmai1er
147fadefd9 NASCOM BASIC Summary 2019-10-13 19:54:46 +08:00
b1ackmai1er
b9a21ae296 Nascom BASIC long error messages
Add an option for  more descriptive error messages
i.e NF error becomes NEXT without FOR
New behaviour is now default
2019-10-13 17:14:20 +08:00
b1ackmai1er
768a459565 Merge pull request #28 from wwarthen/master
Cleanup
2019-10-13 00:38:02 +08:00
Wayne Warthen
bfbf6e7dcf Cleanup 2019-10-11 17:53:34 -07:00
b1ackmai1er
8f4a3112d1 Merge pull request #27 from wwarthen/master
Resync
2019-10-12 08:36:54 +08:00
Wayne Warthen
d12ed64fd6 Merge pull request #49 from b1ackmai1er/master
Add sound to Nascom BASIC for SBC-V2-003
2019-10-11 17:05:54 -07:00
Wayne Warthen
18bc22fd3e Update FAT Application 2019-10-11 16:53:31 -07:00
b1ackmai1er
56d0c81af8 Update nascom.asm
Cleanup
2019-10-12 06:16:36 +08:00
b1ackmai1er
1628c51bd6 Update nascom.asm
Remove debug code
2019-10-12 01:28:06 +08:00
b1ackmai1er
e92da9b2db Merge branch 'master' of https://github.com/b1ackmai1er/RomWBW 2019-10-12 01:04:21 +08:00
b1ackmai1er
dc0411746e Update nascom.asm 2019-10-12 00:56:15 +08:00
b1ackmai1er
27fd30ef5f Merge pull request #26 from wwarthen/master
Update FAT.COM
2019-10-11 14:46:53 +08:00
Wayne Warthen
26a4abd3f5 Update FAT.COM
Adds MD and FORMAT commands
2019-10-10 18:57:20 -07:00
b1ackmai1er
1d5cd55452 Merge pull request #25 from wwarthen/master
Support Secondary SPI on SC126
2019-10-10 19:40:31 +08:00
Wayne Warthen
bd2fc6dbfe Support Secondary SPI on SC126 2019-10-09 15:37:21 -07:00
b1ackmai1er
b4e5839681 Merge pull request #24 from wwarthen/master
Resync
2019-10-09 18:20:21 +08:00
Wayne Warthen
af2a9a7110 Bump Version 2019-10-08 16:45:11 -07:00
Wayne Warthen
4485e0e932 Cleanup 2019-10-08 16:39:22 -07:00
Wayne Warthen
1c57cae1ed Update FAT Application 2019-10-08 16:34:35 -07:00
b1ackmai1er
b498f5a744 Merge pull request #23 from wwarthen/master
Cleanup
2019-10-07 12:22:26 +08:00
Wayne Warthen
782bcba9f7 Cleanup 2019-10-05 13:58:30 -07:00
b1ackmai1er
98bec91318 Merge pull request #22 from wwarthen/master
Finalize SCZ180 Configurations
2019-10-03 11:14:27 +08:00
Wayne Warthen
57dabc1ab5 Finalize SCZ180 Configurations 2019-10-02 08:45:11 -07:00
b1ackmai1er
99311e4820 Merge pull request #21 from wwarthen/master
Resync
2019-10-02 09:51:45 +08:00
Wayne Warthen
dcfdc4fc36 Merge pull request #48 from sccousins/master
Change status LED use hbios.asm for SC126/130
2019-10-01 15:54:49 -07:00
sccousins
bf7470d712 Update hbios.asm 2019-10-01 18:23:43 +01:00
b1ackmai1er
3865aaad83 Merge pull request #20 from wwarthen/master
Status LED Support
2019-10-01 10:55:59 +08:00
Wayne Warthen
8d96efb6f5 Status LED Support 2019-09-30 17:22:02 -07:00
b1ackmai1er
88940645c0 Merge pull request #19 from wwarthen/master
Dynamic DS-1302 Detection
2019-09-30 13:32:40 +08:00
Wayne Warthen
341c55945c Dynamic DS-1302 Detection 2019-09-29 14:33:40 -07:00
b1ackmai1er
866449c8ee Merge pull request #18 from wwarthen/master
Resync
2019-09-29 10:29:56 +08:00
Wayne Warthen
ff851d36d6 Diagnostic LED Refinements 2019-09-28 16:01:49 -07:00
Wayne Warthen
183ddeac5f Diag LED Enhancement
Diagnostic LEDs will now show disk activity by disk unit number.
2019-09-27 17:16:00 -07:00
Wayne Warthen
cc38eef867 KIO Cleanup 2019-09-23 18:49:33 -07:00
b1ackmai1er
a6f95d70d5 Merge pull request #17 from wwarthen/master
Resync
2019-09-22 14:46:34 +08:00
Wayne Warthen
b819360605 Make ZCAL Y2K Compliant
Credit to Nick Brok
2019-09-21 17:30:58 -07:00
Wayne Warthen
ee04d84abd Fix Z180 CPU Speed Setup 2019-09-20 21:54:04 -07:00
b1ackmai1er
f77072fbd2 Update nascom.asm 2019-09-17 22:43:52 +08:00
b1ackmai1er
fa34bcbea3 Merge pull request #16 from wwarthen/master
Resync
2019-09-16 17:02:27 +08:00
Wayne Warthen
21b231bced Create RCZ80_kio.asm 2019-09-15 16:18:42 -07:00
Wayne Warthen
0fb98bc071 KIO Support 2019-09-15 16:13:50 -07:00
b1ackmai1er
ea8dad4220 Update nascom.asm 2019-09-15 23:12:18 +08:00
b1ackmai1er
8b1f7dcba0 Update nascom.asm
Install frequency table as part of cold boot initialization
2019-09-15 19:42:17 +08:00
b1ackmai1er
587a618400 Update nascom.asm
Populate  the frequency table with duration
2019-09-15 16:44:41 +08:00
b1ackmai1er
c57c3527d2 Update nascom.asm
Add code to start calculating duration based on clock frequency provided by hbios
2019-09-15 12:12:18 +08:00
b1ackmai1er
6c48811167 Update nascom.asm 2019-09-08 00:06:19 +08:00
b1ackmai1er
642953eaf1 Update nascom.asm
Add PLAY duration operand
2019-09-07 21:09:00 +08:00
b1ackmai1er
7033755762 Update nascom.asm
Add PLAY a note
2019-09-07 17:09:36 +08:00
b1ackmai1er
fdb4304f70 Merge pull request #15 from wwarthen/master
Resync
2019-09-07 17:07:23 +08:00
Wayne Warthen
0bdecc9a4a Floppy Fix
Floppy I/O was failing for slower CPUs when the timer interrupts were active.  Now fixed.

Credit to Jorge Jorge Rodrigues for finding this problem and pointing me in the right direction for the fix.
2019-09-06 15:47:46 -07:00
b1ackmai1er
988bf98d4a Merge pull request #14 from wwarthen/master
Resync
2019-09-05 16:32:20 +08:00
Wayne Warthen
8c0c75253e Z180 Variant CPU Speed Handling
Check Z180 CPU variant when attempting to change CPU speed multipliers and handle appropriately.
2019-09-04 20:46:29 -07:00
Wayne Warthen
d55bd64d6b Merge pull request #46 from b1ackmai1er/master
spk.asm developement
2019-09-04 12:02:52 -10:00
b1ackmai1er
21568a4b8d spk.asm developement
Run time adjustement of  tone frequencies for different cpu frequencies with the limitation that rounded down frequency is used. i.e. 4Mhz clock measured at 3.988Mhz will setup tone frequencies based on 3MHz cpu.
2019-09-04 20:37:32 +08:00
b1ackmai1er
f8b50f66ec Merge pull request #13 from wwarthen/master
Resync
2019-09-04 16:14:22 +08:00
Wayne Warthen
b856a1a529 Disk I/O to/from Banked Memory
Supports double-buffered disk i/o to read/write to/from any memory bank specified.

NOTE:  Disk I/O will be temporarily slower than normal because all I/O is being forced thru double-buffering for testing.
2019-09-03 15:12:56 -07:00
Wayne Warthen
5eee238729 Merge pull request #45 from b1ackmai1er/master
Enhance spk.asm to be able to play note
2019-09-03 11:28:51 -10:00
b1ackmai1er
474626b779 Merge branch 'master' of https://github.com/b1ackmai1er/RomWBW 2019-09-03 20:41:47 +08:00
b1ackmai1er
52c7b7f25c Enhance spk.asm to be able to play note 2019-09-03 20:40:54 +08:00
b1ackmai1er
4d51086cd1 Merge pull request #12 from wwarthen/master
Resync
2019-09-03 20:34:55 +08:00
Wayne Warthen
a473c5c221 Minor Updates 2019-09-01 18:54:13 -07:00
Wayne Warthen
381d62a733 Update API.txt 2019-09-01 13:25:30 -07:00
Wayne Warthen
d5206276a8 Merge pull request #44 from b1ackmai1er/master
Refactor of device summary
2019-09-01 10:04:51 -10:00
b1ackmai1er
0307fe1aa9 Refactor of device summary cleanup 2019-09-01 21:51:31 +08:00
b1ackmai1er
4cc4fc0ffe Refactor of device summary floppy 2019-09-01 15:36:04 +08:00
b1ackmai1er
a3a4e84965 Refactor of device summary 2019-09-01 13:55:28 +08:00
b1ackmai1er
d478b3382e Merge pull request #11 from wwarthen/master
Resync
2019-08-31 19:37:14 +08:00
Wayne Warthen
b8930bd10a Cleanup 2019-08-29 12:36:54 -07:00
b1ackmai1er
d700a1bd1a Merge pull request #10 from wwarthen/master
Resync
2019-08-29 16:33:24 +08:00
Wayne Warthen
72fe10c00a Low Battery Test Refinements 2019-08-28 20:44:31 -07:00
Wayne Warthen
b3568c0142 Update xmhb.180
Additional cleanup of ASCI driver code.
2019-08-28 16:54:16 -07:00
Wayne Warthen
a7bd07b3ce Delete WSCHHELP.OVR
Make room in 1MB ROM disk image for FAT.COM.
2019-08-28 14:36:32 -07:00
Wayne Warthen
8a5ff459a7 Merge pull request #42 from b1ackmai1er/master
DS1210 Battery Low message on boot
2019-08-24 15:27:31 -10:00
b1ackmai1er
bff6e20946 DS1210 Battery Low message on boot
Remove debug code.
Resolve issue with battery status being lost on stack.
Battery status variable moved to DSRTC driver.
Fix build failures for DSRTCENABLE=FALSE (spk.asm requires dsrtc)
2019-08-24 13:41:02 +08:00
b1ackmai1er
f323246d4f Preliminary DS1210 batter low code
Battery state currently not being saved and recalled correctly
2019-08-24 07:21:40 +08:00
b1ackmai1er
c969e46519 Merge pull request #9 from wwarthen/master
Resync
2019-08-19 17:16:38 +08:00
Wayne Warthen
1c42ea0a7c Bug Fixes 2019-08-18 18:28:18 -07:00
Wayne Warthen
49b2255020 Merge pull request #41 from b1ackmai1er/master
Fix for usb-fifo boot display
2019-08-18 08:07:34 -07:00
b1ackmai1er
03c6cf9d51 Update dsrtc.asm
Make it easier to define customer battery or supercapacitor charge rates.
2019-08-18 21:07:06 +08:00
b1ackmai1er
a9780aa8be Fix for usb-fifo boot display 2019-08-18 20:22:04 +08:00
b1ackmai1er
9ec3d258bd Merge pull request #8 from wwarthen/master
Resync
2019-08-18 19:24:46 +08:00
Wayne Warthen
29d3476d68 Update ChangeLog.txt 2019-08-17 20:09:01 -07:00
Wayne Warthen
e4eee85274 ASCI Driver Interrupt Support
Also refactored XModem overlay
2019-08-17 20:08:34 -07:00
Wayne Warthen
5f7a396ced Add FAT ReadMe 2019-08-16 12:07:42 -07:00
Wayne Warthen
aeccf550e3 Add FAT.COM 2019-08-16 11:54:47 -07:00
Wayne Warthen
c8c1dd9c10 Merge pull request #40 from b1ackmai1er/master
xmodem for usb-fifo
2019-08-16 11:28:03 -07:00
b1ackmai1er
2398b48e29 xmodem for usb-fifo
Generates xmuf.com for usb-fifo file transfer. Is not included in the ROM drive build.
2019-08-16 23:20:00 +08:00
b1ackmai1er
88f45a4166 Merge pull request #7 from wwarthen/master
Configuration Files Cleanup
2019-08-16 19:17:20 +08:00
Wayne Warthen
522b72d9df Configuration Files Cleanup 2019-08-15 18:10:07 -07:00
b1ackmai1er
51cb56b064 Merge pull request #6 from wwarthen/master
Resync
2019-08-13 21:13:07 +08:00
Wayne Warthen
09044d1959 Add SC126 Platform 2019-08-11 18:39:03 -07:00
Wayne Warthen
38820a4f89 Merge pull request #39 from b1ackmai1er/master
Fix USB-FIFO build for other ECB platforms
2019-08-10 15:56:35 -07:00
b1ackmai1er
b96c87baf9 Update plt_n8.inc
Fix N8 build with ECB-FIFO
2019-08-10 19:43:39 +08:00
b1ackmai1er
d426e16216 Update plt_mk4.inc
Fix MkIV build with ECB-FIFO
2019-08-10 19:35:05 +08:00
b1ackmai1er
f613520ee9 Merge pull request #5 from wwarthen/master
Resync
2019-08-10 14:09:52 +08:00
Wayne Warthen
56c5710b3f Fix DPB selection in ASSIGN 2019-08-07 12:17:07 -07:00
Wayne Warthen
0b661442c5 SIO & ACIA Driver Updates 2019-08-04 17:51:29 -07:00
Wayne Warthen
d589a215ad Merge pull request #38 from b1ackmai1er/master
usb-fifo driver et al
2019-08-04 15:03:45 -07:00
b1ackmai1er
a8b0e9848b Create ReadMe.txt 2019-08-04 20:40:44 +08:00
b1ackmai1er
0031151008 Merge branch 'master' of https://github.com/b1ackmai1er/RomWBW 2019-08-04 20:32:11 +08:00
b1ackmai1er
8a560bfbbb Resync 2019-08-04 20:29:29 +08:00
b1ackmai1er
5417ae2155 Merge pull request #4 from wwarthen/master
Resync
2019-08-04 20:22:50 +08:00
b1ackmai1er
65bce62b26 Resync 2019-08-04 20:22:12 +08:00
b1ackmai1er
d22d83f2c8 Update hbios.asm
Fixup misisng driver
2019-08-04 19:48:26 +08:00
b1ackmai1er
12c99e9144 Resync 2019-08-04 19:30:52 +08:00
b1ackmai1er
a3844a0149 Resync 2019-08-04 19:03:16 +08:00
b1ackmai1er
cf9d077057 Resync 2019-08-04 18:36:06 +08:00
b1ackmai1er
7c622942e7 Update std.asm
Add support for changing default console through config.
2019-08-04 17:41:01 +08:00
b1ackmai1er
d89d68e816 Update usbfifo.asm
Add cable disconnect recognition
2019-08-04 15:29:43 +08:00
b1ackmai1er
8c49962102 Add capability to change which console is default 2019-08-04 02:32:51 +08:00
b1ackmai1er
ea4aea46d4 usb-fifo Update config files for other builds 2019-07-28 20:35:03 +08:00
b1ackmai1er
19033c018d Update usbfifo.asm
Cleanup
2019-07-28 19:56:47 +08:00
b1ackmai1er
32bdecb828 Add usb-fifo driver 2019-07-28 16:06:36 +08:00
Wayne Warthen
086957fd3f SIO Fixes 2019-07-23 18:16:30 -07:00
Wayne Warthen
7eeea3684b Update ReadMe.txt 2019-07-22 17:56:55 -07:00
Wayne Warthen
6f16fdc9d5 Support Multiple SIO Modules
Updated SIO driver to handle multiple SIO modules w/ auto-detect and protection for phantom ports.
2019-07-22 17:54:37 -07:00
Wayne Warthen
dcc1bd8cb7 Improved SD Error Messaging
Convert SD error to NO MEDIA when initial command fails.
2019-07-16 15:31:45 -07:00
Wayne Warthen
b85eda9649 Handle SPI w/ No Pullups
Updated SD driver to handle newer SD card adapters which omit the pullup resistors in the SD Card spec.
2019-07-15 12:38:11 -07:00
b1ackmai1er
c210b5941e Update pio.asm 2019-07-15 22:44:18 +08:00
b1ackmai1er
de72e05a45 Merge branch 'master' of https://github.com/b1ackmai1er/RomWBW 2019-07-15 19:06:55 +08:00
Wayne Warthen
31b2192f22 RTC Port Shadow Register
Implemented a shadow copy of the RTC port value to enable multiple drivers to share the port without causing side effects to other drivers that use other bits of the RTC port.
2019-07-14 14:00:00 -07:00
b1ackmai1er
2480976308 Update pio.asm
Major restructure
2019-07-14 20:38:51 +08:00
Wayne Warthen
5958f7760e Add SC126 DSRTC Support
Updated DSRTC support to avoid mangling bits used for other purposes in RTC latch port.
2019-07-12 15:17:29 -07:00
Wayne Warthen
9a3e3e443c SC126 Diag Port
Make diagnostic port existence and port address configurable.
2019-07-11 19:25:40 -07:00
b1ackmai1er
056f8eab5f Merge pull request #3 from wwarthen/master
Resync
2019-06-22 11:30:04 +08:00
Wayne Warthen
784fd1f433 Merge branch 'master' of https://github.com/wwarthen/RomWBW 2019-06-21 14:17:59 -07:00
Wayne Warthen
293ca770de SC126 Support and SIO Update 2019-06-21 14:17:46 -07:00
Wayne Warthen
64203d4796 Merge pull request #35 from b1ackmai1er/master
Invalid BIOS (signature missing)
2019-06-10 15:16:11 -07:00
b1ackmai1er
1ca508dc2e Invalid BIOS (signature missing)
DS1210 datasheet "The fourth function the DS1210 performs is a battery status warning so that potential data loss is avoided. Each time that the circuit is powered up the battery voltage is checked with a precision comparator. If the battery voltage is less than 2.0 volts, the second memory cycle is inhibited.  Battery status can, therefore, be determined by performing a read cycle after power-up to any location in memory, verifying that memory location content. A subsequent write cycle can then be executed to the same memory location altering the data. If the next read cycle fails to verify the written data, then the batteries are less than 2.0V and data is in danger of being corrupted"

This also works:

	LD	HL,HBX_IMG-2
	LD	DE,HBX_LOC-2
	LD	BC,HBX_SIZ+2
	LDIR

Regards Phil
2019-06-10 22:54:24 +08:00
b1ackmai1er
260d7c0054 Merge branch 'master' of https://github.com/b1ackmai1er/RomWBW 2019-06-10 22:33:46 +08:00
Wayne Warthen
b0aab772ef Finalize v2.9.1 2019-06-03 16:13:46 -07:00
b1ackmai1er
b560f1d3a9 Resync 2019-05-30 19:31:00 +08:00
b1ackmai1er
ca3ba80fd8 Merge pull request #2 from wwarthen/master
Resync
2019-05-30 06:08:31 +08:00
Wayne Warthen
3a1e9f3b72 Cleanup 2019-05-29 14:57:56 -07:00
Wayne Warthen
8197caa4ef Merge pull request #34 from b1ackmai1er/master
Add debugging module mio
2019-05-29 14:41:08 -07:00
b1ackmai1er
c39c27009b Add debugging module mio
Cached debug out
2019-05-28 18:59:17 +08:00
Wayne Warthen
9a15a1796d Merge pull request #33 from b1ackmai1er/master
Additional German Keyboard mapping
2019-05-27 11:52:14 -07:00
b1ackmai1er
4a2dfd7f4a Additional German Keyboard mapping 2019-05-27 17:36:41 +08:00
Wayne Warthen
fa7ae387bf Cleanup 2019-05-26 12:56:24 -07:00
Wayne Warthen
bfc0fa8345 Cleanup 2019-05-26 12:42:56 -07:00
Wayne Warthen
f9c82467cb Merge pull request #32 from b1ackmai1er/master
Add German keyboard layout to ppk and kbd
2019-05-26 12:24:51 -07:00
b1ackmai1er
03fc29d297 Fix local variables in macros
Underscore breaks local variable use in pio driver
2019-05-26 14:10:00 +08:00
b1ackmai1er
ccf8d06c8f Add German keyboard layout to ppk and kbd
From Joachim - joachim.liebold@arcor.de
2019-05-26 10:41:36 +08:00
Wayne Warthen
f624082a62 Finalize v0.9.1-pre.15 2019-05-25 16:52:53 -07:00
b1ackmai1er
cffd109179 Merge pull request #1 from wwarthen/master
Resync
2019-05-25 12:22:49 +08:00
Wayne Warthen
346b190f97 Minor Cleanup 2019-05-24 18:13:21 -07:00
Wayne Warthen
aaaac827d1 Merge pull request #31 from b1ackmai1er/master
Display Z180 processor type at boot.
2019-05-24 16:47:33 -07:00
b1ackmai1er
4860cd945f Update hbios.asm 2019-05-23 23:21:48 +08:00
b1ackmai1er
6106e1600f Update hbios.asm 2019-05-22 21:50:11 +08:00
b1ackmai1er
2d8cd1538f Update hbios.asm 2019-05-22 21:39:26 +08:00
Wayne Warthen
824580de66 Merge pull request #30 from wwarthen/dev
Dev
2019-05-18 11:24:27 -07:00
Wayne Warthen
9cde0994fc Merge pull request #29 from b1ackmai1er/dev
Add  N8 Beep
2019-05-18 11:18:42 -07:00
b1ackmai1er
9e5f7331b1 Add N8 Beep 2019-05-18 15:45:24 +08:00
Wayne Warthen
5551fb9df1 Cleanup IntTest 2019-05-15 21:39:21 -07:00
Wayne Warthen
af892d719c Native RC Z180 & Interrupt Framework Improvements
- Added official support for Steve Cousin's RC2014 Z180 + Native Memory modules (SC111 & SC119).  Thanks to Steve for his assistance with this.
- Improved interrupt framework to remove need to extra stubs for each IM2 interrupt handler.
2019-05-15 15:30:29 -07:00
Wayne Warthen
7121a62b36 Update Doc 2019-05-10 18:33:20 -07:00
Wayne Warthen
68d02e5572 Improvements to INTTEST 2019-05-10 18:07:27 -07:00
Wayne Warthen
040337eaf4 Finalize v2.9.1-pre.13 2019-05-08 18:20:06 -07:00
Wayne Warthen
5196a56267 Support LBA Access for Floppy Devices 2019-05-06 19:26:59 -07:00
Wayne Warthen
e3805d4138 Minor Cleanup 2019-04-22 16:03:02 -07:00
Wayne Warthen
b334a4224d Fix CTC Support 2019-04-21 13:38:31 -07:00
Wayne Warthen
dcbda8806e Add CTC Timer Support
Add periodic timer interrupt support for CTC platforms Easy Z80 and Zeta 2.  Includes watchdog servicing for Easy Z80.  Default interrupt mode for Easy Z80 and Zeta 2 is now IM2.
2019-04-20 15:55:25 -07:00
Wayne Warthen
8fa9ef8d06 Fix Minor Build Issue
Recent addition of PIO driver caused breakage in some builds.  Default config files updated to fix this.
2019-04-19 11:21:38 -07:00
Wayne Warthen
97dbc7847b Minor Fixes
Revert interrupt processing bank id and SLR180 application.
2019-04-10 11:46:12 -07:00
Wayne Warthen
f0c62ceef1 Merge branch 'master' of https://github.com/wwarthen/RomWBW 2019-04-09 15:39:03 -07:00
Wayne Warthen
efad064619 CPM Build Tools Updates
Updated a few of the CP/M binaries used in the build process.
2019-04-09 15:38:49 -07:00
Wayne Warthen
1f3d2a7611 Merge pull request #27 from b1ackmai1er/master
PIO driver
2019-04-09 15:31:56 -07:00
b1ackmai1er
57ac1ca1fb Fix IM2 assembly error. Add 2nd PIO on ECP-ZP 2019-04-09 23:29:19 +08:00
b1ackmai1er
21acf463ba Delete pio.asm 2019-04-09 23:28:06 +08:00
b1ackmai1er
8d3c7a1859 Delete hbios.asm 2019-04-09 23:27:54 +08:00
b1ackmai1er
328453309a Fix IM2 assembly error. Add 2nd PIO on ECB-ZP 2019-04-09 23:26:55 +08:00
b1ackmai1er
6606baebe9 Fix IM2 assembly error. Add second ECB-ZP PIO chip. 2019-04-09 23:25:57 +08:00
b1ackmai1er
4594e990a6 PIO Updates 2019-04-08 20:12:35 +08:00
b1ackmai1er
1e7e28a065 Delete pio.asm 2019-04-08 20:11:59 +08:00
b1ackmai1er
56150ef85f PIO Updates 2019-04-08 20:11:24 +08:00
b1ackmai1er
de208491dc PIO build 2019-04-05 22:55:59 +08:00
b1ackmai1er
b9b1fecbfa Merge pull request #1 from wwarthen/master
Resync
2019-04-02 20:13:30 +08:00
Wayne Warthen
580d4ddf25 DDT & DDTZ Update
DDT & DDTZ updated with versions that use RST 30 instead of RST 38 to avoid conflicts with IM 1 interrupts.
2019-03-26 17:01:45 -07:00
Wayne Warthen
35d3408ab6 Floppy Driver Updates
Minor fixes in fd.asm.
2019-03-16 16:41:37 -07:00
Wayne Warthen
dcd4a5a8f1 Easy Z80 Platform
Make Easy Z80 a separate platform.
2019-03-15 15:16:49 -07:00
Wayne Warthen
dd4c51db97 Merge pull request #26 from wwarthen/master
Refresh Development Branch
2019-03-12 14:51:46 -07:00
Wayne Warthen
a6cc5c0986 Merge pull request #25 from b1ackmai1er/master
SIO & VDU updates
2019-03-12 14:44:34 -07:00
b1ackmai1er
c79d497063 VDU mode updates 2019-03-12 23:02:03 +08:00
b1ackmai1er
8d30252044 Add missing baud rate 2019-03-12 22:47:40 +08:00
Wayne Warthen
20c291dea2 VDU Driver Enhancements
VDU driver enhanced to support alternate screen simensions, provided by Phil Summers
2019-03-05 21:05:08 -08:00
Wayne Warthen
b79c1e7a2f Minor Easy Z80 Tweaks
Modified naming convention from EZ80 to EZZ80 to avoid confusion with Zilog eZ80 processor.
2019-03-04 21:33:44 -08:00
Wayne Warthen
825c2d340b Merge pull request #24 from skiselev/master
Add support for Easy Z80
2019-02-28 20:40:57 -08:00
Sergey Kiselev
810beae712 Eazy Z80: Specify SIO clock frequency
Signed-off-by: Sergey Kiselev <skiselev@gmail.com>
2019-02-27 10:13:41 -08:00
Sergey Kiselev
7ba9bd6e67 Add support for Eazy Z80
Signed-off-by: Sergey Kiselev <skiselev@gmail.com>
2019-02-27 09:38:05 -08:00
Wayne Warthen
9c43e63d1b ROM Loader INT Management
Modified ROM Loader to leave interrupts active when launching target image.
2019-02-20 11:46:29 -08:00
Wayne Warthen
0fe4c5e6f8 Finalize v2.9.1 Prerelease 9
Stability fixes.
2019-02-19 13:41:14 -08:00
Wayne Warthen
931d33eb11 Finalize v2.9.1 Prerelease 8
Fix possible int mode 1 processing paging conflicts.
2019-02-18 15:16:30 -08:00
Wayne Warthen
6f712f4f01 Minor Updates 2018-12-24 14:39:47 -08:00
Wayne Warthen
8d0e25c8a6 Merge pull request #23 from dimitrit/master
Update Tasty Basic
2018-12-24 10:51:14 -08:00
dimitrit
5c4bf2ad89 Update Tasty Basic 2018-12-23 18:47:52 +00:00
Wayne Warthen
92bdce5eb1 Small PPIDE Driver Fix
Remove use of IDE NOP command during probe.
2018-12-12 15:37:24 -08:00
Wayne Warthen
d7f68775ce Various Cleanup 2018-11-26 20:49:22 -08:00
Wayne Warthen
877d868745 Refactoring 2018-11-20 19:29:23 -08:00
Wayne Warthen
82e7b3d813 Refactor DSKY Monitor 2018-11-17 16:10:22 -08:00
Wayne Warthen
c6a3750ea5 Update Doc/ChangeLog.txt 2018-11-14 15:34:42 -08:00
Wayne Warthen
fd5636229d Monitor and RomLdr Updates 2018-11-14 15:27:51 -08:00
Wayne Warthen
a69a1cc930 Merge pull request #21 from b1ackmai1er/master
Update to support romldr loading ROMs at 200h. nascom basic, forth etc.
2018-11-10 12:39:56 -08:00
b1ackmai1er
fd41ef179e Update to support romldr loading ROMs at 200h. nascom basic, forth etc. 2018-11-10 16:06:07 +08:00
b1ackmai1er
2a4455aa9c Update to org 200h 2018-11-10 16:00:06 +08:00
Wayne Warthen
7ed82106a3 Merge pull request #20 from b1ackmai1er/master
Romldr now uses one routine to execute code.
2018-11-09 11:50:53 -08:00
b1ackmai1er
982744b6c9 Tidy up Romldr 2018-11-10 01:13:32 +08:00
b1ackmai1er
cccf49d8bd Delete romldr.asm 2018-11-10 01:12:45 +08:00
b1ackmai1er
082c101845 Tidy up Romldr 2018-11-10 01:10:48 +08:00
b1ackmai1er
c8ba301d45 Romldr now uses one routine to execute code. 2018-11-10 00:17:15 +08:00
b1ackmai1er
2701c43161 Merge pull request #3 from wwarthen/master
Resync
2018-11-09 16:32:04 +08:00
Wayne Warthen
dd73ec092b Finish DBGMON and Cleanup 2018-11-08 18:21:26 -08:00
Wayne Warthen
03fd4f030b More DBGMON Refinements 2018-11-08 12:20:33 -08:00
Wayne Warthen
2c8399dfcf More DBGMON Cleanup 2018-11-08 12:04:28 -08:00
Wayne Warthen
229f040d43 Merge pull request #19 from b1ackmai1er/master
RTC now has reboot option. Previous reboot.com code to be removed
2018-11-08 11:44:30 -08:00
b1ackmai1er
b2788ca1ee Add add reboot option, code optimization. As part of reverting reboot.com.
RTC does not use HBIOS RTC functions.
2018-11-08 11:37:40 +08:00
b1ackmai1er
2dbc4f9a9d Update Build.ps1 2018-11-08 11:31:33 +08:00
b1ackmai1er
2fac781a0a Update Build.cmd 2018-11-08 11:29:30 +08:00
b1ackmai1er
07ebb83cac Delete reboot.asm 2018-11-08 11:28:21 +08:00
b1ackmai1er
52aff2a304 Merge pull request #2 from wwarthen/master
Resync
2018-11-08 09:42:08 +08:00
Wayne Warthen
53286700f7 Rearranged OSIMG ROM bank
The OSIMG bank needed more space allocated to ROMLDR.
2018-11-07 16:10:16 -08:00
Wayne Warthen
c3a9624040 Merge pull request #18 from b1ackmai1er/master
Force DS1302 charging at reboot.
2018-11-07 12:42:44 -08:00
b1ackmai1er
1dbc6ea740 Add a command to return to bootldr 2018-11-07 16:25:37 +08:00
b1ackmai1er
26dea9aa33 Add a command to return to bootldr 2018-11-07 16:24:14 +08:00
b1ackmai1er
d686f982cc Add a command to return to bootldr 2018-11-07 16:21:10 +08:00
b1ackmai1er
7cdad0b4ed Add option to force DS1302 RTC to turn on super caps and battery recharging at boot. 2018-11-07 15:15:12 +08:00
b1ackmai1er
04084b31aa Merge pull request #1 from wwarthen/master
Resync
2018-11-07 12:56:53 +08:00
Wayne Warthen
48fa2a027d Merge pull request #17 from b1ackmai1er/master
Further optimizations to romldr and update to documentation.
2018-11-06 19:52:26 -08:00
Wayne Warthen
8586202ae2 Minor Cleanup 2018-11-06 19:51:20 -08:00
b1ackmai1er
445943d253 Include some information on included ROM software. 2018-11-07 11:48:35 +08:00
b1ackmai1er
1682a41e40 Fix DSKY menu option 2018-11-07 10:30:49 +08:00
b1ackmai1er
7c302ba456 Add Reboot menu option. Some optimizations of error message display 2018-11-07 09:44:23 +08:00
b1ackmai1er
ab32774e68 Update layout documentation with recent ROM changes 2018-11-07 08:51:59 +08:00
Wayne Warthen
2633a7711d Merge pull request #16 from b1ackmai1er/master
CamelForth ROMWBW
2018-11-06 14:33:23 -08:00
b1ackmai1er
e2400a535c Updated to DSKY and BootAuto in romldr
Still more work to be done. Enabling DSKY make the bin file to large for the allocated ROM space.
2018-11-06 21:16:03 +08:00
b1ackmai1er
42cf223f4e Unified Menu structure for romldr to ease intergration of ROMs 2018-11-06 16:01:14 +08:00
b1ackmai1er
5f1c2a3e8c Update to build CamelForth 2018-11-05 16:53:18 +08:00
b1ackmai1er
0838624a79 Assembler for Camel Forth 2018-11-05 16:51:06 +08:00
b1ackmai1er
9fad7db460 CamelForth ROMWBW updated to finish on page ending 2018-11-05 16:33:58 +08:00
b1ackmai1er
5f7f902ba1 CamelForth ROMWBW in OSIMG1 2018-11-05 16:31:07 +08:00
b1ackmai1er
9bc2cb5328 CamelForth ROMWBW first working version 2018-11-05 14:43:38 +08:00
b1ackmai1er
e95eb28fe6 First version with HBIOS Character IO (but not working) 2018-11-05 13:31:13 +08:00
b1ackmai1er
518478c793 Fix some mangling I did t- returned to original 2018-11-04 11:42:44 +08:00
b1ackmai1er
f77eedf4b4 Forth BIN file gets copied to HBIOS directory for assembly into ROM 2018-11-04 11:38:05 +08:00
b1ackmai1er
b5703e8177 First build with Forth to ROM (still CP/M version) 2018-11-04 11:36:10 +08:00
b1ackmai1er
a97284c18d Delete camel80.hex 2018-11-04 11:11:32 +08:00
b1ackmai1er
6703f3b74c Delete camel80.bin 2018-11-04 11:11:18 +08:00
b1ackmai1er
22f30c06f7 Delete camel80.prn 2018-11-04 11:10:47 +08:00
b1ackmai1er
60cfebfcfa Initial CamelForth commit 2018-11-04 11:09:09 +08:00
b1ackmai1er
f2892e5927 Create readme.z80 2018-11-04 11:07:49 +08:00
Wayne Warthen
4cc4d83ef9 Merge pull request #15 from b1ackmai1er/master
Move along, nothing to see here
2018-10-30 15:32:53 -07:00
b1ackmai1er
f45e316a8c Move along, nothing to see here 2018-10-30 23:01:42 +08:00
Wayne Warthen
2c5f0ee332 Merge pull request #14 from b1ackmai1er/master
Add BASIC support through usage of empty ROM bank
2018-10-29 20:50:28 -07:00
b1ackmai1er
164627f794 Ensure we have all Nascom changes 2018-10-30 06:03:19 +08:00
b1ackmai1er
39b7b08932 Cleanup, get ready for merge. No PIO support yet 2018-10-30 06:00:57 +08:00
b1ackmai1er
127d5bc676 Delete romldr.asm 2018-10-30 05:59:27 +08:00
b1ackmai1er
5b1348d123 Delete hbios.asm 2018-10-30 05:59:13 +08:00
b1ackmai1er
2f9cd64489 Delete cfg_sbc.asm 2018-10-30 05:58:59 +08:00
b1ackmai1er
81eacdda24 Cleanup, get ready for merge. No PIO support yet 2018-10-30 05:57:19 +08:00
b1ackmai1er
c33adf6cf7 Move and align buffers and stack to end of RAM 2018-10-29 23:21:22 +08:00
b1ackmai1er
d29ce909a0 Fix I/O, buffers and stack 2018-10-28 22:57:28 +08:00
b1ackmai1er
aaf957af4e Update build process to build additonal ROM image 2018-10-28 18:02:06 +08:00
b1ackmai1er
eb107c9b54 Update build process to build additonal ROM image 2018-10-28 15:33:44 +08:00
b1ackmai1er
40b40b7fa5 Support for additional rom options including Nascom and Tasty BASIC 2018-10-28 14:39:20 +08:00
b1ackmai1er
a28bfc157b Extend serial device type to support 4 devices including parallel port device. 2018-10-07 17:11:52 +08:00
b1ackmai1er
9d372a54cc Delete hbios.asm 2018-10-07 17:10:55 +08:00
b1ackmai1er
b5b29fcb32 Delete hbios.inc 2018-10-07 17:10:41 +08:00
b1ackmai1er
f7fc9dc564 Delete pio.asm 2018-10-07 17:10:15 +08:00
b1ackmai1er
e15c2201ee Add Bi-Directional port type to CharIO Parallel port type 2018-10-07 16:53:01 +08:00
b1ackmai1er
a69218877c Extend serial device type to support 4 devices including parallel port device. 2018-10-07 15:45:46 +08:00
b1ackmai1er
f4953e6394 Framework for Parallel port driver for ECB-Zilog-Peripherals & ECB-4PIO 2018-10-06 23:53:11 +08:00
Wayne Warthen
b6ca264e88 Add SmallZ80 Support to FDU 2018-09-28 17:46:18 -07:00
Wayne Warthen
3279f78ced Update Changelog 2018-09-28 09:08:38 -07:00
Wayne Warthen
00935edaa1 Merge pull request #13 from b1ackmai1er/master
Display more config info at DS1302 RTC initialization
2018-09-28 07:35:55 -07:00
b1ackmai1er
97e9339bc9 Display more config info at DS1302 RTC initialization
For systems which use Super capacitor or rechargable battery, trickle charge status is displayed. Good for users with ECB-RAMF for example. Trickle charge can be turned on/off with the RTC.COM utility and the status set will now be display at boot time.
2018-09-28 19:01:48 +08:00
Wayne Warthen
6fb53c08d5 Merge pull request #12 from b1ackmai1er/master
Display more config info at ECB-RAMF initialization
2018-09-27 19:12:37 -07:00
b1ackmai1er
f7cf537454 Display more config info at ECB-RAMF initialization 2018-09-27 20:59:37 +08:00
Wayne Warthen
83bc6af3a6 Update Architecture Document 2018-09-02 17:55:31 -07:00
Wayne Warthen
f5294a19d7 Preliminary Support for Interrupt Management API 2018-08-28 18:55:31 -07:00
Wayne Warthen
5b08693ba2 Beep Support Updates 2018-08-21 16:45:22 -07:00
Wayne Warthen
b084b075e6 Merge pull request #10 from b1ackmai1er/master
Add startup beep support for SBC V2 using PSG on TMS or bit port on SBC RTC
2018-08-21 13:09:48 -07:00
b1ackmai1er
78267d5111 Beep support and cleanup 2018-08-20 19:42:28 +08:00
b1ackmai1er
f982a5e67b Fix to enable PSG without TMS 2018-08-20 19:40:39 +08:00
b1ackmai1er
b4a7805033 Changes to support SBC beep 2018-08-20 17:59:52 +08:00
b1ackmai1er
6bec8936a9 Changes to support SBC beep 2018-08-20 17:56:22 +08:00
b1ackmai1er
67deaf3949 Changes to support SBC beep 2018-08-20 17:52:07 +08:00
b1ackmai1er
0f6f1077c5 Changes to support SBC beep 2018-08-20 17:49:05 +08:00
b1ackmai1er
1d59af182e Changes to support SBC beep 2018-08-20 17:45:32 +08:00
b1ackmai1er
060418d5d9 Add supporting definitions for beep sound 2018-08-20 17:02:58 +08:00
b1ackmai1er
64901dcbbb Add beep driver for PSG and IOPort 2018-08-20 16:58:45 +08:00
b1ackmai1er
2e8d44d005 Add beep on boot 2018-08-20 16:56:05 +08:00
b1ackmai1er
c99293d94e Merge pull request #1 from wwarthen/master
Resync to master
2018-08-04 09:14:00 +08:00
Wayne Warthen
64f2e37ffb Add IM0 Mode to ACIA Driver 2018-08-03 16:46:44 -07:00
Wayne Warthen
716ee19f6c Merge pull request #9 from b1ackmai1er/master
Fixed wrong port address, cleanups and move big conditional structure to external file.
2018-08-03 12:02:58 -07:00
b1ackmai1er
1fc2017db5 Fix typo. 2018-08-03 22:45:13 +08:00
b1ackmai1er
e7cc7906c5 Fixes to port address and cleanups 2018-08-03 22:40:07 +08:00
b1ackmai1er
41c5eba034 Delete sio.asm 2018-08-03 22:38:58 +08:00
b1ackmai1er
f66b6f155e Fixes port address and cleanups 2018-08-03 22:37:17 +08:00
b1ackmai1er
add0f3df07 Separate the baud encoding conditional for readability 2018-08-03 19:46:24 +08:00
Wayne Warthen
34f55f6024 Fix Bug in SIO Driver Update 2018-08-02 15:10:46 -07:00
Wayne Warthen
331760cd5c Add IM0 Mode to SIO Driver 2018-08-02 14:51:18 -07:00
Wayne Warthen
42ad81285f Minor Cleanup 2018-08-01 16:36:04 -07:00
Wayne Warthen
14f73f3dd2 Merge pull request #8 from b1ackmai1er/master
SBC V2 - Zilog Peripherals support using RC2014 driver.
Credit to Phil Summers for this work.
2018-07-31 17:47:45 -07:00
b1ackmai1er
e768dc2d5f Add data bit setting support 2018-07-31 23:24:40 +08:00
b1ackmai1er
d0ee99fff2 Inline the serial format code and add stop bit setting 2018-07-30 23:14:15 +08:00
b1ackmai1er
1b565de9ce Fix incorrect equate causing RC build failure 2018-07-30 18:28:01 +08:00
b1ackmai1er
0a324564d5 Fix bad equate causing RC build to fail 2018-07-30 18:23:10 +08:00
b1ackmai1er
206b3ffcd2 Add configurable baud rate through mode.com 2018-07-29 23:09:58 +08:00
b1ackmai1er
398dec28e9 Add basic support for configurable port and baud 2018-07-29 17:34:20 +08:00
b1ackmai1er
0e8b6aecb7 Delete sio.asm 2018-07-29 17:31:27 +08:00
b1ackmai1er
5d0906aef6 Add basic support for configurable port and baud 2018-07-29 17:30:02 +08:00
b1ackmai1er
f1448fde6e Add basic support for configurable port and baud 2018-07-29 17:12:04 +08:00
b1ackmai1er
6d7ac7a06c Add Config defaults for multiplatform SIO 2018-07-29 16:23:56 +08:00
b1ackmai1er
0010dc8c81 Add Config defaults for multiplatform SIO 2018-07-29 15:46:46 +08:00
b1ackmai1er
d93a85c1d4 Add equated for configurable SIO platform and and missing serial baud rate equates 2018-07-29 15:05:56 +08:00
b1ackmai1er
490e3e49f8 Add definable base address for SIO 2018-07-29 14:48:01 +08:00
b1ackmai1er
0a2654a761 Add definable base address for SIO 2018-07-29 14:33:56 +08:00
Wayne Warthen
ae2c3b113c Fixed MODE Command Bug
Credit to Phil Summers
2018-07-24 14:12:19 -07:00
Wayne Warthen
d43ef1728c Update RomList 2018-06-06 11:55:43 -07:00
Wayne Warthen
cb9ead08c7 Finalize support for RC180 platform 2018-06-06 11:45:10 -07:00
Wayne Warthen
e0509aafe1 Minor Cleanup 2018-05-24 10:18:06 -07:00
Wayne Warthen
99b8409738 Added Diagnostic Port Support 2018-05-24 09:28:21 -07:00
Wayne Warthen
05641bdec0 RC180 Platform and XM Bug Fix
- Added RC180 platform (not tested!)
- Fixed file send problem in XModem on RC2014
- Added NZCOM distribution files to hard disk 0, slice 2
2018-05-21 16:18:54 -07:00
Wayne Warthen
b09f30ed41 PPIDE Driver Fix
Fixed missing DRV/HD register setup for writes in PPIDE driver.
2018-05-03 12:39:51 -07:00
Wayne Warthen
e1d2eb1ecd Comments in PowerShell Build Script 2018-05-02 15:04:47 -07:00
Wayne Warthen
2872381c7d Handle LST: better
- LST: auto mapped to second serial port if available
- Minor updates to Prop ANSI emulation
2018-05-01 09:10:12 -07:00
Wayne Warthen
1f594e1004 Finalize v2.9.1-pre.1 2018-04-19 19:56:20 -07:00
Wayne Warthen
0834762f6e Add BEL functionality from Michael Schweikert
Added BEL functionality to Propeller-based consoles
Build directory cleanup
2018-03-12 16:24:46 -07:00
Wayne Warthen
091d171f02 Finalize v2.9.1 Prerelease 0
Added character attributes on propeller-based consoles.
2018-03-11 17:35:04 -07:00
Wayne Warthen
86b11cca5f Minor SD driver fix
Fix SD driver to build properly when IDE driver is not in use.
2018-02-27 12:45:25 -08:00
Wayne Warthen
2232c87fdb Update Win32DiskImager to v1.0 2018-01-29 12:11:29 -08:00
Wayne Warthen
82619da3fd Add TUNE application
The TUNE application replaces the previous PTXPLAY application and now
supports MYM sounds files in addition to PT2 and PT3.
2018-01-28 17:22:48 -08:00
Wayne Warthen
aef2561f2a Merge pull request #6 from electrified/add-rc2014-rtc-support
Add support for DS1302 clock on RC2014
2018-01-27 11:34:12 -08:00
Ed
dc26d38a36 Add support for DS1302 clock on RC2014 2018-01-27 17:35:03 +00:00
Wayne Warthen
55d7b5e80e Finalize v2.9.0 2018-01-26 16:17:30 -08:00
Wayne Warthen
231239f43f Finalize v2.9.0 Prerelease 0
- New function dispatching logic
- Refactored interrupt management
2018-01-16 16:30:37 -08:00
Wayne Warthen
5fc01b4100 Finalize RC2014 floppy updates
RC2014 floppy controller support completed and tested for Scott Baker
SMC and WDC controller modules.  FDU application updated as well.
2018-01-08 16:45:43 -08:00
Wayne Warthen
768e41c933 New disk driver interface logic 2018-01-07 15:04:00 -08:00
Wayne Warthen
cedb584722 Merge pull request #5 from electrified/fix-rc2014-cf-config
CF IDE mode setting was being written to PPIDE variable in RC2014 standard config
2018-01-07 08:50:50 -08:00
ed
234bb0bbe5 IDE mode setting was being written to PPIDE variable in RC2014
standard config
2018-01-07 10:41:03 +00:00
Wayne Warthen
fb63612ebf RC2014 Floppy
- Support for RC2014 SMB Floppy (WDC & SMC), but not yet tested.
- Final work on Multi-Sector I/O
2018-01-01 16:12:12 -08:00
Wayne Warthen
c9869344e2 Disk Driver Multi-Sector I/O
Added multi-sector I/O to all disk drivers.
Added SMB variant to PPIDE driver.
2017-12-29 16:57:06 -08:00
Wayne Warthen
409c306474 Update Survey App
Updated SURVEY app to properly handle Z80 16 bit I/O port addressing.
Minor improvements to FDU.
2017-12-17 14:53:11 -08:00
Wayne Warthen
05376b6173 FDU App Updates
- Improve read/write sector performance in FDU to avoid spurious overrun
errors.
- Fix boot loader under UNA
2017-12-16 16:45:28 -08:00
Wayne Warthen
09d0e3754f Fix Boot Loader for UNA 2017-12-12 19:49:14 -08:00
Wayne Warthen
feee56990a Finalize 2.8.6
- Support for RC2014
- Handle IDE disk spinup without timing out
2017-12-10 19:54:34 -08:00
Wayne Warthen
b02d9bf1fa Finalize v2.8.6-pre.1 2017-12-06 13:11:56 -08:00
Wayne Warthen
984a4c6ff3 Fix Build Script Issue 2017-12-03 18:04:19 -08:00
Wayne Warthen
99ec7049f7 Implement Auto PROFILE.SUB Execution on Boot
Updated CBIOS to look for PROFILE.SUB on the boot drive and SUBMIT it
automatically at cold boot if it exists.  Also patched SUBMIT.COM to
force temporary file onto A: to ensure immediate execution of SUBMITed
files.
2017-12-03 15:17:44 -08:00
Wayne Warthen
4a9d3c654f Modify RTC.COM to dynamically adjust to hardware
RTC.COM is now one application instead of one per hardware platform.  It
adjusts to the running platform by querying HBIOS for the active
platform.
2017-11-29 18:39:49 -08:00
Wayne Warthen
c171dd329d Add Support for PPIDE on RC2014 2017-11-28 17:30:41 -08:00
Wayne Warthen
584c3b0aa3 Fix DSD Detection 2017-11-26 21:21:46 -08:00
Wayne Warthen
a2cfb95574 Merge pull request #4 from electrified/adjustments-for-scott-bakers-sio
Adjust port mapping for Scott Baker's SIO board
2017-11-26 19:21:33 -08:00
Ed
46b74f8e94 Adjust port mapping for Scott Baker's SIO board 2017-11-26 17:47:55 +00:00
Wayne Warthen
d27fa8a587 Add Option for SMB SIO Module 2017-11-24 21:02:32 -08:00
Wayne Warthen
4579b1fd9c Merge pull request #3 from electrified/ppide-fix
Don't care if disabling 8-bit transfers fails on 16-bit drives
2017-11-24 08:20:04 -08:00
Ed
8e7f41cd08 Don't care if disabling 8-bit transfers fails on 16-bit drives 2017-11-23 23:03:55 +00:00
Wayne Warthen
4c91264062 Update Documentation Files
Updated ReadMe files to reflect addition of RC2014 platform.
2017-11-22 13:41:23 -08:00
Wayne Warthen
366bb7301f Propagate IDE Fix to PPIDE
Credit to Ed Brindley
2017-11-22 13:26:40 -08:00
Wayne Warthen
9635d5933e Finalize v2.8.6 Prerelease 0
Adds ACIA support
Adds IM1 interrupt chaining
Fixes IDE SETFEAT issue
2017-11-21 17:04:23 -08:00
Wayne Warthen
ad55977d4a Fix IDE Detection on RC2014 2017-11-09 14:12:10 -08:00
Wayne Warthen
8863b071da XMODEM Bug Fixes 2017-11-09 12:10:22 -08:00
Wayne Warthen
a60eb57a47 Add RC2014 Support to XMODEM App 2017-11-08 19:11:15 -08:00
Wayne Warthen
51a33aaf0b SIO Driver Interrupt Based Receive 2017-11-07 18:21:11 -08:00
Wayne Warthen
a5bb6a2b7e Preliminary RC2014 Support 2017-11-05 18:12:02 -08:00
Wayne Warthen
7014a33285 Finalize 2.8.5
Clean up support in TMS driver for SCG board.
2017-10-09 15:31:23 -07:00
Wayne Warthen
e8d9671753 Finalize v2.8.4
Small bug fixes
2017-09-03 17:22:53 -07:00
Wayne Warthen
8deca61094 Enhanced FDU
FD renamed to FDU and enhanced to select FDC at startup to eliminate
multiple build variations.
2017-09-02 15:43:02 -07:00
Wayne Warthen
d5936b7fb5 Minor App Updates
Improve handling of UNA in XModem and MODE commands.
2017-08-28 17:15:28 -07:00
Wayne Warthen
4fdb89d651 Minor fixes 2017-08-24 15:06:04 -07:00
Wayne Warthen
c4e9a47048 XModem Enhancements
Added dynamic CPU speed adaptation to XModem
2017-08-24 12:50:24 -07:00
Wayne Warthen
2fd22922d5 Finalize 2.8.3 2017-08-23 20:32:44 -07:00
Wayne Warthen
1060cfd441 Added Mode command 2017-08-23 18:22:58 -07:00
Wayne Warthen
7db00165dd App updates
- All XM variants integrated into a single XM.COM app that auto-detects
primary serial port.
- Include all relevant FD variants for each platform.
2017-08-10 22:16:03 -07:00
Wayne Warthen
9d9018b455 Finalize Release 2.8.2
Minor correction to VGA3 timing parameters
2017-07-18 16:15:16 -07:00
Wayne Warthen
eb460e885a Finalize Release v2.8.1 2017-07-11 18:53:35 -07:00
Wayne Warthen
8ca34eb81f UNA Update
Update to current version of UNA and fix FDISK80 breakage.
2017-07-06 18:03:18 -07:00
Wayne Warthen
f509b0fa01 Finalize Release v2.8.0 2017-07-04 15:35:01 -07:00
Wayne Warthen
75282a33c9 Fix Filename Case 2017-06-30 21:55:30 -07:00
Wayne Warthen
db89164e1e Fix Filename Case 2017-06-30 21:55:00 -07:00
Wayne Warthen
fb6b1fd54a Add VGA3 Support 2017-06-30 21:50:10 -07:00
Wayne Warthen
939a822f65 More BPBIOS Cleanup 2016-11-28 21:19:22 -08:00
Wayne Warthen
4ab1cadfad BPBIOS and Date Stamping Cleanups
- Improved BPBIOS compatibility
- Enhanced STAMPS.DAT w/ NZT stamp
2016-11-27 20:15:12 -08:00
Wayne Warthen
97c36c0efc BPBIOS Related Fixes 2016-11-23 19:31:57 -08:00
Wayne Warthen
8d02b02ab4 Cleanup 2016-10-03 15:27:18 -07:00
Wayne Warthen
f1ada661c1 Additional directory cleanup 2016-09-30 20:00:13 -07:00
Wayne Warthen
90d7b9673c Revamp directory structure 2016-09-30 18:07:16 -07:00
Wayne Warthen
5e6196d541 Update Doc build process 2016-09-29 17:01:46 -07:00
Wayne Warthen
e350aa0672 Interrupt framework implementation
- Interrupt framework
- Documentation in progress w/ Latex conversion
2016-07-10 21:55:00 -07:00
Wayne Warthen
c478a04b48 Prerelease 5 2016-06-03 18:13:15 -07:00
Wayne Warthen
928a64147c Bug Fixes 2016-06-03 17:56:22 -07:00
Wayne Warthen
a57736ef2b Minor cleanup 2016-06-01 21:20:59 -07:00
Wayne Warthen
62641ba4a6 Prerelease 4 2016-05-29 16:52:28 -07:00
Wayne Warthen
5f205dd90b Boot and Bank Layout Cleanup
Revised hbios.asm to compile in 3 modes (ROM/APP/IMG boot).  Updated and
simplified ROM bank assignments.
2016-05-29 07:56:01 -07:00
Wayne Warthen
5115684dc2 Fix Compilation Error in XIO.ASM 2016-05-22 07:59:42 -07:00
Wayne Warthen
a2566d4de5 Revise Serial Driver Initialization
- Implement PREINIT
- Use detected CPU speed for initialization
2016-05-22 07:52:13 -07:00
Wayne Warthen
68c9813390 Bump Version 2016-04-26 16:18:02 -07:00
Wayne Warthen
0653a42984 Fix Delay Initialization 2016-04-25 22:12:13 -07:00
Wayne Warthen
a7d4459a01 Preserve Partition Table in SYSCOPY
Updated FLASH to latest version
2016-04-24 21:51:37 -07:00
Wayne Warthen
7da6c582a0 Bug Fixes 2016-04-22 15:45:10 -07:00
Wayne Warthen
684f59a73c Bug Fixes in ASSIGN Command 2016-04-21 13:16:41 -07:00
Wayne Warthen
97a09a6e33 Revised Serial Device Config Routines 2016-04-20 22:06:32 -07:00
Wayne Warthen
9e5a1ea41b UART Config Changes 2016-04-19 15:06:06 -07:00
Wayne Warthen
07d833473c Bug Fixes 2016-04-14 17:29:45 -07:00
Wayne Warthen
31f5388f9e Implement HBIOS Reset Function 2016-04-10 17:24:27 -07:00
Wayne Warthen
521af19e50 VDA Device Initialization Flow Cleanup 2016-04-10 16:21:29 -07:00
Wayne Warthen
9605d80b99 Code Cleaning 2016-04-08 18:04:06 -07:00
Wayne Warthen
67ede23694 Clean Up Drive Assignment Code 2016-04-07 22:56:46 -07:00
Wayne Warthen
5154713644 Config Files Overhaul 2016-04-06 18:14:14 -07:00
Wayne Warthen
5bb7bd6c44 Revise BPBIOS Prototype
Revise BPBIOS source to accommodate recent changes in HBIOS API.
2016-03-30 22:18:54 -07:00
Wayne Warthen
8fe3526ecd API Revisions / Cleanup
- Improved banked copy size and performance
- Revised API for SETCPY, BNKCPY, SETBNK, and GETBNK
2016-03-30 17:10:08 -07:00
Wayne Warthen
f9c7f30d2d Bug Fixes 2016-03-25 23:06:18 -07:00
Wayne Warthen
8aedfbb7f3 Add Device Summary Display 2016-03-25 21:20:05 -07:00
Wayne Warthen
b4fc05acfb Incorporate FDISK80 2016-03-21 17:05:57 -07:00
Wayne Warthen
5adbef5f68 Revised Emulation Services 2016-03-19 21:21:17 -07:00
Wayne Warthen
b63dfdf587 Revised Disk API 2016-03-10 17:44:42 -08:00
Wayne Warthen
6354bd300d Revised disk API 2016-03-04 20:09:47 -08:00
Wayne Warthen
53a74f78d7 HBIOS driver and BPBIOS refinements
- Refined sd, ide, and ppide drivers to improve hardware compatibility
- Improved BPBIOS build process
2016-02-01 14:50:58 -08:00
Wayne Warthen
b67106889e Add HBIOS Heap Memory
- New heap memory functions
- Restructured new disk I/O functions
2016-01-10 16:01:33 -08:00
Wayne Warthen
25974843e3 Storage Driver Refactoring 2015-12-06 20:10:00 -08:00
Wayne Warthen
6d8c2283b9 ParPortProp Driver Refactoring 2015-11-25 15:43:07 -08:00
Wayne Warthen
df74f73d5b PROPIO Driver Refactoring 2015-11-21 13:16:23 -08:00
Wayne Warthen
099172e44e IDE and PPIDE driver refactoring 2015-11-07 16:50:58 -08:00
Wayne Warthen
4626695b52 Overhaul PPIDE driver and sync with IDE driver 2015-11-05 19:37:49 -08:00
Wayne Warthen
8fbeb6eecc Continued cleanup of SD and IDE driver code 2015-10-24 12:52:27 -07:00
Wayne Warthen
d90c4dfed2 Correct capacity and geometry functions in sd and hsdk drivers 2015-10-04 12:22:45 -07:00
Wayne Warthen
803bb6a87d Refactor SD driver 2015-10-04 08:08:00 -07:00
Wayne Warthen
31d58909ce Refactor IDE driver
- Dynamic detection of devices
- Significant code clean up
2015-09-07 20:25:21 -07:00
Wayne Warthen
522b061fe6 Start of new geometry/capacity functions in HBIOS 2015-09-05 15:35:06 -07:00
Wayne Warthen
63c0289e28 Handle Output directory better
Git refuses to store empty directories.  So, build scripts modified to
create Output directory as needed.
2015-08-21 20:57:48 -07:00
Wayne Warthen
a0cc974323 Refactor Loader Code
Move loader code to an include file and create separate wrappers for
each of the loader functions.
2015-08-21 19:59:45 -07:00
Wayne Warthen
20f874d146 Create .gitattributes 2015-08-19 20:06:58 -07:00
wwarthen
de52c4f560 Reintegrate wbw -> trunk 2015-08-19 17:34:42 +00:00
wwarthen
c754fcdb99 Reintegrate wbw -> trunk 2015-04-08 04:09:08 +00:00
wwarthen
2148c3e1f7 Reintegrate wbw -> trunk 2015-04-03 06:02:14 +00:00
wwarthen
cc51d012de Reintegrate wbw -> trunk 2015-03-23 01:50:45 +00:00
wwarthen
ea547a012b Reintegrate wbw -> trunk 2015-03-16 01:37:54 +00:00
wwarthen
8e535d53f4 Reintegrate wbw26 -> trunk 2014-10-26 03:02:33 +00:00
wwarthen
5e08740456 Reintegrate wbw26 -> trunk 2014-10-18 19:02:13 +00:00
wwarthen
72dc548e6e Reintegrate wbw26 -> trunk 2014-10-14 03:20:39 +00:00
wwarthen
594ae07aa6 Reintegrate wbw26 -> trunk 2014-10-13 15:47:16 +00:00
wwarthen
a8491cc5e0 Reintegrate wbw26 -> trunk 2014-10-13 15:24:20 +00:00
wwarthen
74b80aaeeb Reintegrate wbw -> trunk 2014-09-08 04:11:55 +00:00
wwarthen
09da338d05 Reintegrate wbw -> trunk 2014-08-30 20:50:48 +00:00
wwarthen
3396ba3513 Reintegrate wbw -> trunk 2014-08-30 20:09:07 +00:00
wwarthen
d211dc2222 Reintegrate wbw -> trunk 2014-05-04 23:19:46 +00:00
wwarthen
2e4eb2fb1b Reintegrate wbw -> trunk 2014-03-02 02:37:34 +00:00
wwarthen
63b624fa0c Reintegrate wbw -> trunk 2014-01-21 02:09:03 +00:00
wwarthen
7c547f515a Reintegrate wbw -> trunk 2013-11-22 23:16:39 +00:00
wayne
762f325e10 Fix 2013-09-30 06:05:14 +00:00
wayne
b030913abd Reintegrate wbw -> trunk 2013-09-30 04:44:49 +00:00
wayne
ff5bf3c669 Reintegrate wbw -> trunk 2013-06-25 23:54:23 +00:00
2968 changed files with 449300 additions and 85339 deletions

2
.gitattributes vendored Normal file
View File

@@ -0,0 +1,2 @@
# Leave all line endings alone!
* -text

11
.github/pull_request_template.md vendored Normal file
View File

@@ -0,0 +1,11 @@
<!--
BEFORE YOU CREATE A PULL REQUEST:
- Please base all pull requests against the master branch
- Include a clear description of your change
- Reference related Issue(s) (e.g., "Resolves Issue #123")
Thank you for contributing to RomWBW! I will review your pull request as soon as possible.
DELETE EVERYTHING IN THIS COMMENT BLOCK AND REPLACE WITH YOUR COMMENTS
-->

74
.github/workflows/commit.yml vendored Normal file
View File

@@ -0,0 +1,74 @@
name: Commit Build
on:
push:
branches:
- '**'
tags-ignore:
- '**'
jobs:
buildLinux:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3.3.0
- name: Get Commit Ref
run: |
COMMIT_REF=$(git rev-parse --short $GITHUB_SHA)
echo "COMMIT_REF: $COMMIT_REF"
echo "COMMIT_REF=$COMMIT_REF" >>$GITHUB_ENV
- name: Build
run: |
export TZ='America/Los_Angeles'
sudo apt-get install srecord
make distlog
rm -rf .git*
- name: List Output
run: |
cd Binary
ls -l
find -type f -exec md5sum '{}' \;
- name: Upload Artifact
uses: actions/upload-artifact@v3.1.1
with:
name: RomWBW-${{env.COMMIT_REF}}-Linux
path: .
buildMacOS:
runs-on: macOS-latest
steps:
- name: Checkout
uses: actions/checkout@v3.3.0
- name: Get Commit Ref
run: |
COMMIT_REF=$(git rev-parse --short $GITHUB_SHA)
echo "COMMIT_REF: $COMMIT_REF"
echo "COMMIT_REF=$COMMIT_REF" >>$GITHUB_ENV
- name: Build
run: |
export TZ='America/Los_Angeles'
brew install srecord
make distlog
rm -rf .git*
- name: List Output
run: |
cd Binary
ls -l
find . -type f -exec md5 -r -- '{}' +;
- name: Upload Artifact
uses: actions/upload-artifact@v3.1.1
with:
name: RomWBW-${{env.COMMIT_REF}}-MacOS
path: .

109
.github/workflows/release.yml vendored Normal file
View File

@@ -0,0 +1,109 @@
name: Release Build
on:
push:
tags:
- '**'
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3.3.0
- name: Build
run: |
export TZ='America/Los_Angeles'
sudo apt-get install libncurses-dev
sudo apt-get install srecord
make distlog
rm -rf .git*
- name: Create Package Archive
run: |
zip -r RomWBW-${{github.ref_name}}-Package.zip .
- name: Set Title
run: |
echo "Tag: ${{github.ref_name}}"
if grep -q "dev" <<< "${{github.ref_name}}"; then
TITLE="RomWBW Development Snapshot"
elif grep -q "pre" <<< "${{github.ref_name}}"; then
TITLE="RomWBW Prerelease"
elif grep -q "rc" <<< "${{github.ref_name}}"; then
TITLE="RomWBW Release Candidate"
else
TITLE="RomWBW"
fi
echo "Title: $TITLE"
echo "TITLE=$TITLE" >>$GITHUB_ENV
- name: Attach Package Archive
uses: wwarthen/actions/packages/automatic-releases@built-packages
with:
repo_token: "${{secrets.GITHUB_TOKEN}}"
draft: true
prerelease: true
title: "${{env.TITLE}} ${{github.ref_name}}"
files: |
RomWBW-${{github.ref_name}}-Package.zip
# - name: Upload Package Archive
# uses: AButler/upload-release-assets@v2.0.2
# with:
# repo-token: ${{secrets.github_token}}
# files: |
# RomWBW-${{env.PKGLBL}}-Package.zip
# - name: Post SnapShot
# uses: docker://antonyurchenko/git-release:latest
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# RELEASE_NAME_PREFIX: "${{env.TITLE}} "
# CHANGELOG_FILE: "none"
# with:
# args: |
# RomWBW-SnapShot-Package.zip
# - name: Post SnapShot
# uses: cb80/pubrel@latest
# with:
# replace: true
# files: |
# RomWBW-SnapShot-Package.zip
# - name: Post SnapShot
# uses: wwarthen/actions/packages/automatic-releases@built-packages
# with:
# repo_token: "${{ secrets.GITHUB_TOKEN }}"
# prerelease: true
# title: "RomWBW Development SnapShot ${{env.GITHUB_REF_SLUG}}"
# files: |
# RomWBW-SnapShot-Package.zip
# - name: Remove Older Releases
# uses: wwarthen/delete-release-action@v1.2
# with:
# release-drop: true
# release-keep-count: 0
# release-drop-tag: true
# pre-release-drop: false
# pre-release-keep-count: 0
# pre-release-drop-tag: true
# draft-drop: true
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# - name: Remove Older Releases
# uses: s00d/delete-older-releases@0.2.1
# with:
# keep_latest: 1
## delete_tag_pattern: beta # defaults to ""
# delete_type: 'release'
# delete_branch: 'main'
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

111
.gitignore vendored Normal file
View File

@@ -0,0 +1,111 @@
# Not sure what patterns to apply
# So ignoring all generated files explicitly
**/*.[Bb][Ii][Nn]
**/*.[Cc][Oo][Mm]
**/*.[Rr][Oo][Mm]
**/*.com
**/*.eeprom
**/*.hex
**/*.img
**/*.lib
**/*.lst
**/*.o
**/*.prn
**/*.rel
**/*.sym
**/*.sys
**/*.tmp
**/*/font*.asm
Binary/**/*.mym
Binary/**/*.pt3
!Binary/cpnos-wbw.sys
Source/**/eeprom
Source/Apps/Assign.com
Source/Apps/FDU/FDU.COM
Source/Apps/Format.com
Source/Apps/IntTest.com
Source/Apps/Mode.com
Source/Apps/OSLdr.com
Source/Apps/RTC.com
Source/Apps/SysCopy.com
Source/Apps/SysGen.com
Source/Apps/Talk.com
Source/Apps/Timer.com
Source/Apps/Tune/Tune.com
Source/BPBIOS/bpsys.bak
Source/BPBIOS/bpsys.dat
Source/BPBIOS/def-ww.lib
Source/CPM3/bios3.spr
Source/CPM3/bnkbios3.spr
Source/CPM3/gencpm.dat
Source/CPM3/options.lib
Source/CPM3/zpmbios3.spr
Source/HBIOS/Blank512KB.dat
Source/HBIOS/build.inc
Source/Images/blank144
Source/Images/blankhd
Source/Prop/Spin/ParPortProp.list
Source/Prop/Spin/PropIO.list
Source/Prop/Spin/PropIO2.list
Source/Prop/ParPortProp.list
Source/Prop/PropIO.list
Source/Prop/PropIO2.list
Source/ZPM3/bnkbios3.spr
Source/ZPM3/gencpm.com
Source/ZPM3/gencpm.com
Source/ZPM3/gencpm.dat
Tools/Linux
Tools/Darwin
Tools/unix/bin2asm/bin2asm
Tools/unix/cpmtools/cpmchattr
Tools/unix/cpmtools/cpmchmod
Tools/unix/cpmtools/cpmcp
Tools/unix/cpmtools/cpmls
Tools/unix/cpmtools/cpmrm
Tools/unix/cpmtools/fsck.cpm
Tools/unix/cpmtools/fsed.cpm
Tools/unix/cpmtools/mkfs.cpm
Tools/unix/lzsa/lzsa
Tools/unix/uz80as/uz80as
Tools/unix/zx/config.h
Tools/unix/zx/zx
!Source/ver.lib
!Source/Apps/FAT/FAT.COM
!Source/Apps/ZMP/zmpx.com
!Source/Apps/ZMD/zmdsubs.rel
!Source/Apps/Test/vdctest/font.asm
!Source/BPBIOS/bpbuild.com
!Source/BPBIOS/movp112.com
!Source/BPBIOS/*.lib
!Source/BPBIOS/Z34RCP11/cledinst.com
!Source/BPBIOS/Z34RCP11/cledsave.com
!Source/Fonts/*
!Source/Images/**
!Source/RomDsk/**
!Source/UBIOS/FSFAT.BIN
!Source/UBIOS/UNA-BIOS.BIN
!Source/ZCCP/*.[Cc][Oo][Mm]
!Source/ZCPR-DJ/*.[Cc][Oo][Mm]
!Source/ZPM3/*.[Cc][Oo][Mm]
!Source/ZSDOS/*.[Cc][Oo][Mm]
!Source/ZRC/*.bin
!Source/ZRC512/*.bin
!Source/Z1RCC/*.bin
!Source/ZZRCC/*.bin
!Tools/cpm/**
!Tools/unix/zx/*
!Tools/zx/*
Source/ZPM3/gencpm.com
Source/ZPM3/startzpm.com
Source/ZPM3/zccp.com
Source/ZPM3/zpmldr.com
Source/ZPM3/genbnk.dat
Source/ZSDOS/zsdos.err

View File

@@ -1,106 +0,0 @@
/* twodrive.c 7/11/2012 dwg - */
/* This program is experimental and is not for release because
it contains techniques which are not recommended because
there are better API functions to do these operations. */
/*
This code is in the crossdev folder because it is part of
my development environment, and I said I would make everything
available.
The purpose of this code is to dynamically alter the BIOS
data associated with PPIDE (or PPISD) drives. The default
configuration is that mass storage devices get four drives.
Each of the four drives can be remapped using the logical
unit utility MAP.
The purpose of this code is to alter the runtime data so that
instead of the PPIDE having four drives for the primary IDE
device, it then has two for the primary and two for the secondary.
The MAP command will properly display the status after this is
run, but you must keep in mind that having two sets of logical
units at the same time is twice as complicated to keep straight
in your mind, and you have to be more careful you know exactly
how the drives are mapped so you don't accidentally destroy your
data.
This utility is unsupported, and not recommended for general use.
The reason this utility wasn't generally published is that it
is very difficult to give support about this remotely.
If you are brave, and talented, and you can figure out what I did
with pointers in this program, then you get the prize, which is
to be able to copy from one CF chip to another in a dual adapter.
It has only been tested on my PPIDE, and I don't know what will
happen if you try it. You could wipe out your CF chip, so make
sure you are backed up if you try this.
*/
#include "cpmbios.h"
#include "bioscall.h"
#include "cpmbdos.h"
#include "bdoscall.h"
#define u8 unsigned char
#define u16 unsigned int
struct DPH * pDPH_C;
struct DPB * pDPB_C;
u8 * pDU_C;
u16 * pCUR_C;
u16 * pNUM_C;
struct DPH * pDPH_D;
struct DPB * pDPB_D;
u8 * pDU_D;
u16 * pCUR_D;
u16 * pNUM_D;
main(argc,argv)
int argc;
char *argv[];
{
ireghl = pSELDSK;
iregbc = DRIVEC;
iregde = 0;
bioscall();
pDPH_C = ireghl;
pDPB_C = pDPH_C->dpb;
pDU_C = ireghl -1;
*pDU_C = 0X41;
printf("Current C: DevUnit is %02x\n",*pDU_C);
pCUR_C = ireghl + 18;
*pCUR_C = 0;
printf("Current C: Logical Unit is %d\n",* pCUR_C);
pNUM_C = ireghl + 20;
*pNUM_C = 64/9;
printf("Current C: Number of LU's is %d\n",* pNUM_C);
ireghl = pSELDSK;
iregbc = DRIVED;
iregde = 0;
bioscall();
pDPH_D = ireghl;
pDPB_D = pDPH_D->dpb;
pDU_D = ireghl -1;
*pDU_D = 0x41;
printf("Current D: DevUnit is %02x\n",*pDU_D);
pCUR_D = ireghl + 18;
*pCUR_D = 1;
printf("Current D: Logical Unit is %d\n",* pCUR_D);
pNUM_D = ireghl + 20;
*pNUM_D = 64/9;
printf("Current D: Number of LU's is %d\n",* pNUM_D);
}

View File

@@ -1,322 +0,0 @@
/* map.c 6/7/2012 dwg - */
#include "portab.h"
#include "globals.h"
#include "stdio.h"
#include "stdlib.h"
#include "memory.h"
#include "cpmbind.h"
#include "infolist.h"
#include "dphdpb.h"
#include "dphmap.h"
#include "metadata.h"
#include "clogical.h"
#include "applvers.h"
#define MAXDRIVE 8
/* Drive List Geometry */
#define COL1 0
#define COL2 (80/4)
#define COL3 (80/2)
#define COL4 (COL2+COL3)
#define LINE 3
/* Logical Unit List Geometry */
#define LGUT 5
#define COL1A 0
#define COL2A (80/3)
#define COL3A (2*COL2A)
/* Nomenclature Geometry */
#define LINE2 8
/* Misc Info Geometry */
#define CDLINE 6
/* BDOS Function number */
#define RETCURR 25
/* function defined in bdoscall.asm */
extern lurst();
struct BIOS * pBIOS;
struct DPH * pDPH;
int devunit;
int dev;
int unit;
int currlu;
int numlu;
int drivenum;
int drive;
int deflu;
char szTemp[128];
int readsec(drive,track,sector,buffer)
int drive;
int track;
int sector;
unsigned int buffer;
{
ireghl = pSELDSK;
iregbc = drive;
iregde = 0;
bioscall();
ireghl = pSETTRK;
iregbc = track;
bioscall();
ireghl = pSETSEC;
iregbc = sector;
bioscall();
ireghl = pSETDMA;
iregbc = buffer;
bioscall();
ireghl = pREAD;
bioscall();
return irega;
}
int haslu(dr)
int dr;
{
if(0 < lugnum(dr)) {
return TRUE;
} else {
return FALSE;
}
}
void dispdph(l,c,drive,ptr)
int l;
int c;
char drive;
struct DPH *ptr;
{
/*
unsigned int xlt;
unsigned int rv1;
unsigned int rv2;
unsigned int rv3;
unsigned int dbf;
unsigned int dpb;
unsigned int csv;
unsigned int alv;
unsigned char sigl;
unsigned char sigu;
unsigned int current;
unsigned int number;
*/
crtlc(l,c);
printf("%c: ",drive);
devunit = lugdu(drive-'A');
dev = devunit & 0xf0;
unit = devunit & 0x0f;
currlu = lugcur(drive-'A');
switch(dev) {
case DEV_MD:
if(0 == unit) printf("ROM");
if(1 == unit) printf("RAM");
break;
case DEV_FD:
printf("FD%d",unit);
break;
case DEV_IDE:
printf("IDE%d",unit);
break;
case DEV_ATAPI:
printf("ATAPI%d",unit);
break;
case DEV_PPIDE:
printf("PPIDE%d",unit);
break;
case DEV_SD:
printf("SD%d",unit);
break;
case DEV_PRPSD:
printf("PRPSD%d",unit);
break;
default:
printf("UNK");
break;
};
if('L' == (unsigned char)ptr->sigl) {
if('U' == (unsigned char)ptr->sigu) {
/* printf("-LU%d",(int)ptr->current); */
printf("-LU%d",currlu);
}
}
/* printf("dpb=0x%04x, ",(unsigned int)ptr->dpb);
printf("sigl=0x%02x, ",(unsigned char)ptr->sigl);
printf("sigu=0x%02x, ",(unsigned char)ptr->sigu);
printf("curr=0x%04x, ",(unsigned int)ptr->current);
printf("numb=0x%04x", (unsigned int)ptr->number);
*/
}
int main(argc,argv)
int argc;
char *argv[];
{
int i;
int mylu;
int drivenum;
int column;
int line;
char szDrive[32];
char szLuNum[32];
if(argc == 3) {
strcpy(szDrive,argv[1]);
strcpy(szLuNum,argv[2]);
mylu = atoi(szLuNum);
if(strlen(szDrive) == 2) {
if(':' == szDrive[1]) {
switch(szDrive[0]) {
case 'a':
case 'A':
luscur(0,mylu);
break;
case 'b':
case 'B':
luscur(1,mylu);
break;
case 'c':
case 'C':
luscur(2,mylu);
break;
case 'd':
case 'D':
luscur(3,mylu);
break;
case 'e':
case 'E':
luscur(4,mylu);
break;
case 'f':
case 'F':
luscur(5,mylu);
break;
case 'g':
case 'G':
luscur(6,mylu);
break;
case 'h':
case 'H':
luscur(7,mylu);
break;
default:
break;
}
}
}
exit(1);
}
pBIOS = BIOSAD;
crtinit();
crtclr();
crtlc(0,0);
printf("MAP.COM %d/%d/%d v%d.%d.%d.%d",
A_MONTH,A_DAY,A_YEAR,A_RMJ,A_RMN,A_RUP,A_RTP);
printf(" dwg - System Storage Drives and Logical Units");
ireghl = pGETINFO;
bioscall();
pINFOLIST = ireghl;
crtlc(CDLINE,COL3A+LGUT);
printf("infolist.version %d\n",pINFOLIST->version);
pDPHMAP = (struct DPHMAPA *)pINFOLIST->dphmap;
dispdph(LINE, COL1+LGUT-1,'A',(struct DPH *)pDPHMAP->drivea);
dispdph(LINE+1,COL1+LGUT-1,'B',(struct DPH *)pDPHMAP->driveb);
dispdph(LINE, COL2+LGUT-1,'C',(struct DPH *)pDPHMAP->drivec);
dispdph(LINE+1,COL2+LGUT-1,'D',(struct DPH *)pDPHMAP->drived);
dispdph(LINE, COL3+LGUT-1,'E',(struct DPH *)pDPHMAP->drivee);
dispdph(LINE+1,COL3+LGUT-1,'F',(struct DPH *)pDPHMAP->drivef);
dispdph(LINE, COL4+LGUT-1,'G',(struct DPH *)pDPHMAP->driveg);
dispdph(LINE+1,COL4+LGUT-1,'H',(struct DPH *)pDPHMAP->driveh);
dregbc = RETCURR;
bdoscall();
drive = drega;
crtlc(CDLINE,5);
printf("Current drive is %c:",'A'+drive);
devunit = lugdu(drive);
dev = devunit & 0xf0;
unit = devunit & 0x0f;
currlu = lugcur(drive);
deflu = currlu;
numlu = lugnum(drive);
crtlc(CDLINE,COL2A+LGUT);
printf("Number of LUs is %d\n",lugnum(drive));
if(0<numlu) {
crtlc(LINE2,COL1A+LGUT);
printf("LU -----Label------");
crtlc(LINE2,COL2A+LGUT);
printf("LU -----Label------");
crtlc(LINE2,COL3A+LGUT);
printf("LU -----Label------");
line = LINE2+1;
column = 0;
for(i=0;i<numlu;i++) {
luscur(drive,i);
readsec(drive,0,11,&metadata);
metadata.term = 0;
switch(column++) {
case 0:
crtlc(line,COL1A+LGUT);
printf("%2d %s",i,metadata.label);
break;
case 1:
crtlc(line,COL2A+LGUT);
printf("%2d %s",i,metadata.label);
break;
case 2:
crtlc(line,COL3A+LGUT);
printf("%2d %s",i,metadata.label);
column = 0;
line++;
break;
}
}
luscur(drive,deflu);
}
}
/****************/
/* eof - cmap.c */
/****************/

View File

@@ -1,185 +0,0 @@
@echo off
setlocal
set PATH=..\..\tools\zx;%PATH%
set ZXBINDIR=../../tools/cpm/bin/
set ZXLIBDIR=../../tools/cpm/lib/
set ZXINCDIR=../../tools/cpm/include/
set OUTDIR=..\Output\
set COREAPPS=ACCESS CPMNAME FINDFILE MAP META MULTIFMT REM SETLABEL SYSGEN TERMTYPE VIEW
echo.
echo Building DWG.REL...
echo.
set TGT=dwg.rel
if exist %TGT% del %TGT%
zx rmac printers.asm -$PN
zx rmac memory.asm -$PN
zx rmac banner.asm -$PN
zx rmac terminal.asm -$PN
zx rmac identity.asm -$PN
zx rmac hbios.asm -$PN
ZX rmac labelib.asm -$PN
zx rmac metadata.asm -$PN
zx lib %TGT%=printers,memory,banner,terminal,identity,hbios,labelib,metadata
if not exist %TGT% echo *** Failed to build %TGT% *** && pause
echo.
echo Building DWG.LIB...
echo.
set TGT=dwg.lib
if exist %TGT% del %TGT%
zx as bioscall
zx as bdoscall
zx as diagnose
zx cz --o cmemory.a80 --DTINY cmemory
zx as cmemory.a80
zx cz --o cbanner.a80 --DTINY cbanner
zx as cbanner.a80
zx cz --o ctermcap.a80 --DTINY ctermcap
zx as ctermcap.a80
zx cz --o clogical.a80 --DTINY clogical
zx as clogical.a80
zx as asmiface
zx cz --o sectorio.a80 --DTINY sectorio
zx as sectorio.a80
zx libutil --o dwg.lib cbanner.o clogical.o ctermcap.o sectorio.o asmiface.o
zx libutil --o dwg.lib dwg.lib bioscall.o bdoscall.o diagnose.o cmemory.o clogical.o
if not exist %TGT% echo *** Failed to build %TGT% *** && pause
echo.
echo Building ACCESS.COM...
echo.
set TGT=access.com
if exist %TGT% del %TGT%
zx rmac access.asm -$PN
zx link access,dwg
if not exist %TGT% echo *** Failed to build %TGT% *** && pause
echo.
echo Building CPMNAME.COM...
echo.
set TGT=cpmname.com
if exist %TGT% del %TGT%
zx cz --o cpmname.a80 --DTINY cpmname
zx as cpmname.a80
zx ln cpmname.o --ldwg --lt --lc
if not exist %TGT% echo *** Failed to build %TGT% *** && pause
echo.
echo Building FINDFILE.COM...
echo.
set TGT=findfile.com
if exist %TGT% del %TGT%
zx rmac findfile.asm -$PN
zx link findfile,dwg
if not exist %TGT% echo *** Failed to build %TGT% *** && pause
echo.
echo Building MAP.COM...
echo.
set TGT=map.com
if exist %TGT% del %TGT%
zx cz --o map.a80 --DTINY map
zx as map.a80
zx ln map.o --ldwg --lt --lc
if not exist %TGT% echo *** Failed to build %TGT% *** && pause
echo.
echo Building META.COM...
echo.
set TGT=meta.com
if exist %TGT% del %TGT%
zx cz --o meta.a80 --DTINY meta
zx as meta.a80
zx ln meta.o --ldwg --lt --lc
if not exist %TGT% echo *** Failed to build %TGT% *** && pause
echo.
echo Building MULTIFMT.COM...
echo.
set TGT=multifmt.com
if exist %TGT% del %TGT%
zx cz --o multifmt.a80 --DTINY multifmt
zx as multifmt.a80
zx ln multifmt.o --ldwg --lt --lc
if not exist %TGT% echo *** Failed to build %TGT% *** && pause
echo.
echo Building REM.COM...
echo.
set TGT=rem.com
if exist %TGT% del %TGT%
zx rmac rem.asm -$PN
zx link rem
if not exist %TGT% echo *** Failed to build %TGT% *** && pause
echo.
echo Building SETLABEL.COM...
echo.
set TGT=setlabel.com
if exist %TGT% del %TGT%
zx rmac setlabel.asm -$PN
zx link setlabel,dwg
if not exist %TGT% echo *** Failed to build %TGT% *** && pause
echo.
echo Building SYSGEN.COM...
echo.
set TGT=sysgen.com
if exist %TGT% del %TGT%
zx cz --o sysgen.a80 --DTINY sysgen
zx as sysgen.a80
zx ln sysgen.o --ldwg --lt --lc
if not exist %TGT% echo *** Failed to build %TGT% *** && pause
echo.
echo Building TERMTYPE.COM...
echo.
set TGT=termtype.com
if exist %TGT% del %TGT%
zx cz --o termtype.a80 --DTINY termtype
zx as termtype.a80
zx ln termtype.o --ldwg --lt --lc
if not exist %TGT% echo *** Failed to build %TGT% *** && pause
echo.
echo Building VIEW.COM...
echo.
set TGT=view.com
if exist %TGT% del %TGT%
zx cz --o view.a80 --DTINY view
zx as view.a80
zx ln view.o --ldwg --lt --lc
if not exist %TGT% echo *** Failed to build %TGT% *** && pause
echo.
echo Building N8VIDTST.COM / TMSSTAT.COM...
echo.
zx cz --o n8chars.a80 --DTINY n8chars
zx as n8chars.a80
zx cz --o tms9918.a80 --DTINY tms9918
zx as tms9918.a80
set TGT=n8vidtst.com
if exist %TGT% del %TGT%
zx cz --o n8vidtst.a80 --DTINY n8vidtst
zx as n8vidtst.a80
zx ln n8vidtst.o n8chars.o tms9918.o --ldwg --lt --lc
if not exist %TGT% echo *** Failed to build %TGT% *** && pause
set TGT=tmsstat.com
if exist %TGT% del %TGT%
zx cz --o tmsstat.a80 --DTINY tmsstat
zx as tmsstat.a80
zx ln tmsstat.o n8chars.o tms9918.o --ldwg --lt --lc
if not exist %TGT% echo *** Failed to build %TGT% *** && pause
echo.
echo Generating Output...
echo.
if exist %OUTDIR%\*.* del /f /q %OUTDIR%\*.*
for %%f in (%COREAPPS%) do echo %%f... && copy %%f.COM %OUTDIR%
echo DWG-APPS.MAN... && copy DWG-APPS.MAN %OUTDIR%

View File

@@ -1,10 +0,0 @@
@echo off
if exist *.bak erase *.bak
if exist *.prn erase *.prn
if exist *.o erase *.o
if exist *.rel erase *.rel
if exist *.cpm erase *.cpm
if exist *.sym erase *.sym
if exist *.com erase *.com
if exist *.a80 erase *.a80
if exist dwg.lib erase dwg.lib

View File

@@ -1,106 +0,0 @@
; access.asm 7/19/2012 dwg - for 2.0.0.0 B22
; access.com 2/17/2012 dwg - review for release 1.5.1.0
; access.asm 2/11/2012 dwg - make ident compliant
; access.com 2/07/2012 dwg - review for release 1.5
; access.com 2/05/2012 dwg - adjust for new macros
; access.asm 1/30/2012 dwg - use new do$start and do$end macros
; access.asm 1/28/2012 dwg - assure file exists from within submit file
; Copyright (C) 2011-2012 Douglas Goodall Licensed under GPL Ver 3.
;
; This file is part of NuBiosDWG and is free software: you can
; redistribute it and/or modify it under the terms of the GNU
; General Public License as published by the Free Software Foundation,
; either version 3 of the License, or (at your option) any later version.
; This file is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
; GNU General Public License for more details.
; You should have received a copy of the GNU General Public License
; along with it. If not, see <http://www.gnu.org/licenses/>.
;----------------------------------------------------------------------
maclib portab
maclib globals
maclib cpmbdos
maclib printers
maclib banner
maclib applvers
maclib z80
maclib memory
maclib version
maclib cpmappl
maclib banner
;-----------------------
do$start
jmp around$bandata
argv dw prog,dat,prod,orig,ser,myname,0
prog db 'ACCESS.COM $'
date
serial
product
originator
oriname
uuid db '08D4953E-B6F4-4673-990C-7E17A0A299BD$'
around$bandata:
sbanner argv
lda 80h ; pick up the command tail length provided by CCP
cpi 0 ; were there any parameters given?
jnz no$usage ; If not, go around
printf 'usage - access <filename>'
jmp do$exit
no$usage:
memcpy work$fcb,PRIFCB,32 ; Save initial default FCB from CCP
printf 'Checking: '
mvi a,'$' ; place a terminating dollar sign
sta PRIFCB+9 ; at the end of the filname field
print PRIFCB+1 ; and print the filename portion
conout '.' ; print the seperating dot
memcpy PRIFCB,work$fcb,16 ; get a fresh copy of the initial FCB
mvi a,'$' ; place a terminating dollar sign
sta PRIFCB+12 ; at the end of the filetype field
print PRIFCB+9 ; and print the filetype
print crlf ; followed by a CR and LF
memcpy PRIFCB,work$fcb,32 ; restore the initial FCB
mvi c,FOPEN ; Try to open the given filename
lxi d,PRIFCB ; using the primary default FCB
call BDOS ; with a BDOS call
cpi 255 ; Test for Open Failure (255)
jnz done ; jump if file existed
mvi c,FDELETE ; Delete the A:$$$.SUB file
lxi d,del$fcb ; using an alternative FCB
call BDOS
printf 'Submit file terminated due to missing file$'
jmp do$exit ; Go to the one true exit point
done:
printf 'File found, Submit may proceed'
do$exit:
do$end
newfcb del$fcb,1,'$$$ SUB'
work$fcb ds 36 ; A place to save a copy of the default FCB on entry
crlf db CR,LF ; a dollar sign terminated CR and LF
term db '$' ; a general purpose terminating character
end start
; eof - access.asm


Binary file not shown.

View File

@@ -1,19 +0,0 @@
/************************************/
/* applvers.h dwg - 2.5.0.15 */
/************************************/
#define A_RMJ 2
#define A_RMN 5
#define A_RUP 0
#define A_RTP 16
#define A_MONTH 6
#define A_DAY 23
#define A_YEAR 2013
#define A_YR 13
/********************/
/* eof - applvers.h */
/********************/

View File

@@ -1,32 +0,0 @@
; applvers.lib 3/31/2012 dwg - For RomWBW 2.5.0.14 Release
A$RMJ equ 2
A$RMN equ 5
A$RUP equ 0
A$RTP equ 16
A$MONTH equ 6
A$DAY equ 23
A$YEAR equ 2013
date macro
dat db ' 6/23/2013$'
endm
serial macro
ser db '654321$'
endm
product macro
prod db 'CPM80$'
endm
originator macro
orig db 'DWG$'
endm
oriname macro
myname db ' Douglas W Goodall $'
endm
; eof - applvers.lib

View File

@@ -1,13 +0,0 @@
/* ascii.h 11/25/2012 dwg - */
#define ASCII_BS 8
#define ASCII_TAB 9
#define ASCII_LF 10
#define ASCII_VT 11
#define ASCII_FF 12
#define ASCII_CR 13
#define ASCII_ESC 27
/* eof - ascii.h */


View File

@@ -1,67 +0,0 @@
; asmiface.asm 6/4/2012 dwg -
extrn .begin,.chl,.swt
extrn csave,cret,.move
global xrega_,1
global xregbc_,2
global xregde_,2
global xreghl_,2
PUBLIC asmif_
asmif_: lxi d,.2
call csave
LXI H,8-.2 ; pick up 1st parm "function address"
DAD SP
MOV E,M
INX H
MOV D,M
xchg
shld callad+1
LXI H,10-.2
DAD SP
MOV E,M
INX H
MOV D,M ; DE = parm
xchg
shld xregbc_
LXI H,12-.2
DAD SP
MOV E,M
INX H
MOV D,M
xchg
shld xregde_
LXI H,14-.2
DAD SP
MOV E,M
INX H
MOV D,M
xchg
shld xreghl_
lhld xregbc_
mov b,h
mov c,l ; setup B&C
lhld xregde_
xchg ; setup D&E
lhld xreghl_ ; setup H&L
callad: call 0e639h ; setlu
sta xrega_
shld xreghl_
xchg
shld xregde_
mov l,c
mov h,b
shld xregbc_
RET ; HL has return value
.2 EQU 0
END


View File

@@ -1,14 +0,0 @@
/*****************************/
/* asmiface.H 6/4/2012 dwg - */
/*****************************/
extern char xrega;
extern unsigned int xregbc;
extern unsigned int xregde;
extern unsigned int xreghl;
extern asmif(); /* asmif(0xe60,bc,de,hl); */
/********************/
/* eof - asmiface.h */
/********************/


View File

@@ -1,153 +0,0 @@
/* banker.c 6/7/2012 dwg - */
#include "stdio.h"
#include "stdlib.h"
#include "memory.h"
/* #include "cpmbind.h" */
#include "std.h"
#include "infolist.h"
#include "metadata.h"
/* #include "setlunum.h" */
#include "applvers.h"
#include "bdoscall.h"
#include "cpmbdos.h"
#include "bioscall.h"
#include "cpmbios.h"
#include "diagnose.h"
#include "cnfgdata.h"
#include "syscfg.h"
#include "applvers.h"
#define COL1 0
#define COL2 (80/3)
#define COL3 (2*COL2)
#define LINE 2
#define BDOS 5 /* memory address of BDOS invocation */
#define HIGHSEG 0x0C000 /* memory address of system config */
#define GETSYSCFG 0x0F000 /* HBIOS function for Get System Configuration */
struct SYSCFG * pSYSCFG;
struct BIOS * pCBIOS;
int main(argc,argv)
int argc;
char *argv[] ;
{
char * varloc;
char * tstloc;
char temp[128];
int i;
int bFirst;
bFirst = 0;
ireghl = pGETINFO;
bioscall();
pINFOLIST = ireghl;
printf("post GETINFO ireghl is 0x%04x\n",pINFOLIST);
pCBIOS = 0x0e600;
hregbc = GETSYSCFG; /* function = Get System Config */
hregde = HIGHSEG; /* addr of dest (must be high) */
diagnose(); /* invoke the NBIOS function */
pSYSCFG = HIGHSEG;
crtinit(pSYSCFG->cnfgdata.termtype);
crtclr();
crtlc(0,0);
printf("BANKER.COM %d/%d/%d v%d.%d.%d.%d",
A_MONTH,A_DAY,A_YEAR,A_RMJ,A_RMN,A_RUP,A_RTP);
printf(" dwg - Display Memory Bank Characteristics");
hregbc = 0x0f000;
hregde = 0x0c000;
diagnose();
pSYSCFG = 0x0C000;
crtlc(LINE+0,COL1);
crtlc(LINE+1,COL1);
printf("ROM Bank1");
crtlc(LINE+2,COL1);
printf("RMJ = %d",pSYSCFG->cnfgdata.rmj);
crtlc(LINE+3,COL1);
printf("RMN = %d",pSYSCFG->cnfgdata.rmn);
crtlc(LINE+4,COL1);
printf("RUP = %d",pSYSCFG->cnfgdata.rup);
crtlc(LINE+5,COL1);
printf("RTP = %d",pSYSCFG->cnfgdata.rtp);
crtlc(LINE+7,COL1);
varloc = pSYSCFG->varloc;
/* dregde = (unsigned int)varloc-0x200+0x0c000; */
dregde = (unsigned int)varloc+0x0c000;
dregbc = 9;
bdoscall();
crtlc(LINE+8,COL1);
/* tstloc = 0x0c000-0x0200+(unsigned int)pSYSCFG->tstloc; */
tstloc = 0x0c000+(unsigned int)pSYSCFG->tstloc;
memset(temp,0,sizeof(temp));
memcpy(temp,tstloc,11);
printf("%s",temp);
crtlc(LINE+1,COL2);
printf("CBIOS HDR");
crtlc(LINE+2,COL2);
printf("RMJ = %d",pCBIOS->rmj);
crtlc(LINE+3,COL2);
printf("RMN = %d",pCBIOS->rmn);
crtlc(LINE+4,COL2);
printf("RUP = %d",pCBIOS->rup);
crtlc(LINE+5,COL2);
printf("RTP = %d",pCBIOS->rtp);
/* */
crtlc(LINE+7,COL2);
varloc = pINFOLIST->varloc;
memset(temp,0,sizeof(temp));
memcpy(temp,varloc,sizeof(temp)-1);
for(i=0;i<sizeof(temp);i++) {
if('-' == temp[i]) {
if(0 != bFirst) {
temp[i] = 0;
} else {
bFirst = 1;
}
}
}
printf("%s",temp);
crtlc(LINE+8,COL2);
tstloc = pINFOLIST->tstloc;
memset(temp,0,sizeof(temp));
memcpy(temp,tstloc,11);
printf("%s",temp);
crtlc(LINE+1,COL3);
printf("BANKER.COM");
crtlc(LINE+2,COL3);
printf("RMJ = %d",A_RMJ);
crtlc(LINE+3,COL3);
printf("RMN = %d",A_RMN);
crtlc(LINE+4,COL3);
printf("RUP = %d",A_RUP);
crtlc(LINE+5,COL3);
printf("RTP = %d",A_RTP);
crtlc(LINE+8,COL3);
printf("%02d%02d%02d",A_YR,A_MONTH,A_DAY);
crtlc(23,0);
}
/*****************/
/* eof - cview.c */
/*****************/


View File

@@ -1,156 +0,0 @@
; banner.asm 9/5/2012 dwg - new version semantics - #.#.# (#)
maclib portab
maclib globals
maclib cpmbios
maclib cpmbdos
maclib bioshdr
maclib printers
maclib cpmappl
maclib applvers
cseg
; entered with argv in hl
public x$banner
x$banner:
shld argv
mov e,m ! inx h ! mov d,m ! inx h ! xchg ! shld xprog ! xchg
mov e,m ! inx h ! mov d,m ! inx h ! xchg ! shld xvers ! xchg
mov e,m ! inx h ! mov d,m ! inx h ! xchg ! shld xprod ! xchg
mov e,m ! inx h ! mov d,m ! inx h ! xchg ! shld xorig ! xchg
mov e,m ! inx h ! mov d,m ! inx h ! xchg ! shld xser ! xchg
mov e,m ! inx h ! mov d,m ! inx h ! xchg ! shld xnam ! xchg
printf '----------------------------------------'
print crlf
lhld xprog ! xchg ! mvi c,9 ! call BDOS
printf ' '
IF A$MONTH LT 10
conout ' '
ENDIF
IF A$DAY LT 10
conout ' '
ENDIF
lxi h,A$MONTH
call pr$d$word
conout '/'
lxi h,A$DAY
call pr$d$word
conout '/'
lxi h,A$YEAR
call pr$d$word
printf ' '
printf 'Version '
lxi h,A$RMJ
call pr$d$word
conout '.'
lxi h,A$RMN
call pr$d$word
conout '.'
lxi h,A$RUP
call pr$d$word
printf ' ('
lxi h,A$RTP
call pr$d$word
conout ')'
print crlf
printf 'S/N '
lhld xprod ! xchg ! mvi c,9 ! call BDOS
conout '-'
lhld xorig ! xchg ! mvi c,9 ! call BDOS
conout '-'
; print xser
lhld xser ! xchg ! mvi c,9 ! call BDOS
printf ' '
; printf 'All Rights Reserved'
printf 'Licensed under GPL3'
print crlf
printf 'Copyright (C) 2011-12'
lhld xnam ! xchg ! mvi c,9 ! call BDOS
print crlf
printf '----------------------------------------'
print crlf
ret
; entered with argv in hl
public x$sbanner
x$sbanner:
shld argv
mov e,m ! inx h ! mov d,m ! inx h ! xchg ! shld xprog ! xchg
mov e,m ! inx h ! mov d,m ! inx h ! xchg ! shld xvers ! xchg
mov e,m ! inx h ! mov d,m ! inx h ! xchg ! shld xprod ! xchg
mov e,m ! inx h ! mov d,m ! inx h ! xchg ! shld xorig ! xchg
mov e,m ! inx h ! mov d,m ! inx h ! xchg ! shld xser ! xchg
mov e,m ! inx h ! mov d,m ! inx h ! xchg ! shld xnam ! xchg
; printf '----------------------------------------'
; print crlf
lhld xprog ! xchg ! mvi c,9 ! call BDOS
printf ' '
IF A$MONTH LT 10
conout ' '
ENDIF
IF A$DAY LT 10
conout ' '
ENDIF
lxi h,A$MONTH
call pr$d$word
conout '/'
lxi h,A$DAY
call pr$d$word
conout '/'
lxi h,A$YEAR
call pr$d$word
printf ' '
printf 'Vers. '
lxi h,A$RMJ
call pr$d$word
conout '.'
lxi h,A$RMN
call pr$d$word
conout '.'
lxi h,A$RUP
call pr$d$word
printf ' ( '
lxi h,A$RTP
call pr$d$word
printf ') '
printf 'COPR Douglas Goodall Licensed w/GPLv3'
print crlf
ret
;----------------------------------------------------------------
argv ds 2
;----------------
xprog ds 2
xvers ds 2
xprod ds 2
xorig ds 2
xser ds 2
xnam ds 2
crlf db CR,LF,'$'
end
; eof - banner.asm


View File

@@ -1,4 +0,0 @@
/* banner.h */
extern sbanner();
extern banner();


View File

@@ -1,18 +0,0 @@
; banner.lib 7/19/2012 dwg - for 2.0.0.0 B22
; banner.lib 2/17/2012 dwg - review for release 1.5.1.0
; banner.lib 2/11/2012 dwg - banner library declarations
extrn x$banner
banner macro argv
lxi h,argv
call x$banner
endm
extrn x$sbanner
sbanner macro argv
lxi h,argv
call x$sbanner
endm
; eof - banner.lib


View File

@@ -1,71 +0,0 @@
; bdoscall.asm 3/10/2012 dwg - bdos binding for Aztec C
global drega_,1
global dregbc_,2
global dregde_,2
global dreghl_,2
PUBLIC lurst_
lurst_:
push b
push d
push h
push psw
mvi c,37
lxi d,127
lxi b,127
call 5
pop psw
pop h
pop d
pop b
RET
PUBLIC bdoscall_
bdoscall_:
push b
push d
push h
push psw
lhld dregbc_
mov b,h
mov c,l
lhld dregde_
mov d,h
mov e,l
lhld dreghl_
lda drega_
call 5
sta drega_
shld dreghl_
mov l,e
mov h,d
shld dregde_
mov l,c
mov h,b
shld dregbc_
pop psw
pop h
pop d
pop b
RET
END


View File

@@ -1,8 +0,0 @@
/* bdoscall.h 3/10/2012 dwg - header file for bdoscall */
extern char drega;
extern unsigned int dregbc;
extern unsigned int dregde;
extern unsigned int dreghl;
extern bdoscall();


View File

@@ -1,80 +0,0 @@
; bioscall.asm 3/10/2012 dwg - bios binding for Aztec C
global irega_,1
global iregbc_,2
global iregde_,2
global ireghl_,2
public getmeta_
getmeta_:
push psw
push b
push d
push h
lxi b,4
lxi d,0
call 0e61bh
lxi d,0
call 0e61eh
lxi d,11
call 0e621h
lxi d,80h
call 0e624h
call 0e627h
pop h
pop d
pop b
pop psw
ret
PUBLIC bioscall_
bioscall_:
push b
push d
push h
push psw
lhld iregbc_
mov b,h
mov c,l
lhld iregde_
mov d,h
mov e,l
lhld ireghl_
shld mycall+1
lda irega_
mycall: call 5
sta irega_
shld ireghl_
mov l,e
mov h,d
shld iregde_
mov l,c
mov h,b
shld iregbc_
pop psw
pop h
pop d
pop b
RET
END


View File

@@ -1,8 +0,0 @@
/* bioscall.h 3/10/2012 dwg - header file for bdoscall */
extern char irega;
extern unsigned int iregbc;
extern unsigned int iregde;
extern unsigned int ireghl;
extern bioscall();


View File

@@ -1,385 +0,0 @@
; biohdr.lib 2/19/2012 dwg - BIOS header display macros
; copyright (C) 2011 Douglas Goodall. All Rights Reserved.
; Licensed to N8VEM Community for non-commercial use only.
; 2/19/2012 dwg - review for release 1.5.1.0
; 2/05/2012 dwg - added DSKM (DM_ROM...) better late than never
; 2/05/2012 dwg - added prpsdenable,prpsdtrace, and prpsdcapacity
; 1/16/2012 dwg - extend LU numbers to 0x1C entries (256MB)
; 1/11/2012 dwg - added new setlu for 1.4 slice technique
; 12/18/2011 dwg - added REVISION (from svn)
; 12/07/2011 dwg - BIOS header enhancement for version 1.3
; Common Configuration items,
; Valid in all configurations
RMJ equ 0E64Bh
RMN equ RMJ+1
RUP equ RMN+1
RTP equ RUP+1
if 0
BANPTR equ RTP+1
DKMP equ BANPTR+2
DBBOOL equ DKMP+2 ; Disk Boot Boolean
DBDRV equ DBBOOL+1 ; Disk Boot Drive Code
FREQ equ DBDRV+1
PLAT equ FREQ+1 ; Hardware Platform
DIOPLT equ PLAT+1
VDUPLT equ DIOPLT+1
ROMSIZ equ VDUPLT+1
RAMSIZ equ ROMSIZ+2
CRAM equ RAMSIZ+2
DSKY equ CRAM+1 ; Is Display/Keyboard Attached?
UART equ DSKY+1 ; Is UART Enabled?
VDUEN equ UART+1
FDEN equ VDUEN+1 ; Is Floppy Disk Support Enabled
FDTR equ FDEN+1 ; Is Floppy Disk Error Tracing Enabled?
FMED equ FDTR+1 ; Floppy Disk Media Type
FALT equ FMED+1 ; Alternative Floppy Disk Media Type
FAUT equ FALT+1 ; Is Floppy Disk Automatic Sensing Enabled?
IDEN equ FAUT+1 ; Is On-Board IDE Support Enabled
IDTR equ IDEN+1
IDE8 equ IDTR+1
IDCP equ IDE8+1 ; 1/13/2012 IDE Capacity
PPEN equ IDCP+2 ; Is PPIDE Support Enablned?
PPTR equ PPEN+1 ; Is PPIDE Tracing Enabled?
PP8B equ PPTR+1
PPCP equ PP8B+1 ; 1/13/2012 PPIDE Capacity
PSLW equ PPCP+2 ; Use NOPs for recovery-time compensation
BTYP equ PSLW+1
BTTO equ BTYP+1
BTDF equ BTTO+1
BAUD equ BTDF+1 ; What is the Console Baud Rate
; Only Valid if PLATFORM == PLT_N8
CLKDIV equ BAUD+2 ; Z180_CLKDIV
MEMWAIT equ CLKDIV+1 ; Z180_MEMWAIT
IOWAIT equ MEMWAIT+1 ; Z180_IOWAIT
CNTLB0 equ IOWAIT+1 ; Z180_CNTLB0
CNTLB1 equ CNTLB0+1 ; Z180_CNTLB1
SDENABLE equ CNTLB1+1
SDTRACE equ SDENABLE+1
SDCP equ SDTRACE+1 ; 1/13/2012 SD Capacity
VDPTR equ SDCP+2 ; pointer to VDU Data
FDPTR equ VDPTR+2 ; pointer to FD Data
IDEPTR equ FDPTR+2 ; pointer to IDE Data
PPIPTR equ IDEPTR+2 ; pointer to PPIDE_DATA Data
PPIPTR2 equ PPIPTR+2 ; pointer to PPIDE.ASM DATA
DEFIO equ PPIPTR2+2 ; pointer to DEFIOBYTE
LDRC equ DEFIO+1 ; pointer to LDRCON
DBGC equ LDRC+1 ; pointer to DBGCON
TTYP equ DBGC+1 ; pointer to TERMTYPE
REV equ TTYP+1 ; subversion revision
TMDT equ REV+2 ; startup date and time
PSDE equ TMDT+6 ; prpsdenable
PSDT equ PSDE+1 ; prpsdtrace
PSDC equ PSDT+1 ; prpsdcapacity
PRCE equ PSDC+2
DSKM equ PRCE+1 ; DM_ROM...
DTSZ equ DSKM+1 ; DATASIZE
; LU0 LU1 LU2 LU3 LU4 LU5 LU6 LU7 LU8 LU9
; 41 82 c3 104 145 186 1c7 208 249 286
;
; LU10 LU11 LU12 LU13 LU14 LU15 LU16
; 2c7 308 349 38a 3cb 40c 44d
LU0 equ 0 ; 041h ; PPIDE1 offset for first slice (default)
LU1 equ 1 ; 082h ; PPIDE1 offset for second slice
LU2 equ 2 ; 0C3h ; PPIDE1 offset for third slice
LU3 equ 3 ; 104h ; PPIDE1 offset for fourth slice
LU4 equ 4 ; 145h ; PPIDE1 offset for fifth slice
LU5 equ 5 ; 186h ; PPIDE1 offset for sixth slice
LU6 equ 6 ; 1c7h ; PPIDE1 offset for seventh slice
LU7 equ 7 ; 208h ; PPIDE1 offset for eighth slice
LU8 equ 8 ; 249h ; PPIDE1 offset for ninth slice
LU9 equ 9 ; 286h ; PPIDE1 offset for tenth slice
LU10 equ 10
LU11 equ 11
LU12 equ 12
LU13 equ 13
LU14 equ 14
LU15 equ 15
LU16 equ 16
LU17 equ 17
LU18 equ 18
LU19 equ 19
LU20 equ 20
LU21 equ 21
LU22 equ 22
LU23 equ 23
LU24 equ 24
LU25 equ 25
LU26 equ 26 ; 0x1a
LU27 equ 27 ; 0x1b (1Cth entry)
endif
DRIVEB equ 1 ; 0=A, 1=B...
setlu13 macro offset
lxi h,PPIPTR2 ; set pointer to ppide.asm data
mov e,m ; dereference pointer
inx h
mov d,m ; de -> ppide.asm data
xchg ; hl -> ppide.asm data
lxi d,6 ; offset to offset
dad d ; hl -> offset in ppide.asm data
lxi d,offset ; load caller's parameter in de
mov m,e ; stuff LO offset byte into offset
inx h ; bump ptr
mov m,d ; stuff HO offset byte into offset
mvi c,13 ; BDOS DSKRESET
call 5 ; call BDOS
endm
getlu13 macro
lxi h,PPIPTR2 ; set pointer to ppide.asm data
mov e,m ; dereference pointer
inx h
mov d,m ; de -> ppide.asm data
xchg ; hl -> ppide.asm data
lxi d,6 ; offset to offset
dad d ; hl -> offset in ppide.asm data
mov e,m ; pick up LO byte of offset
inx h ; bump ptr
mov d,m ; pick up HO byte of offset
xchg ; hl = offset
endm
setlu14 macro offset
lxi h,PPIPTR2 ; set pointer to ppide.asm data
mov e,m ; dereference pointer
inx h
mov d,m ; de -> ppide.asm data
xchg ; hl -> ppide.asm data
lxi d,6 ; offset to offset
dad d ; hl -> offset in ppide.asm data
lxi d,offset ; load caller's parameter in de
mov m,e ; stuff LO offset byte into offset
inx h ; bump ptr
mov m,d ; stuff HO offset byte into offset
mvi c,13 ; BDOS DSKRESET
call 5 ; call BDOS
endm
getlu14 macro
lxi h,PPIPTR2 ; set pointer to ppide.asm data
mov e,m ; dereference pointer
inx h
mov d,m ; de -> ppide.asm data
xchg ; hl -> ppide.asm data
lxi d,6 ; offset to offset
dad d ; hl -> offset in ppide.asm data
mov e,m ; pick up LO byte of offset
inx h ; bump ptr
mov d,m ; pick up HO byte of offset
xchg ; hl = offset
endm
setlu macro drive,slice
local dontboth,msg,msg2
mvi c,drive
call BISELDSK
lxi d,16
dad d
mov a,m
cpi 'L'
jnz dontboth
inx h
mov a,m
cpi 'U'
jnz dontboth
inx h
mvi a,slice
mov m,a
print msg
mvi a,drive
adi 'A'
mov e,a
mvi c,2
call BDOS
print msg2
lxi h,slice
call pr$d$word
jmp dontboth
msg db CR,LF,'Drive $'
msg2 db ': set to Logical Unit (slice) $'
dontboth:
endm
xluset macro
local ldrive,lslice,dontboth,msg,msg2
; C = DRIVE
; A = SLICE
sta lslice
mov a,c
sta ldrive
call BISELDSK ; uses c parameter (drive)
lxi d,16
dad d
mov a,m
cpi 'L'
jnz dontboth
inx h
mov a,m
cpi 'U'
jnz dontboth
inx h
lda lslice
mov m,a ; put slice into CURRENT
; print msg
; lda ldrive
; adi 'A'
; mov e,a
; mvi c,2
; call BDOS
; print msg2
; lda lslice
; mov l,a
; mvi h,0
; call pr$d$word
jmp dontboth
msg db CR,LF,'Drive $'
msg2 db ': set to Logical Unit (slice) $'
ldrive db 0
lslice db 0
dontboth:
endm
hdrlit macro ptr,val,msg
local notval
lxi h,ptr
mvi a,val
cmp m
jnz notval
print msg
notval:
endm
hdrbool macro ptr,tmsg,fmsg
local itstrue,itsfalse,imdone
enter
lxi h,ptr
mov a,m
cpi TRUE
jnz itsfalse
lxi d,tmsg
jmp imdone
itsfalse: lxi d,fmsg
imdone: mvi c,PRINTSTR
call BDOS
leave
endm
hdrbyte macro ptr,msg
enter
mvi c,PRINTSTR
lxi d,msg
call BDOS
lxi h,ptr
mov a,m
call pr$h$byte
conout '('
mov e,m
mov d,0
xchg
call pr$d$word
conout ')'
leave
endm
hdrpbyte macro ptr,msg
enter
mvi c,PRINTSTR
lxi d,msg
call BDOS
lxi h,PTR
mov e,m
inx h
mov d,m
xchg
mov a,m
call pr$h$byte
; conout ' '
conout '('
mov e,m
mov d,0
xchg
call pr$d$word
conout ')'
leave
endm
hdrword macro ptr,msg
enter
mvi c,PRINTSTR
lxi d,msg
call BDOS
lxi h,ptr
inx h
mov a,m
call pr$h$byte
lxi h,ptr
mov a,m
call pr$h$byte
conout '('
lxi h,ptr
mov e,m
inx h
mov d,m
xchg
call pr$d$word
conout ')'
leave
endm
syncerr macro
print syncmsg
exit
endm
hdrvalid macro
local byte1ok,byte2ok
enter
lxi h,CFDA
mov a,m
cpi 0DAh
jz byte1ok
syncerr
byte1ok:
inx h
mov al,m
cpi 0CFh
jz byte2ok
syncerr
byte2ok:
leave
endm
; eof - bioshdr.lib


View File

@@ -1,39 +0,0 @@
/* cbanner.c 3/12/2012 dwg - */
#include "portab.h"
#include "globals.h"
#include "applvers.h"
char * lines = "----------------------------------------";
char * line1 = "12345678.123 mm/dd/yyyy Version x.x.x.x";
char * line2 = "S/N CPM80-DWG-654321 Licensed under GPL3";
char * line3 = "Copyright (C) 2011-12 Douglas W. Goodall";
sbanner(program)
char *program;
{
char szTemp[128];
printf("%s ",program);
printf("%d/%d/%d ",A_MONTH,A_DAY,A_YEAR);
printf("Version %d.%d.%d.%d ",A_RMJ,A_RMN,A_RUP,A_RTP);
printf("COPR Douglas Goodall Licensed w/GPLv3\n");
}
banner(program)
char *program;
{
char szTemp[128];
printf("%s\n",lines);
strcpy(szTemp,program);
while(12 > strlen(szTemp)) {
strcat(szTemp," ");
}
printf("%s ",szTemp);
printf("%d/%d/%d ",A_MONTH,A_DAY,A_YEAR);
printf("Version %d.%d.%d.%d\n",A_RMJ,A_RMN,A_RUP,A_RTP);
printf("%s\n",line2);
printf("%s\n",line3);
printf("%s\n",lines);
}

View File

@@ -1 +0,0 @@

View File

@@ -1,152 +0,0 @@
/* chars.c 6/7/2012 dwg - test command line arguments */
#include "stdio.h"
#include "portab.h"
#include "globals.h"
#include "std.h"
#include "cpm80.h"
#include "cpmappl.h"
#include "applvers.h"
#include "cnfgdata.h"
#include "syscfg.h"
#define TOP 0
#define LEFT 4
#define BDOS 5 /* memory address of BDOS invocation */
#define HIGHSEG 0x0C000 /* memory address of system config */
#define GETSYSCFG 0x0F000 /* HBIOS function for Get System Configuration */
struct SYSCFG * pSYSCFG = HIGHSEG;
char map[256] =
{
/* 0 1 2 3 4 5 6 7 8 9 A B C D E F */
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 0 */
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 1 */
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 2 */
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 3 0 - 9 */
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 4 A - O */
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 5 P - Z */
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 6 a - o */
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, /* 7 p - z */
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 8 */
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 9 */
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* A */
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* B 0 - 9 */
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* C A - O */
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* D P - Z */
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* E a - o */
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 /* F p - z */
};
char attroff[] = { 27, '[', 'm', 0 };
char attrbold[] = { 27, '[', '1', 'm', 0 };
char attrlow[] = { 27, '[', '2', 'm', 0 };
char attrundr[] = { 27, '[', '4', 'm', 0 };
char attrblnk[] = { 27, '[', '5', 'm', 0 };
char attrrevs[] = { 27, '[', '7', 'm', 0 };
char attrinvs[] = { 27, '[', '8', 'm', 0 };
char graphon[] = { 27, 'F', 0 };
char graphoff[] = { 27, 'G', 0 };
char atreset[] = "0";
char atbold[] = "1";
char atdim[] = "2";
char atundrscr[] = "4";
char atblink[] = "5";
char atrevs[] = "7";
char athidden[] = "8";
char fgblack[] = "30";
char fgred[] = "31";
char fggreen[] = "32";
char fgyellow[] = "33";
char fgblue[] = "34";
char fgmagenta[] = "35";
char fgcyan[] = "36";
char fgwhite[] = "37";
char bgblack[] = "40";
char bgred[] = "41";
char bggreen[] = "42";
char bgyellow[] = "43";
char bgblue[] = "44";
char bgmagenta[] = "45";
char bgcyan[] = "46";
char bgwhite[] = "47";
dispattr(attr,fg,bg)
char * attr;
char * fg;
char * bg;
{
printf("%c[%s;%s;%sm",27,attr,fg,bg);
}
int main(argc,argv)
int argc;
char *argv[];
{
int i,j,k;
int x,y;
if(1 < argc) {
for(i=1;i<argc;i++) {
printf("%c",atoi(argv[i]));
}
} else {
hregbc = GETSYSCFG; /* function = Get System Config */
hregde = HIGHSEG; /* addr of dest (must be high) */
diagnose(); /* invoke the NBIOS function */
pSYSCFG = HIGHSEG;
/* printf("TT is %d\n",pSYSCFG->cnfgdata.termtype); */
crtinit(pSYSCFG->cnfgdata.termtype);
crtclr();
crtlc(0,0);
dispattr(atbold,fggreen,bgblack);
banner("CHARS");
printf("%s",attroff);
dispattr(atbold,fgcyan,bgblack);
for(x=0;x<16;x++) {
crtlc(TOP+6,LEFT+(x*4)+5);
printf("[%x]",x);
}
printf("%s",attroff);
for(y=0;y<16;y++) {
crtlc(TOP+y+7,LEFT+0);
dispattr(atbold,fgcyan,bgblack);
printf("[%x]",y);
printf("%s",attroff);
for(x=0;x<16;x++) {
crtlc(TOP+y+7,LEFT+(x*4)+6);
if(1 == map[(y*16)+x]) {
printf(".");
} else {
printf("%c",(y*16)+x);
}
}
dispattr(atbold,fgcyan,bgblack);
printf(" [%x]",y);
printf("%s",attroff);
}
}
return 0;
}


View File

@@ -1,48 +0,0 @@
/* clear.c 11/23/2012 dwg - */
#include "portab.h"
#include "globals.h"
#include "stdio.h"
#include "stdlib.h"
#include "memory.h"
#include "applvers.h"
#include "n8chars.h"
#include "tms9918.h"
#include "std.h"
#include "ctermcap.h"
#include "cpmbdos.h"
#include "bdoscall.h"
#include "hbios.h"
#include "asmiface.h"
#include "diagnose.h"
#include "cnfgdata.h"
#include "syscfg.h"
#include "cpmbind.h"
#include "infolist.h"
#include "metadata.h"
#include "clogical.h"
#define HIGHSEG 0x0C000 /* memory address of system config */
#define GETSYSCFG 0x0F000 /* HBIOS function for Get System Configuration */
struct CNFGDATA * pCNFGDATA;
struct SYSCFG * pSYSCFG;
int main(argc,argv)
int argc;
char *argv[];
{
char column;
hregbc = GETSYSCFG; /* function = Get System Config */
hregde = HIGHSEG; /* addr of dest (must be high) */
diagnose(); /* invoke the NBIOS function */
pSYSCFG = HIGHSEG;
crtinit(pSYSCFG->cnfgdata.termtype);
crtclr();
crtlc(0,0);
}


View File

@@ -1,57 +0,0 @@
/* clogical.c 6/4/2012 dwg - */
#include "portab.h"
#include "cpmbios.h"
#include "asmiface.h"
lugcur(drive)
{
asmif(pGETLU,drive,0,0);
return xregde;
}
lugnum(drive)
{
asmif(pGETLU,drive,0,0);
return xreghl;
}
lugdu(drive)
{
asmif(pGETLU,drive,0,0);
return xregbc>>8;
}
luscur(drive,lunum)
{
asmif(pGETLU,drive,0,0);
/* A = Result 0=OK */
/* B = devunit */
/* DE = current */
/* HL = numlu */
/* BC = devunit*256+drive */
/* DE = current */
/* HL = numlu */
asmif(pSETLU,xregbc,lunum,xreghl);
}
lusnum(drive,numlu)
{
asmif(pGETLU,drive,0,0);
/* A = Result 0=OK */
/* B = devunit */
/* DE = current */
/* HL = numlu */
/* BC = devunit*256+drive */
/* DE = current */
/* HL = numlu */
asmif(pSETLU,xregbc,xregde,numlu);
}
/********************/
/* eof - clogical.c */
/********************/


View File

@@ -1,14 +0,0 @@
/*****************************/
/* clogical.H 6/4/2012 dwg - */
/*****************************/
extern lugdu();
extern lugcur();
extern luscur();
extern lugnum();
extern lusnum();
/********************/
/* eof - clogical.h */
/********************/


View File

@@ -1,127 +0,0 @@
/* cls.c 7/21/2012 dwg - elegant form of clear screen program */
/*
#include "stdio.h"
#include "applvers.h"
*/
/* declarations for HBIOS access */
extern char hrega;
extern unsigned int hregbc;
extern unsigned int hregde;
extern unsigned int hreghl;
extern diagnose();
/* declaration dir BIOS and BDOS and low level calls */
extern char xrega;
extern unsigned int xregbc;
extern unsigned int xregde;
extern unsigned int xreghl;
extern asmif(); /* asmif(0x0E6**,bc,de,hl); */
#define BDOS 5 /* memory address of BDOS invocation */
#define HIGHSEG 0x0C000 /* memory address of system config */
#define GETSYSCFG 0x0F000 /* HBIOS function for Get System Configuration */
/* pointer based Configuration Data structure */
struct CNFGDATA {
unsigned char rmj;
unsigned char rmn;
unsigned char rup;
unsigned char rtp;
unsigned char diskboot;
unsigned char devunit;
unsigned int bootlu;
unsigned char hour;
unsigned char minute;
unsigned char second;
unsigned char month;
unsigned char day;
unsigned char year;
unsigned char freq;
unsigned char platform;
unsigned char dioplat;
unsigned char vdumode;
unsigned int romsize;
unsigned int ramsize;
unsigned char clrramdk;
unsigned char dskyenable;
unsigned char uartenable;
unsigned char vduenable;
unsigned char fdenable;
unsigned char fdtrace;
unsigned char fdmedia;
unsigned char fdmediaalt;
unsigned char fdmauto;
unsigned char ideenable;
unsigned char idetrace;
unsigned char ide8bit;
unsigned int idecapacity;
unsigned char ppideenable;
unsigned char ppidetrace;
unsigned char ppide8bit;
unsigned int ppidecapacity;
unsigned char ppideslow;
unsigned char boottype;
unsigned char boottimeout;
unsigned char bootdefault;
unsigned int baudrate;
unsigned char ckdiv;
unsigned char memwait;
unsigned char iowait;
unsigned char cntlb0;
unsigned char cntlb1;
unsigned char sdenable;
unsigned char sdtrace;
unsigned int sdcapacity;
unsigned char sdcsio;
unsigned char sdcsiofast;
unsigned char defiobyte;
unsigned char termtype;
unsigned int revision;
unsigned char prpsdenable;
unsigned char prpsdtrace;
unsigned int prpsdcapacity;
unsigned char prpconenable;
unsigned int biossize;
unsigned char pppenable;
unsigned char pppsdenable;
unsigned char pppsdtrace;
unsigned int pppsdcapacity;
unsigned char pppconenable;
unsigned char prpenable;
};
struct JMP {
unsigned char opcode; /* JMP opcode */
unsigned int address; /* JMP address */
};
struct SYSCFG {
struct JMP jmp;
void * cnfloc;
void * tstloc;
void * varloc;
struct CNFGDATA cnfgdata;
char filler[256-3-2-2-2-sizeof(struct CNFGDATA)];
} * pSYSCFG = HIGHSEG;
main(argc,argv)
int argc;
char *argv[];
{
hregbc = GETSYSCFG; /* function = Get System Config */
hregde = HIGHSEG; /* addr of dest (must be high) */
diagnose(); /* invoke the HBIOS function */
crtinit(pSYSCFG->cnfgdata.termtype); /* pass termtype to init */
crtclr();
crtlc(0,0);
}


View File

@@ -1,53 +0,0 @@
/* cmemory.c 3/13/2012 dwg - */
#include "portab.h"
/* #include "cpmbind.h" */
memcmp(xptr,yptr,count)
u8 * xptr;
u8 * yptr;
int count;
{
u8 * x;
u8 * y;
int i;
x = xptr;
y = yptr;
for(i=0;i<count;i++) {
if(*x++ != *y++) return FALSE;
}
return TRUE;
}
memcpy(dstptr,srcptr,count)
u8 * dstptr;
u8 * srcptr;
int count;
{
u8 * s;
u8 * d;
int i;
s = srcptr;
d = dstptr;
for(i=0;i<count;i++) {
*d++ = *s++;
}
}
memset(dstptr,data,count)
u8 * dstptr;
u8 data;
u16 count;
{
u8 * p;
int i;
p = dstptr;
for(i=0;i<count;i++) {
*p++ = data;
}
}


View File

@@ -1,58 +0,0 @@
/* metadata.c 6/10/2012 dwg - functions for manipulating a drive's metadata */
#include "portab.h"
#include "globals.h"
#include "cpmbios.h"
#include "bioscall.h"
#include "sectorio.h"
#include "infolist.h"
#include "dphmap.h"
int hasmeta(drive)
int drive;
{
ireghl = pGETINFO;
bioscall();
pINFOLIST = ireghl;
pDPHVEC = pINFOLIST->dphmap;
pDPH = pDPHVEC[drive]
pDPB = pDPH->dpb;
if(0 < pDPB->off) {
return TRUE;
} else {
return FALSE;
}
}
int getmeta(drive,buffer)
int drive;
struct METADATA * buffer;
{
if(TRUE == hasmeta(drive)) {
rdsector(drive,track,sector,buffer,0);
return SUCCESS;
} else {
return FAILURE;
}
}
int putmeta(drive,buffer)
int drive;
struct METADATA * buffer;
{
if(TRUE == hasmeta(drive)) {
wrsector(drive,track,sector,buffer,0);
return SUCCESS;
} else {
return FAILURE;
}
}
/********************/
/* eof - metadata.c */
/********************/


View File

@@ -1,140 +0,0 @@
/* cnfgdata.h 6/04/2012 dwg - */
struct CNFGDATA {
unsigned char rmj;
unsigned char rmn;
unsigned char rup;
unsigned char rtp;
unsigned int revision;
unsigned char diskboot;
unsigned char devunit;
unsigned int bootlu;
unsigned char year;
unsigned char month;
unsigned char day;
unsigned char hour;
unsigned char minute;
unsigned char second;
unsigned char platform;
unsigned char freq;
unsigned int ramsize;
unsigned int romsize;
unsigned char ckdiv;
unsigned char memwait;
unsigned char iowait;
unsigned char cntlb0;
unsigned char cntlb1;
unsigned char boottype;
unsigned char boottimeout;
unsigned char bootdefault;
unsigned char defcon;
unsigned char altcon;
unsigned int conbaud;
unsigned char defvda;
unsigned char defemu;
unsigned char termtype;
unsigned char defiobyte;
unsigned char altiobyte;
unsigned char wrtcache;
unsigned char dsktrace;
unsigned char dskmap;
unsigned char clrramdsk;
unsigned char dskyenable;
unsigned char uartenable;
unsigned char uartcnt;
unsigned char uart0iob;
unsigned int uart0baud; /* actual baudrate / 10 */
unsigned char uart0fifo;
unsigned char uart0afc;
unsigned char uart1iob;
unsigned int uart1baud; /* actual baudrate / 10 */
unsigned char uart1fifo;
unsigned char uart1afc;
unsigned char uart2iob;
unsigned int uart2baud; /* actual baudrate / 10 */
unsigned char uart2fifo;
unsigned char uart2afc;
unsigned char uart3iob;
unsigned int uart3baud; /* actual baudrate / 10 */
unsigned char uart3fifo;
unsigned char uart3afc;
unsigned char ascienable;
unsigned int asci0baud; /* actual baudrate / 10 */
unsigned int asci1baud; /* actual baudrate / 10 */
unsigned char vduenable;
unsigned char cvduenable;
unsigned char upd7220enable;
unsigned char n8venable;
unsigned char fdenable;
unsigned char fdmode;
unsigned char fdtrace;
unsigned char fdmedia;
unsigned char fdmediaalt;
unsigned char fdmauto;
unsigned char ideenable;
unsigned char idemode;
unsigned char idetrace;
unsigned char ide8bit;
unsigned int idecapacity;
unsigned char ppideenable;
unsigned char ppideiob;
unsigned char ppidetrace;
unsigned char ppide8bit;
unsigned int ppidecapacity;
unsigned char ppideslow;
unsigned char sdenable;
unsigned char sdmode;
unsigned char sdtrace;
unsigned int sdcapacity;
unsigned char sdcsiofast;
unsigned char prpenable;
unsigned char prpsdenable;
unsigned char prpsdtrace;
unsigned int prpsdcapacity;
unsigned char prpconenable;
unsigned char pppenable;
unsigned char pppsdenable;
unsigned char pppsdtrace;
unsigned int pppsdcapacity;
unsigned char pppconenable;
unsigned char hdskenable;
unsigned char hdsktrace;
unsigned int hdskcapacity;
unsigned char ppkenable;
unsigned char ppktrace;
unsigned char kbdenable;
unsigned char kbdtrace;
unsigned char ttyenable;
unsigned char ansienable;
unsigned char ansitrace;
};
/********************/
/* eof - cnfgdata.h */
/********************/


View File

@@ -1,210 +0,0 @@
; cnfgdata.lib 7/19/2012 dwg -
byte equ 1
word equ 2
;; /* cnfgdata.h 6/04/2012 dwg - */
;;
;; struct CNFGDATA {
;; unsigned char rmj;
cfgrmj equ 08009h
;;
;; unsigned char rmn;
cfgrmn equ cfgrmj + byte
;;
;; unsigned char rup;
cfgrup equ cfgrmn + byte
;;
;; unsigned char rtp;
cfgrtp equ cfgrup + byte
;;
;; unsigned char diskboot;
diskboot equ cfgrtp + byte
;;
;; unsigned char devunit;
devunit equ diskboot + byte
;;
;; unsigned int bootlu;
bootlu equ devunit + byte
;;
;; unsigned char hour;
hour equ bootlu + word
;;
;; unsigned char minute;
minute equ hour + byte
;;
;; unsigned char second;
second equ minute + byte
;;
;; unsigned char month;
month equ second + byte
;;
;; unsigned char day;
day equ month + byte
;;
;; unsigned char year;
year equ day + byte
;;
;; unsigned char freq;
freq equ year + byte
;;
;; unsigned char platform;
platform equ freq+ byte
;;
;; unsigned char dioplat;
dioplat equ platform + byte
;;
;; unsigned char vdumode;
vdumode equ dioplat + byte
;;
;; unsigned int romsize;
romsize equ vdumode + byte
;;
;; unsigned int ramsize;
ramsize equ romsize + word
;;
;; unsigned char clrramdk;
clrramdk equ ramsize + word
;;
;; unsigned char dskyenable;
dskyenable equ clrramdk + byte
;;
;; unsigned char uartenable;
uartenable equ dskyenable + byte
;;
;; unsigned char vduenable;
vduenable equ uartenable + byte
;;
;; unsigned char fdenable;
fdenable equ vduenable + byte
;;
;; unsigned char fdtrace;
fdtrace equ fdenable + byte
;;
;; unsigned char fdmedia;
fdmedia equ fdtrace + byte
;;
;; unsigned char fdmediaalt;
fdmediaalt equ fdmedia + byte
;;
;; unsigned char fdmauto;
fdmauto equ fdmediaalt + byte
;;
;; unsigned char ideenable;
ideenable equ fdmauto + byte
;;
;; unsigned char idetrace;
idetrace equ ideenable + byte
;;
;; unsigned char ide8bit;
ide8bit equ idetrace + byte
;;
;; unsigned int idecapacity;
idecapacity equ ide8bit + byte
;;
;; unsigned char ppideenable;
ppideenable equ idecapacity + word
;;
;; unsigned char ppidetrace;
ppidetrace equ ppideenable + byte
;;
;; unsigned char ppide8bit;
ppide8bit equ ppidetrace + byte
;;
;; unsigned int ppidecapacity;
ppidecapacity equ ppide8bit + byte
;;
;; unsigned char ppideslow;
ppideslow equ ppidecapacity + word
;;
;; unsigned char boottype;
boottype equ ppideslow + byte
;;
;; unsigned char boottimeout;
boottimeout equ boottype + byte
;;
;; unsigned char bootdefault;
bootdefault equ boottimeout + byte
;;
;; unsigned int baudrate;
baudrate equ bootdefault + byte
;;
;; unsigned char ckdiv;
ckdiv equ baudrate + word
;;
;; unsigned char memwait;
memwait equ ckdiv + byte
;;
;; unsigned char iowait;
iowait equ memwait + byte
;;
;; unsigned char cntlb0;
cntlb0 equ iowait + byte
;;
;; unsigned char cntlb1;
cntlb1 equ cntlb0 + byte
;;
;; unsigned char sdenable;
sdenable equ cntlb1 + byte
;;
;; unsigned char sdtrace;
sdtrace equ sdenable + byte
;;
;; unsigned int sdcapacity;
sdcapacity equ sdtrace + byte
;;
;; unsigned char sdcsio;
sdcsio equ sdcapacity + word
;;
;; unsigned char sdcsiofast;
sdcsiofast equ sdcsio + byte
;;
;; unsigned char defiobyte;
defiobyte equ sdcsiofast + byte
;;
;; unsigned char termtype;
termtype equ defiobyte + byte
;;
;; unsigned int revision;
revision equ termtype + byte
;;
;; unsigned char prpsdenable;
prpsdenable equ revision + word
;;
;; unsigned char prpsdtrace;
prpsdtrace equ prpsdenable + byte
;;
;; unsigned int prpsdcapacity;
prpsdcapacity equ prpsdtrace + byte
;;
;; unsigned char prpconenable;
prpconenable equ prpsdcapacity + word
;;
;; unsigned int biossize;
biossize equ prpconenable + byte
;;
;; unsigned char pppenable;
pppenable equ biossize + word
;;
;; unsigned char pppsdenable;
pppsdenable equ pppenable + byte
;;
;; unsigned char pppsdtrace;
pppsdtrace equ pppsdenable + byte
;;
;; unsigned int pppsdcapacity;
pppsdcapacity equ pppsdtrace + byte
;;
;; unsigned char pppconenable;
pppconenable equ pppsdcapacity + word
;;
;; unsigned char prpenable;
prpenable equ pppconenable + byte
;;
;; };
;;
;; /********************/
;; /* eof - cnfgdata.h */
;; /********************/


View File

@@ -1,80 +0,0 @@
/* convert.c 7/11/2012 dwg -
The purpose of this program is similar to the CP/M dump program
except that in addition to the normal hexadecimal bytes, a field
of ascii bytes to the right are displayed as well.
*/
#include "stdio.h"
char visible[256] = {
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 00 */
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 10 */
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* 20 */
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* 30 */
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* 40 */
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* 50 */
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* 60 */
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, /* 70 */
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 80 */
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 90 */
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* A0 */
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* B0 */
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* C0 */
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* D0 */
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* E0 */
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* F0 */
};
#include "cvt2h.h"
unsigned char sector[32767];
main(argc,argv)
int argc;
char *argv[];
{
int i,j;
int offset;
int result;
unsigned char byte;
char name[32];
FILE * fd;
for(i=0;i<sizeof(sector);i++) sector[i] = 0;
banner("DUMP.COM");
/* cvt2h(0x0100,12*1024,"dumpcomh.h"); */
if(1 == argc) {
printf("Sorry, no input file specified");
exit(1);
}
fd = fopen(argv[1],"r");
if(NULL == fd) {
printf("Sorry, cannot open input file");
exit(1);
}
printf("Converting %s\n\n",argv[1]);
result = fread(sector,32767,1,fd);
for(i=32767;i>0;i--) {
if(sector[i] != 0) break;
}
sprintf(name,"sect%04x.h",0);
cvt2h(sector,i,name);
fclose(fd);
exit(0);
}


View File

@@ -1,195 +0,0 @@
/* cpmbios.h 3/11/2012 dwg - added CURDRV */
/*************************/
/* BIOS Memory Locations */
/*************************/
#define CURDRV 0x00004
#define BIOSAD 0x0e600
#define pBOOT 0x0E600
#define pWBOOT 0x0E603
#define pCONST 0x0E606
#define pCONIN 0x0E609
#define pCONOUT 0x0E60C
#define pLIST 0x0E60F
#define pPUNCH 0x0E612
#define pREADER 0x0E615
#define pHOME 0x0E618
#define pSELDSK 0x0E61B
#define pSETTRK 0x0E61E
#define pSETSEC 0x0E621
#define pSETDMA 0x0E624
#define pREAD 0x0E627
#define pWRITE 0x0E62A
#define pLISTST 0x0E62D
#define pSECTRN 0x0E630
#define pBNKSEL 0x0E633
#define pGETLU 0x0E636
#define pSETLU 0x0E639
#define pGETINFO 0x0E63C
struct JMP {
unsigned char opcode;
unsigned int address;
};
struct BIOS {
struct JMP boot;
struct JMP wboot;
struct JMP const;
struct JMP conin;
struct JMP conout;
struct JMP list;
struct JMP punch;
struct JMP reader;
struct JMP home;
struct JMP seldsk;
struct JMP settrk;
struct JMP setsec;
struct JMP setdma;
struct JMP read;
struct JMP write;
struct JMP listst;
struct JMP sectrn;
struct JMP bnksel;
struct JMP getlu;
struct JMP setlu;
struct JMP getinfo;
struct JMP rsvd1;
struct JMP rsvd2;
struct JMP rsvd3;
struct JMP rsvd4;
char diskboot;
char bootdrive;
char rmj;
char rmn;
char rup;
char rtp;
};
struct DPH {
unsigned int xlt;
unsigned int rv1;
unsigned int rv2;
unsigned int rv3;
unsigned int dbf;
unsigned int dpb;
unsigned int csv;
unsigned int alv;
unsigned char sigl;
unsigned char sigu;
unsigned int current;
unsigned int number;
};
struct DPB {
unsigned int spt;
unsigned char bsh;
unsigned char blm;
unsigned char exm;
unsigned int dsm;
unsigned int drm;
unsigned char al0;
unsigned char al1;
unsigned int cks;
unsigned int off;
};
/* bioscall.h 3/10/2012 dwg - header file for bdoscall */
extern char irega;
extern unsigned int iregbc;
extern unsigned int iregde;
extern unsigned int ireghl;
extern bioscall();
/* bdoscall.h 3/10/2012 dwg - header file for bdoscall */
extern char drega;
extern unsigned int dregbc;
extern unsigned int dregde;
extern unsigned int dreghl;
extern bdoscall();
/* diagnose.h 5/23/2012 dwg - */
extern char hrega;
extern unsigned int hregbc;
extern unsigned int hregde;
extern unsigned int hreghl;
extern diagnose();
/* ctermcap.h 3/11/2012 dwg - declarations for termal capability */
extern crtinit();
extern crtclr();
extern crtlc();
/* cpmbdos.h */
#define TERMCPM 0
#define CONIN 1
#define CWRITE 2
#define DIRCONIO 6
#define PRINTSTR 9
#define RDCONBUF 10
#define GETCONST 11
#define RETVERNUM 12
#define RESDISKSYS 13
#define SELECTDISK 14
#define FOPEN 15
#define FCLOSE 16
#define SEARCHFIRST 17
#define SEARCHNEXT 18
#define FDELETE 19
#define FREADSEQ 20
#define FWRITESEQ 21
#define FMAKEFILE 22
#define FRENAME 23
#define RETLOGINVEC 24
#define RETCURRDISK 25
#define SETDMAADDR 26
#define GETALLOCVEC 27
#define WRPROTDISK 28
#define GETROVECTOR 29
#define FSETATTRIB 30
#define GETDPBADDR 31
#define SETGETUSER 32
#define FREADRANDOM 33
#define FWRITERAND 34
#define FCOMPSIZE 35
#define SETRANDREC 36
#define RESETDRIVE 37
#define WRRANDFILL 38
#define DRIVEA 0
/* dphmap.h 5/29/2012 dwg - declaration of DPH MAP structure */
struct DPHMAP {
struct DPH * drivea;
struct DPH * driveb;
struct DPH * drivec;
struct DPH * drived;
struct DPH * drivee;
struct DPH * drivef;
struct DPH * driveg;
struct DPH * driveh;
} * pDPHMAP;
struct DPHMAP * pDPHVEC[MAXDRIVE];
/******************/
/* eof - dphmap.h */
/******************/
/*****************/
/* eof - cpm80.h */
/*****************/


View File

@@ -1,8 +0,0 @@
/* cpmappl.h */
extern banner();
/*******************/
/* eof - cpmappl.h */
/*******************/


View File

@@ -1,82 +0,0 @@
; cpmappl.lib 2/10/2012 dwg - begin 1.6 development
; cpmappl.lib 2/04/2012 dwg - fix typo mov becomes mvi
; cpmappl.lib 2/ 2/2012 dwg - initial version
;
; Copyright (C) 2011-2012 Douglas Goodall Licensed under GPL Ver 3.
;
; This file is part of NuBiosDWG and is free software: you can
; redistribute it and/or modify it under the terms of the GNU
; General Public License as published by the Free Software Foundation,
; either version 3 of the License, or (at your option) any later version.
; This file is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
; GNU General Public License for more details.
; You should have received a copy of the GNU General Public License
; along with it. If not, see <http://www.gnu.org/licenses/>.
;
do$start macro
start: jmp begin
public hexref
hexref db '0123456789ABCDEF'
public id$sig,id$rmj,id$rmn,id$rup,id$rtp,id$mon,id$day,id$yr
id$sig db 'ID'
id$rmj db A$RMJ
id$rmn db A$RMN
id$rup db A$RUP
id$rtp db A$RTP
id$mon db A$MONTH
id$day db A$DAY
id$yr dw A$YEAR
id$argv dw argv
db 0e5h
public pre$stk
pre$stk ds 2
public begin
begin: lxi h,0
dad sp
shld pre$stk
lxi sp,stack$top
nop
endm
;---------------------------------
do$end macro
lhld pre$stk
sphl
mvi c,13
call BDOS
ret
ds stack$size
stack$top:
endm
movfcb macro destn,source
lxi d,destn
lxi h,source
lxi b,LENFCB
ldir
endm
copyfcb macro fcbname,source
local around
jmp around
fcbname ds 32
around:
endm


View File

@@ -1,53 +0,0 @@
#define TERMCPM 0
#define CONIN 1
#define CWRITE 2
#define DIRCONIO 6
#define PRINTSTR 9
#define RDCONBUF 10
#define GETCONST 11
#define RETVERNUM 12
#define RESDISKSYS 13
#define SELECTDISK 14
#define FOPEN 15
#define FCLOSE 16
#define SEARCHFIRST 17
#define SEARCHNEXT 18
#define FDELETE 19
#define FREADSEQ 20
#define FWRITESEQ 21
#define FMAKEFILE 22
#define FRENAME 23
#define RETLOGINVEC 24
#define RETCURRDISK 25
#define SETDMAADDR 26
#define GETALLOCVEC 27
#define WRPROTDISK 28
#define GETROVECTOR 29
#define FSETATTRIB 30
#define GETDPBADDR 31
#define SETGETUSER 32
#define FREADRANDOM 33
#define FWRITERAND 34
#define FCOMPSIZE 35
#define SETRANDREC 36
#define RESETDRIVE 37
#define WRRANDFILL 38
#define BDOSDEFDR 0 /* BDOS Default (current) Drive Number */
#define BDOSDRA 1
#define BDOSDRB 2
#define BDOSDRC 3
#define BDOSDRD 4
#define BDOSDRE 5
#define BDOSDRF 6
#define BDOSDRG 7
#define BDOSDRH 8
struct FCB {
char drive;
char filename[8];
char filetype[3];
char filler[24];
};


View File

@@ -1,174 +0,0 @@
; cpmbdos.lib 1/19/2012 dwg - add READ$CON$BUF (10)
; cpmbdos.lib 1/15/2012 dwg - add more functions
;
; Copyright (C) 2011-2012 Douglas Goodall Licensed under GPL Ver 3.
;
; This file is part of NuBiosDWG and is free software: you can
; redistribute it and/or modify it under the terms of the GNU
; General Public License as published by the Free Software Foundation,
; either version 3 of the License, or (at your option) any later version.
; This file is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
; GNU General Public License for more details.
; You should have received a copy of the GNU General Public License
; along with it. If not, see <http://www.gnu.org/licenses/>.
;
; BDOS function codes
TERMCPM equ 0 ; return to command line
CREAD equ 1 ; read a character
CWRITE equ 2 ; write a character
PRINTSTR equ 9 ; print string
READ$CON$BUF equ 10 ; read console buffer
RETVERNO equ 12 ; return version number
DSKRESET equ 13 ; disk reset
SELDSK equ 14 ; select disk
FOPEN equ 15 ; open file
FCLOSE equ 16 ; close file
FDELETE equ 19 ; delete file
READSEQ equ 20 ; read sequential
WRITESEQ equ 21 ; write sequential
FMAKE equ 22 ; make file
FRENAME equ 23 ; rename file
RETCURR equ 25 ; return current disk, 0=a
SETDMA equ 26 ; set dma address
WRITERAND equ 34 ; write random record
FCOMPSIZE equ 35 ; compute file size
SETRANDREC equ 36 ; set random record
RESETDRIVE equ 37 ; reset drive
WRITERANDZF equ 40 ; write random with zero fill
OEMID equ 0E5h
; File Control Block
DR$OFS equ 0
F1$OFS equ DR$OFS+BYTESIZE
F2$OFS equ F1$OFS+BYTESIZE
F3$OFS equ F2$OFS+BYTESIZE
F4$OFS equ F3$OFS+BYTESIZE
F5$OFS equ F4$OFS+BYTESIZE
F6$OFS equ F5$OFS+BYTESIZE
F7$OFS equ F6$OFS+BYTESIZE
F8$OFS equ F7$OFS+BYTESIZE
T1$OFS equ F8$OFS+BYTESIZE
T2$OFS equ T1$OFS+BYTESIZE
T3$OFS equ T2$OFS+BYTESIZE
EX$OFS equ T3$OFS+BYTESIZE
S1$OFS equ EX$OFS+BYTESIZE
S2$OFS equ S1$OFS+BYTESIZE
RC$OFS equ S2$OFS+BYTESIZE
D0$OFS equ RC$OFS+BYTESIZE
CR$OFS equ DR$OFS+32
R0$OFS equ CR$OFS+BYTESIZE
R1$OFS equ R0$OFS+BYTESIZE
R2$OFS equ R1$OFS+BYTESIZE
FCB$LEN equ R2$OFS+BYTESIZE
; Memory Locations
BDOS equ 5 ; entry point fo BDOS function calls
PRIFCB equ 5Ch ; primary file control block address
SECFCB equ 6Ch ; secondary file control block address
LENFCB equ 32 ; length of file control block
DEFBUF equ 80h ; address of default buffer
EXIT macro
mvi c,TERMCPM
call BDOS
endm
conin macro
push b ; save context B&C
push d ; save context D&E
push h ; save context H&L
mvi c,CREAD ; set up for console input BDOS call
call BDOS ; call BDOS function entry point
pop h ; restore context H&L
pop d ; restore context D&E
pop b ; restore context B&C
endm
conout macro char
enter ; save all context regs
mvi c,CWRITE ; set for console output BDOS call
mvi e,char ; place output character in E as required
call bdos ; call BDOS function entry point
leave ; restore all context regs
endm
conouta macro
enter
mvi c,CWRITE
mov e,a
call bdos
leave
endm
PRINT macro addr
enter
mvi c,PRINTSTR
lxi d,addr
call BDOS
leave
endm
PTRPRT macro addr
enter ; save all context registers
lxi h,addr ; load the address parameter into H&L
mov e,m ; pick up LO byte of new pointer
inx h ; bump index register
mov d,m ; pick up HO byte of new pointer
mvi c,PRINTSTR ; assembled pointer used for printstring call
call BDOS
leave ; restore all context registers
endm
movfcb macro destn,source
lxi d,destn
lxi h,source
lxi b,LENFCB
ldir
endm
copyfcb macro fcbname,source
local around
jmp around
fcbname ds 32
around:
endm
printf macro parmdata
local around
local string
print string
jmp around
string db parmdata
db '$'
around:
endm
printmsg macro parmdata
enter
local around
local string
print string
jmp around
string db parmdata
db '$'
around:
leave
endm
newfcb macro fcbname,drive,filename
fcbname db drive,filename
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
endm
; eof - cpmbdos.lib


View File

@@ -1,684 +0,0 @@
/* cpmbind.h 5/21/2012 dwg - added b1f0peek and b1f0poke */
/* cpmbind.h 3/16/2012 dgw - created */
#define CR 0x0d
#define LF 0x0a
#define ESC 27
#define BIOSAD 0x0e600
#define pTermType 0x0E679
/*************************/
/* BIOS Memory Locations */
/*************************/
#define CURDRV 0x00004
#define BIOSAD 0x0e600
#define pBOOT 0x0E600
#define pWBOOT 0x0E603
#define pCONST 0x0E606
#define pCONIN 0x0E609
#define pCONOUT 0x0E60C
#define pLIST 0x0E60F
#define pPUNCH 0x0E612
#define pREADER 0x0E615
#define pHOME 0x0E618
#define pSELDSK 0x0E61B
#define pSETTRK 0x0E61E
#define pSETSEC 0x0E621
#define pSETDMA 0x0E624
#define pREAD 0x0E627
#define pWRITE 0x0E62A
#define pLISTST 0x0E62D
#define pSECTRN 0x0E630
#define pBNKSEL 0x0E633
#define pGETLU 0x0E636
#define pSETLU 0x0E639
#define pGETINFO 0x0E63C
#define pB1F0PEEK 0x0E63F
#define pB1F0POKE 0x0E642
/*
struct JMP {
unsigned char opcode;
unsigned int address;
};
struct BIOS {
struct JMP boot;
struct JMP wboot;
struct JMP const;
struct JMP conin;
struct JMP conout;
struct JMP list;
struct JMP punch;
struct JMP reader;
struct JMP home;
struct JMP seldsk;
struct JMP settrk;
struct JMP setsec;
struct JMP setdma;
struct JMP read;
struct JMP write;
struct JMP listst;
struct JMP sectrn;
struct JMP bnksel;
struct JMP getlu;
struct JMP setlu;
struct JMP getinfo;
struct JMP b1f0peek;
struct JMP b1f0poke;
struct JMP res1;
struct JMP res2;
char rmj;
char rmn;
char rup;
char rtp;
char diskboot;
char bootdrive;
char timedate[6];
char cpufreq;
char platform;
char dioplat;
char vduplt;
unsigned int romsize;
unsigned int ramsize;
char clrramdisk;
char dskyenable;
char uartenable;
char vduenable;
char fdenable;
char fdtrace;
char fdmedia;
char fdmediaalt;
char fdmauto;
char ideenable;
char idetrace;
char ide8bit;
unsigned int idecapacity;
char ppideenable;
char ppidetrace;
char ppide8bit;
unsigned int ppidecapacity;
char ppideslow;
char boottype;
char boot_timeout;
char boot_default;
unsigned int baudrate;
char clkdiv;
char memwait;
char iowait;
char cntlb0;
char cntlb1;
char sdenable;
char sdtrace;
unsigned int sdcapacity;
char sdcsio;
char sdcsiofast;
char defiobyte;
char termtype;
unsigned int revision;
char prpsdenable;
char prpsdtrace;
char prpsdcapacity;
char prpconenable;
unsigned int biossize;
};
*/
/*
*/
/* bioscall.h 3/10/2012 dwg - header file for bdoscall */
extern char irega;
extern unsigned int iregbc;
extern unsigned int iregde;
extern unsigned int ireghl;
extern bioscall();
/*********************/
/* BDOS Declarations */
/*********************/
#define TERMCPM 0
#define CONIN 1
#define CWRITE 2
#define DIRCONIO 6
#define PRINTSTR 9
#define RDCONBUF 10
#define GETCONST 11
#define RETVERNUM 12
#define RESDISKSYS 13
#define SELECTDISK 14
#define FOPEN 15
#define FCLOSE 16
#define SEARCHFIRST 17
#define SEARCHNEXT 18
#define FDELETE 19
#define FREADSEQ 20
#define FWRITESEQ 21
#define FMAKEFILE 22
#define FRENAME 23
#define RETLOGINVEC 24
#define RETCURRDISK 25
#define SETDMAADDR 26
#define GETALLOCVEC 27
#define WRPROTDISK 28
#define GETROVECTOR 29
#define FSETATTRIB 30
#define GETDPBADDR 31
#define SETGETUSER 32
#define FREADRANDOM 33
#define FWRITERAND 34
#define FCOMPSIZE 35
#define SETRANDREC 36
#define RESETDRIVE 37
#define WRRANDFILL 38
#define DRIVEA 0
/* bdoscall.h 3/10/2012 dwg - header file for bdoscall */
extern char drega;
extern unsigned int dregbc;
extern unsigned int dregde;
extern unsigned int dreghl;
extern bdoscall();
/* std.h 3/11/2012 dwg - c version of std.asm */
#define TERM_TTY 0
#define TERM_ANSI 1
#define TERM_WYSE 2
#define TERM_VT52 3
#define DEV_MD 0x00
#define DEV_FD 0x10
#define DEV_IDE 0x20
#define DEV_ATAPI 0x30
#define DEV_PPIDE 0x40
#define DEV_SD 0x50
#define DEV_PRPSD 0x60
#define DEV_PPPSD 0x70
#define DEV_HDSK 0x80
#define PLT_N8VEM 1
#define PLT_ZETA 2
#define PLT_N8 3
/*
; std.lib 2/21/2012 dwg - added TERM$VT52
; TRUE equ 1
; FALSE equ 00
;
; PRIMARY HARDWARE PLATFORMS
; PLT$N8VEM equ 1 ; N8VEM ECB Z80 SBC
; PLT$ZETA equ 2 ; ZETA Z80 SBC
; PLT$N8 equ 3 ; N8 (HOME COMPUTER) Z180 SBC
;
; BOOT STYLE
; BT$MENU equ 1 ; WAIT FOR MENU SELECTION AT LOADER PROMPT
; BT$AUTO equ 2 ; AUTO SELECT BOOT$DEFAULT AFTER BOOT$TIMEOUT
;
; VDU PLATFORM SELECTIONS
;
;
; VDUPLT$NONE equ 0 ; NO VDU
; VDUPLT$VDU equ 1 ; ORIGINAL ECB VDU (6545 CHIP)
; VDUPLT$VDUC equ 2 ; ECB VDU COLOR (PENDING HARDWARE DEVELOPMENT)
; VDUPLT$PROPIO equ 3 ; ECB PROPIO (NOT IMPLEMENTED)
; VDUPLT$N8 equ 4 ; N8 ONBOARD VIDEO SUBSYSTEM (NOT IMPLEMENTED)
;
; RAM DISK INITIALIZATION OPTIONS
; CLR$NEVER equ 0 ; NEVER CLEAR RAM DISK
; CLR$AUTO equ 1 ; CLEAR RAM DISK IF INVALID DIR ENTRIES
; CLR$ALWAYS equ 2 ; ALWAYS CLEAR RAM DISK
;
;
; ; DISK MAP SELECTION OPTIONS
;
; DM$ROM equ 1 ; ROM DRIVE PRIORITY
; DM$RAM equ 2 ; RAM DRIVE PRIORITY
; DM$FD equ 3 ; FLOPPY DRIVE PRIORITY
; DM$IDE equ 4 ; IDE DRIVE PRIORITY
; DM$PPIDE equ 5 ; PPIDE DRIVE PRIORITY
; DM$SD equ 6 ; SD DRIVE PRIORITY
; DM$PRPSD equ 7 ; PROPIO SD DRIVE PRIORITY
;
;
; ; FLOPPY DISK MEDIA SELECTIONS (ID'S MUST BE INDEX OF ENTRY IN FCD$TBL)
;
;
; FDM720 equ 0 ; 3.5" FLOPPY, 720KB, 2 SIDES, 80 TRKS, 9 SECTORS
; FDM144 equ 1 ; 3.5" FLOPPY, 1.44MB, 2 SIDES, 80 TRKS, 18 SECTORS
; FDM360 equ 2 ; 5.25" FLOPPY, 360KB, 2 SIDES, 40 TRKS, 9 SECTORS
; FDM120 equ 3 ; 3.5" FLOPPY, 1.2MB, 2 SIDES, 80 TRKS, 15 SECTORS
;
;
; ; DISK PLATFORM SELECTIONS
;
; DIOPLT$NONE equ 0 ; NO DISK IO HARDWARE
; DIOPLT$DISKIO equ 1 ; N8VEM ECB DISK IO BOARD
; DIOPLT$ZETA equ 2 ; ZETA BUILT-IN DISK IO SECTION
; DIOPLT$DIDE equ 3 ; N8VEM ECB DUAL IDE W/ FLOPPY BOARD
; DIOPLT$N8 equ 4 ; N8 BUILT-IN DISK IO SECTION
; DIOPLT$DISKIO3 equ 5 ; N8VEM ECB DISK IO V3 BOARD
;
; CONSOLE DEVICE CHOICES FOR LDRCON AND DBGCON IN CONFIG SETTINGS
;
; CON$UART equ 1
; CON$VDU equ 2
; CON$PRP equ 3
;
; CONSOLE TERMINAL TYPE CHOICES
;
TERM$TTY equ 0
TERM$ANSI equ 1
TERM$WYSE equ 2
TERM$VT52 equ 3
;
;
; ; SYSTEM GENERATION SETTINGS
;
; SYS$CPM equ 1 ; CPM (IMPLIES BDOS + CCP)
; SYS$ZSYS equ 2 ; ZSYSTEM OS (IMPLIES ZSDOS + ZCPR)
;
; DOS$BDOS equ 1 ; BDOS
; DOS$ZDDOS equ 2 ; ZDDOS VARIANT OF ZSDOS
; DOS$ZSDOS equ 3 ; ZSDOS
;
; CP$CCP equ 1 ; CCP COMMAND PROCESSOR
; CP$ZCPR equ 2 ; ZCPR COMMAND PROCESSOR
;
; CONFIGURE DOS (DOS) AND COMMAND PROCESSOR (CP) BASED ON SYSTEM SETTING (SYS)
;
;
; #IFNDEF BLD$SYS
; SYS equ SYS$CPM
; #ELSE
; SYS equ BLD$SYS
; #ENDIF
;
; #IF (SYS == SYS$CPM)
; DOS equ DOS$BDOS
; CP equ CP$CCP
; #DEFINE OSLBL "CP/M-80 2.2C"
; #ENDIF
;
; #IF (SYS == SYS$ZSYS)
; DOS equ DOS$ZSDOS
; CP equ CP$ZCPR
; #DEFINE OSLBL "ZSYSTEM (ZSDOS 1.2, ZCPR 1.0)"
; #ENDIF
;
;
; ; INCLUDE VERSION AND BUILD SETTINGS
;
; #INCLUDE "ver.inc" ; ADD BIOSVER
;
;
; #INCLUDE "build.inc" ; INCLUDE USER CONFIG, ADD VARIANT, TIMESTAMP, & ROMSIZE
;
;
; #IF (PLATFORM NE PLT$N8)
;
;
; ; N8VEM HARDWARE IO PORT ADDRESSES AND MEMORY LOCATIONS
; MPCL$RAM equ 78H ; BASE IO ADDRESS OF RAM MEMORY PAGER CONFIGURATION LATCH
; MPCL$ROM equ 7CH ; BASE IO ADDRESS OF ROM MEMORY PAGER CONFIGURATION LATCH
;
;
; ; HARDWARE INTERFACES
;
; PIO 82C55 I/O IS DECODED TO PORT 60-67
; PIOA equ 60H ; PORT A
; PIOB equ 61H ; PORT B
; PIOC equ 62H ; PORT C
; PIOX equ 63H ; PIO CONTROL PORT
;
; 16C550 SERIAL LINE UART
;
; SIO$BASE equ 68H
; SIO$RBR equ SIO$BASE + 0 ; DLAB=0: RCVR BUFFER REG (READ ONLY)
; SIO$THR equ SIO$BASE + 0 ; DLAB=0: XMIT HOLDING REG (WRITE ONLY)
; SIO$IER equ SIO$BASE + 1 ; DLAB=0: INT ENABLE REG
; SIO$IIR equ SIO$BASE + 2 ; INT IDENT REGISTER (READ ONLY)
; SIO$FCR equ SIO$BASE + 2 ; FIFO CONTROL REG (WRITE ONLY)
; SIO$LCR equ SIO$BASE + 3 ; LINE CONTROL REG
; SIO$MCR equ SIO$BASE + 4 ; MODEM CONTROL REG
; SIO$LSR equ SIO$BASE + 5 ; LINE STATUS REG
; SIO$MSR equ SIO$BASE + 6 ; MODEM STATUS REG
; SIO$SCR equ SIO$BASE + 7 ; SCRATCH REGISTER
; SIO$DLL equ SIO$BASE + 0 ; DLAB=1: DIVISOR LATCH (LS)
; SIO$DLM equ SIO$BASE + 1 ; DLAB=1: DIVISOR LATCH (MS)
; #ENDIF ; (PLATFORM NE PLT$N8)
;
;
; #IF (PLATFORM NE PLT$N8)
;
;
; ; Z180 REGISTERS
;
;
; CPU$IOBASE equ 40H ; ONLY RELEVANT FOR Z180
; CPU$CNTLA0 equ CPU$IOBASE+$00 ;ASCI0 control A
; CPU$CNTLA1 equ CPU$IOBASE+$01 ;ASCI1 control A
; CPU$CNTLB0 equ CPU$IOBASE+$02 ;ASCI0 control B
; CPU$CNTLB1 equ CPU$IOBASE+$03 ;ASCI1 control B
; CPU$STAT0 equ CPU$IOBASE+$04 ;ASCI0 status
; CPU$STAT1 equ CPU$IOBASE+$05 ;ASCI1 status
; CPU$TDR0 equ CPU$IOBASE+$06 ;ASCI0 transmit
; CPU$TDR1 equ CPU$IOBASE+$07 ;ASCI1 transmit
; CPU$RDR0 equ CPU$IOBASE+$08 ;ASCI0 receive
; CPU$RDR1 equ CPU$IOBASE+$09 ;ASCI1 receive
; CPU$CNTR equ CPU$IOBASE+$0A ;CSI/O control
; CPU$TRDR equ CPU$IOBASE+$0B ;CSI/O transmit/receive
; CPU$TMDR0L equ CPU$IOBASE+$0C ;Timer 0 data lo
; CPU$TMDR0H equ CPU$IOBASE+$0D ;Timer 0 data hi
; CPU$RLDR0L equ CPU$IOBASE+$0E ;Timer 0 reload lo
; CPU$RLDR0H equ CPU$IOBASE+$0F ;Timer 0 reload hi
; CPU$TCR equ CPU$IOBASE+$10 ;Timer control
; CPU$ASEXT0 equ CPU$IOBASE+$12 ;ASCI0 extension control (Z8S180)
; CPU$ASEXT1 equ CPU$IOBASE+$13 ;ASCI1 extension control (Z8S180)
; CPU$TMDR1L equ CPU$IOBASE+$14 ;Timer 1 data lo
; CPU$TMDR1H equ CPU$IOBASE+$15 ;Timer 1 data hi
; CPU$RLDR1L equ CPU$IOBASE+$16 ;Timer 1 reload lo
; CPU$RLDR1H equ CPU$IOBASE+$17 ;Timer 1 reload hi
; CPU$FRC equ CPU$IOBASE+$18 ;Free running counter
; CPU$ASTC0L equ CPU$IOBASE+$1A ;ASCI0 Time constant lo (Z8S180)
; CPU$ASTC0H equ CPU$IOBASE+$1B ;ASCI0 Time constant hi (Z8S180)
; CPU$ASTC1L equ CPU$IOBASE+$1C ;ASCI1 Time constant lo (Z8S180)
; CPU$ASTC1H equ CPU$IOBASE+$1D ;ASCI1 Time constant hi (Z8S180)
; CPU$CMR equ CPU$IOBASE+$1E ;Clock multiplier (latest Z8S180)
; CPU$CCR equ CPU$IOBASE+$1F ;CPU control (Z8S180)
; CPU$SAR0L equ CPU$IOBASE+$20 ;DMA0 source addr lo
; CPU$SAR0H equ CPU$IOBASE+$21 ;DMA0 source addr hi
; CPU$SAR0B equ CPU$IOBASE+$22 ;DMA0 source addr bank
; CPU$DAR0L equ CPU$IOBASE+$23 ;DMA0 dest addr lo
; CPU$DAR0H equ CPU$IOBASE+$24 ;DMA0 dest addr hi
; CPU$DAR0B equ CPU$IOBASE+$25 ;DMA0 dest addr bank
; CPU$BCR0L equ CPU$IOBASE+$26 ;DMA0 byte count lo
; CPU$BCR0H equ CPU$IOBASE+$27 ;DMA0 byte count hi
; CPU$MAR1L equ CPU$IOBASE+$28 ;DMA1 memory addr lo
; CPU$MAR1H equ CPU$IOBASE+$29 ;DMA1 memory addr hi
; CPU$MAR1B equ CPU$IOBASE+$2A ;DMA1 memory addr bank
; CPU$IAR1L equ CPU$IOBASE+$2B ;DMA1 I/O addr lo
; CPU$IAR1H equ CPU$IOBASE+$2C ;DMA1 I/O addr hi
; CPU$IAR1B equ CPU$IOBASE+$2D ;DMA1 I/O addr bank (Z8S180)
; CPU$BCR1L equ CPU$IOBASE+$2E ;DMA1 byte count lo
; CPU$BCR1H equ CPU$IOBASE+$2F ;DMA1 byte count hi
; CPU$DSTAT equ CPU$IOBASE+$30 ;DMA status
; CPU$DMODE equ CPU$IOBASE+$31 ;DMA mode
; CPU$DCNTL equ CPU$IOBASE+$32 ;DMA/WAIT control
; CPU$IL equ CPU$IOBASE+$33 ;Interrupt vector load
; CPU$ITC equ CPU$IOBASE+$34 ;INT/TRAP control
; CPU$RCR equ CPU$IOBASE+$36 ;Refresh control
; CPU$CBR equ CPU$IOBASE+$38 ;MMU common base register
; CPU$BBR equ CPU$IOBASE+$39 ;MMU bank base register
; CPU$CBAR equ CPU$IOBASE+$3A ;MMU common/bank area register
; CPU$OMCR equ CPU$IOBASE+$3E ;Operation mode control
; CPU$ICR equ $3F ;I/O control register (not relocated)
;
; N8 ONBOARD I/O REGISTERS
; N8$IOBASE equ $80
; PIO equ N8$IOBASE+$00
; PIOA equ PIO+$00 ; PORT A
; PIOB equ PIO+$01 ; PORT B
; PIOC equ PIO+$02 ; PORT C
; PIOX equ PIO+$03 ; PIO CONTROL PORT
; PIO2 equ N8$IOBASE+$04
; PIO2A equ PIO2+$00 ; PORT A
; PIO2B equ PIO2+$01 ; PORT B
; PIO2C equ PIO2+$02 ; PORT C
; PIO2X equ PIO2+$03 ; PIO CONTROL PORT
;
; RTC equ N8$IOBASE+$08 ;RTC latch and buffer
; FDC equ N8$IOBASE+$0C ;Floppy disk controller
; UTIL equ N8$IOBASE+$10 ;Floppy disk utility
; ACR equ N8$IOBASE+$14 ;auxillary control register
; RMAP equ N8$IOBASE+$16 ;ROM page register
; VDP equ N8$IOBASE+$18 ;Video Display Processor (TMS9918A)
; PSG equ N8$IOBASE+$1C ;Programmable Sound Generator (AY-3-8910)
;
; DEFACR equ $1B
;
; #ENDIF
;
;
; ; CHARACTER DEVICE FUNCTIONS
;
;
; CF$INIT equ 0
; CF$IN equ 1
; CF$IST equ 2
; CF$OUT equ 3
; CF$OST equ 4
;
; DISK OPERATIONS
; DOP$READ equ 0 ; READ OPERATION
; DOP$WRITE equ 1 ; WRITE OPERATION
; DOP$FORMAT equ 2 ; FORMAT OPERATION
; DOP$READID equ 3 ; READ ID OPERATION
;
; DISK DRIVER FUNCTIONS
; DF$READY equ 1
; DF$SELECT equ 2
; DF$READ equ 3
; DF$WRITE equ 4
; DF$FORMAT equ 5
;
; DISK DEVICES (ONLY FIRST NIBBLE RELEVANT, SECOND NIBBLE MUST BE ZERO)
; DEV$MD equ 000H
; DEV$FD equ 010H
; DEV$IDE equ 020H
; DEV$ATAPI equ 030H
; DEV$PPIDE equ 040H
; DEV$SD equ 050H
; DEV$PRPSD equ 060H
;
; IMG$START equ 00000H ; IMMUTABLE: ROM IMAGE AREA START
; IMG$END equ 08000H ; IMMUTABLE: ROM IMAGE AREA END
;
; PG0$LOC equ 00000H ; IMMUTABLE
; PG0$SIZ equ 00100H ; IMMUTABLE
; PG0$END equ PG0$LOC + PG0$SIZ
; PG0$IMG equ IMG$START ; IMMUTABLE
; LDR$LOC equ PG0$END
; LDR$SIZ equ 02000H - PG0$SIZ ; CONFIGURABLE
; LDR$END equ LDR$LOC + LDR$SIZ
; LDR$IMG equ PG0$IMG + PG0$SIZ
; CPM$LOC equ 0D000H ; CONFIGURABLE: LOCATION OF CPM FOR RUNNING SYSTEM
; CPM$END equ 10000H ; IMMUTABLE: TOP OF MEMORY
; CPM$SIZ equ CPM$END - CPM$LOC ; SIZE OF CPM IMAGE (CCP + BDOS + CBIOS (INCLUDING DATA))
; CPM$ENT equ CPM$LOC + 01600H ; IMMUTABLE: CPM ENTRY POINT
; CPM$IMG equ LDR$IMG + LDR$SIZ ; START OF CONCATENATED CPM IMAGE
; DAT$SIZ equ DATASIZE ; FROM CONFIG FILE
; DAT$END equ CPM$END
; DAT$LOC equ DAT$END - DAT$SIZ
; BIOS$LOC equ CPM$ENT
; BIOS$END equ DAT$LOC
; BIOS$SIZ equ DAT$LOC - CPM$ENT
; MON$IMG equ CPM$IMG + CPM$SIZ ; LOCATION OF MONITOR BINARY IMAGE IN ROM
; MON$LOC equ 08000H ; LOCATION OF MONITOR FOR RUNNING SYSTEM
; MON$SIZ equ 01000H ; SIZE OF MONITOR BINARY IMAGE
; MON$END equ MON$LOC + MON$SIZ
; MON$DSKY equ MON$LOC ; MONITOR ENTRY (DSKY)
; MON$UART equ MON$LOC + 3 ; MONITOR ENTRY (UART)
; ROMX$LOC equ MON$IMG + MON$SIZ ; LOCATION OF ROM EXTENSION CODE
;
;
; ROMX$SIZ equ 02000H ; FIXED
; ROMX$END equ ROMX$LOC + ROMX$SIZ
;
;
; VDU$LOC equ ROMX$LOC + 0 ; LOCATION OF ROM VDU DRIVER
;
;
; CBIOS$BOOT equ BIOS$LOC + 0
; CBIOS$WBOOT equ BIOS$LOC + 3
; CBIOS$CONST equ BIOS$LOC + 6
; CBIOS$CONIN equ BIOS$LOC + 9
; CBIOS$CONOUT equ BIOS$LOC + 12
; CBIOS$LIST equ BIOS$LOC + 15
; CBIOS$PUNCH equ BIOS$LOC + 18
; CBIOS$READER equ BIOS$LOC + 21
; CBIOS$HOME equ BIOS$LOC + 24
; CBIOS$SELDSK equ BIOS$LOC + 27
; CBIOS$SETTRK equ BIOS$LOC + 30
; CBIOS$SETSEC equ BIOS$LOC + 33
; CBIOS$SETDMA equ BIOS$LOC + 36
; CBIOS$READ equ BIOS$LOC + 39
; CBIOS$WRITE equ BIOS$LOC + 42
; CBIOS$LISTST equ BIOS$LOC + 45
; CBIOS$SECTRN equ BIOS$LOC + 48
;
; MEMORY CONFIGURATION
;
; MSIZE equ 59 ; CP/M VERSION MEMORY SIZE IN KILOBYTES
;
; "BIAS" IS ADDRESS OFFSET FROM 3400H FOR MEMORY SYSTEMS
; ; THAN 16K (REFERRED TO AS "B" THROUGHOUT THE TEXT)
;
; BIAS equ (MSIZE-20)*1024
; CCP equ 3400H+BIAS ; BASE OF CCP
; BDOS equ CCP+806H ; BASE OF BDOS
; BIOS equ CCP+1600H ; BASE OF BIOS
; CCPSIZ equ 00800H
;
; #IF (PLATFORM == PLT$N8VEM)
;
;
; ; #DEFINE PLATFORM$NAME "N8VEM Z80 SBC"
;
;
; ; #ENDIF
;
;
; ; #IF (PLATFORM == PLT$ZETA)
; ; #DEFINE PLATFORM$NAME "ZETA Z80 SBC"
; ; #ENDIF
;
;
; ; #IF (PLATFORM == PLT$N8)
; ; #DEFINE PLATFORM$NAME "N8 Z180 SBC"
; ; #ENDIF
;
; #IF (DSKYENABLE)
; ; #DEFINE DSKYLBL ", DSKY"
; ; #ELSE
; ; #DEFINE DSKYLBL ""
; ; #ENDIF
;
; #IF (VDUENABLE)
; #DEFINE VDULBL ", VDU"
; #ELSE
; #DEFINE VDULBL ""
; #ENDIF
;
; #IF (DIOPLT NE DIOPLT$NONE)
;
;
; #IF (DIOPLT EQ DIOPLT$DISKIO)
; #DEFINE DIOLBL ", DISKIO"
; #ENDIF
;
;
; #IF (DIOPLT EQ DIOPLT$ZETA)
; #DEFINE DIOLBL ""
; #ENDIF
;
;
; #IF (DIOPLT EQ DIOPLT$DIDE)
; #DEFINE DIOLBL ", DUALIDE"
; #ENDIF
;
;
; #IF (DIOPLT EQ DIOPLT$N8)
; #DEFINE DIOLBL ""
; #ENDIF
;
; #IF (DIOPLT EQ DIOPLT$DISKIO3)
; #DEFINE DIOLBL ", DISKIO-V3"
; #ENDIF
;
; #ELSE
; #DEFINE DIOLBL ""
; #ENDIF
;
;
; ; #ENDIF
;
;
; #IF (FDENABLE)
; #IF (FDMAUTO)
; #DEFINE FDLBL ", FLOPPY (AUTOSIZE)"
; #ELSE
; #IF (FDMEDIA == FDM720)
; #DEFINE FDLBL ", FLOPPY (720KB)"
; #ENDIF
; #IF (FDMEDIA == FDM144)
; #DEFINE FDLBL ", FLOPPY (1.44MB)"
; #ENDIF
; #ENDIF
; #ELSE
; #DEFINE FDLBL ""
; #ENDIF
;
;
; #IF (IDEENABLE)
; #DEFINE IDELBL ", IDE"
; #ELSE
; #DEFINE IDELBL ""
; #ENDIF
;
;
; #IF (PPIDEENABLE)
; #DEFINE PPIDELBL ", PPIDE"
; #ELSE
; #DEFINE PPIDELBL ""
; #ENDIF
;
; #IF (SDENABLE)
; #DEFINE SDLBL ", SD CARD"
; #ELSE
; #DEFINE SDLBL ""
; #ENDIF
;
;
; #IF (PRPSDENABLE)
; #DEFINE PRPSDLBL ", PROPIO SD CARD"
; #ELSE
; #DEFINE PRPSDLBL ""
; #ENDIF
;
;
; ; .ECHO "Configuration: "
; ; .ECHO PLATFORM$NAME
; ; .ECHO DSKYLBL
; ; .ECHO VDULBL
; ; .ECHO DIOLBL
; ; .ECHO FDLBL
; ; .ECHO IDELBL
; ; .ECHO PPIDELBL
; ; .ECHO SDLBL
; ; .ECHO PRPSDLBL
; ; .ECHO "\n"
; ;
;
; eof - std.lib
*/


View File

@@ -1,104 +0,0 @@
/* cpmbios.h 6/ 4/2012 dwg - added bootlu */
/* cpmbios.h 3/11/2012 dwg - added CURDRV */
/*************************/
/* BIOS Memory Locations */
/*************************/
#define CURDRV 0x00004
#define BIOSAD 0x0e600
#define pBOOT 0x0E600
#define pWBOOT 0x0E603
#define pCONST 0x0E606
#define pCONIN 0x0E609
#define pCONOUT 0x0E60C
#define pLIST 0x0E60F
#define pPUNCH 0x0E612
#define pREADER 0x0E615
#define pHOME 0x0E618
#define pSELDSK 0x0E61B
#define pSETTRK 0x0E61E
#define pSETSEC 0x0E621
#define pSETDMA 0x0E624
#define pREAD 0x0E627
#define pWRITE 0x0E62A
#define pLISTST 0x0E62D
#define pSECTRN 0x0E630
#define pBNKSEL 0x0E633
#define pGETLU 0x0E636
#define pSETLU 0x0E639
#define pGETINFO 0x0E63C
struct JMP {
unsigned char opcode;
unsigned int address;
};
struct BIOS {
struct JMP boot;
struct JMP wboot;
struct JMP const;
struct JMP conin;
struct JMP conout;
struct JMP list;
struct JMP punch;
struct JMP reader;
struct JMP home;
struct JMP seldsk;
struct JMP settrk;
struct JMP setsec;
struct JMP setdma;
struct JMP read;
struct JMP write;
struct JMP listst;
struct JMP sectrn;
struct JMP bnksel;
struct JMP getlu;
struct JMP setlu;
struct JMP getinfo;
struct JMP rsvd1;
struct JMP rsvd2;
struct JMP rsvd3;
struct JMP rsvd4;
/* char diskboot;
char bootdrive;
int bootlu; */
char rmj;
char rmn;
char rup;
char rtp;
};
struct DPH {
unsigned int xlt;
unsigned int rv1;
unsigned int rv2;
unsigned int rv3;
unsigned int dbf;
unsigned int dpb;
unsigned int csv;
unsigned int alv;
unsigned char sigl;
unsigned char sigu;
unsigned int current;
unsigned int number;
};
struct DPB {
unsigned int spt;
unsigned char bsh;
unsigned char blm;
unsigned char exm;
unsigned int dsm;
unsigned int drm;
unsigned char al0;
unsigned char al1;
unsigned int cks;
unsigned int off;
};


View File

@@ -1,137 +0,0 @@
; cpmbios.lib 2/20/2012 dwg - get$off, get$drm, and get$spt need c=drvnum
; cpmbios.lib 12/26/2011 dwg -
; Copyright (C) 2011-2012 Douglas Goodall All Rights Reserved.
; For non-commercial use by N8VEM community
XLT$OFS equ 0 ; Translate Table
RV1$OFS equ XLT$OFS+WORDSIZE ; Reserved Field 1
RV2$OFS equ RV1$OFS+WORDSIZE ; Reserved Field 2
RV3$OFS equ RV2$OFS+WORDSIZE ; Reserved Field 3
DBF$OFS equ RV3$OFS+WORDSIZE ; Directory Buffer
DPB$OFS equ DBF$OFS+WORDSIZE ; Diskk Parameter Block Pointer
CSV$OFS equ DPB$OFS+WORDSIZE ; Checksum Vector
ALV$OFS equ CSV$OFS+WORDSIZE ; Allocation Vector
DPH$LEN equ ALV$OFS+WORDSIZE ; size of normal DPH
LU1$OFS equ ALV$OFS+WORDSIZE ; Logical Unit Signature Byte 1 'L'
LU2$OFS equ LU1$OFS+BYTESIZE ; Logical Unit Signature Byte 2 'U'
CUR$OFS equ LU2$OFS+BYTESIZE ; Current Logical Unit (default)
NLU$OFS equ CUR$OFS+WORDSIZE ; Number of LU's (capacity/9)
SPT$OFS equ 0 ; Sectors Per Track
BSH$OFS equ SPT$OFS+WORDSIZE ; Block Shift Factor
BLM$OFS equ BSH$OFS+BYTESIZE ; Data Allocation Block Mask
EXM$OFS equ BLM$OFS+BYTESIZE ; Extend Mask
DSM$OFS equ EXM$OFS+BYTESIZE ; Disk Size Max
DRM$OFS equ DSM$OFS+WORDSIZE ; Number of Directory Entries
AL0$OFS equ DRM$OFS+WORDSIZE ; Allocation bitmask for directories
AL1$OFS equ AL0$OFS+BYTESIZE ; Allocation bitmask for directories
CKS$OFS equ AL1$OFS+BYTESIZE ; Size of Directory Check Vector
OFF$OFS equ CKS$OFS+WORDSIZE ; Number of Reserved Tracks
DPB$LEN equ OFF$OFS+WORDSIZE ; Disk Parameter Block Length
; BIOS Memory Locations
BIBOOT equ 0E600h
BIWBOOT equ 0E603h
BICONST equ 0E606h
BICONIN equ 0E609h
BICONOUT equ 0E60Ch
BILIST equ 0E60Fh
BIPUNCH equ 0E612h
BIREADER equ 0E615h
BIHOME equ 0E618h
BISELDSK equ 0E61Bh
BISETTRK equ 0E61Eh
BISETSEC equ 0E621h
BISETDMA equ 0E624h
BIREAD equ 0E627h
BIWRITE equ 0E62Ah
BILISTST equ 0E62Dh
BISECTRN equ 0E630h
; These are rel zero drive number for talking to the BIOS
; BDOS typically uses rel one drive codes
BIDRVA equ 0
BIDRVB equ 1
BIDRVC equ 2
BIDRVD equ 3
BIDRVE equ 4
BIDRVF equ 5
BIDRVG equ 6
BIDRVH equ 7
; On entry: c=drive number
get$spt macro
push psw
push b
push d
call BISELDSK
lxi d,DPB$OFS
dad d
mov e,m
inx h
mov d,m
xchg
lxi d,SPT$OFS
dad d
mov e,m
inx h
mov d,m
xchg
pop d
pop b
pop psw
endm
; On entry: c=drive number
get$drm macro
push psw
push b
push d
call BISELDSK
lxi d,DPB$OFS
dad d
mov e,m
inx h
mov d,m
xchg
lxi d,DRM$OFS
dad d
mov e,m
inx h
mov d,m
xchg
pop d
pop b
pop psw
endm
; On entry, c=drive number
get$off macro
push psw
push b
push d
call BISELDSK
lxi d,DPB$OFS
dad d
mov e,m
inx h
mov d,m
xchg
lxi d,OFF$OFS
dad d
mov e,m
inx h
mov d,m
xchg
pop d
pop b
pop psw
endm
; eof - cpmbios.lib


View File

@@ -1,286 +0,0 @@
/* cpmname.c 5/21/2012 dwg - */
#include "applvers.h"
#include "infolist.h"
#include "cnfgdata.h"
#include "syscfg.h"
#include "diagnose.h"
#include "std.h"
#define HIGHSEG 0xC000 /* memory address of system config */
#define GETSYSCFG 0xF000 /* HBIOS function for Get System Configuration */
char None[] = "*None*";
char Unk[] = "*Unknown*";
char * PltName[] = {None, "N8VEM Z80", "ZETA Z80", "N8 Z180"};
char * CIOName[] = {"UART", "ASCI", "VDU", "CVDU", "UPD7220",
"N8V", "PRPCON", "PPPCON", Unk, Unk, Unk, Unk, Unk,
"CRT", "BAT", "NUL"};
char * DIOName[] = {"MD", "FD", "IDE", "ATAPI", "PPIDE",
"SD", "PRPSD", "PPPSD", "HDSK"};
char * VDAName[] = {None, "VDU", "CVDU", "UPD7220", "N8V"};
char * EmuName[] = {None, "TTY", "ANSI"};
char * TermName[] = {"TTY", "ANSI", "WYSE", "VT52"};
char * DiskMapName[] = {None, "ROM", "RAM", "FD", "IDE",
"PPIDE", "SD", "PRPSD", "PPPSD", "HDSK"};
char * ClrRamName[] = {"Never", "Auto", "Always"};
char * FDModeName[] = {None, "DIO", "ZETA", "DIDE", "N8", "DIO3"};
char * FDMediaName[] = {"720K", "1.44M", "360K", "1.2M", "1.11M"};
char * IDEModeName[] = {None, "DIO", "DIDE"};
char hexchar(val, bitoff)
{
static char hexmap[] = "0123456789ABCDEF";
return hexmap[(val >> bitoff) & 0xF];
}
char * fmthexbyte(val, buf)
unsigned char val;
char * buf;
{
buf[0] = hexchar(val, 4);
buf[1] = hexchar(val, 0);
buf[2] = '\0';
return buf;
}
char * fmthexword(val, buf)
unsigned int val;
char * buf;
{
buf[0] = hexchar(val, 12);
buf[1] = hexchar(val, 8);
fmthexbyte(val, buf + 2);
return buf;
}
char * fmtbool(val)
unsigned char val;
{
return (val ? "True" : "False");
}
char * fmtenable(val)
unsigned char val;
{
return (val ? "Enabled" : "Disabled");
}
putscpm(p)
char * p;
{
while (*p != '$')
putchar(*(p++));
}
pager()
{
static int line = 1;
int i;
line++;
printf("\r\n");
if(line >= 24)
{
printf("*** Press any key to continue...");
while (bdos(6, 0xFF) == 0);
putchar('\r');
for (i = 0; i < 40; i++) {putchar(' ');}
putchar('\r');
line = 1;
}
}
prtcfg1(pSysCfg)
struct SYSCFG * pSysCfg;
{
struct CNFGDATA * pCfg;
char buf[5];
char buf2[5];
pCfg = &(pSysCfg->cnfgdata);
printf("%s @ %dMHz, RAM=%dMB, ROM=%dMB",
PltName[pCfg->platform],
pCfg->freq,
pCfg->ramsize,
pCfg->romsize);
pager();
printf("RomWBW Version %d.%d.%d.%d, ",
pCfg->rmj, pCfg->rmn,
pCfg->rup, pCfg->rtp);
putscpm((unsigned int)pSysCfg + (unsigned int)pSysCfg->tstloc);
pager();
if (pCfg->diskboot)
printf("Disk Boot Device=%s, Unit=%d, LU=%d",
DIOName[pCfg->devunit >> 4],
pCfg->devunit & 0xF, pCfg->bootlu);
else
printf("ROM Boot");
pager();
pager();
printf("Console: Default=%s:%d, Alternate=%s:%d, Init Baudrate=%d0",
CIOName[(pCfg->defcon) >> 4], pCfg->defcon & 0xF,
CIOName[(pCfg->altcon) >> 4], pCfg->altcon & 0xF,
pCfg->conbaud);
pager();
printf ("Default Video Display: %s, Default Emulation: %s",
VDAName[pCfg->defvda], EmuName[pCfg->defemu]);
pager();
printf ("Current Terminal Type: %s",
TermName[pCfg->termtype]);
pager();
printf("Default IO Byte=0x%s, Alternate IO Byte=0x%s",
fmthexbyte(pCfg->defiobyte, buf),
fmthexbyte(pCfg->altiobyte, buf2));
pager();
printf("Disk Write Caching=%s, Disk IO Tracing=%s",
fmtbool(pCfg->wrtcache), fmtbool(pCfg->dsktrace));
pager();
printf("Disk Mapping Priority: %s, Clear RAM Disk: %s",
DiskMapName[pCfg->dskmap], ClrRamName[pCfg->clrramdsk]);
pager();
pager();
printf("DSKY %s", fmtenable(pCfg->dskyenable));
pager();
if (pCfg->uartenable)
{
printf("UART Enabled");
pager();
if (pCfg->uartcnt >= 1)
printf("UART0 FIFO=%s, AFC=%s, Baudrate=%d0",
fmtbool(pCfg->uart0fifo), fmtbool(pCfg->uart0afc), pCfg->uart0baud);
if (pCfg->uartcnt >= 2)
printf("UART1 FIFO=%s, AFC=%s, Baudrate=%d0",
fmtbool(pCfg->uart1fifo), fmtbool(pCfg->uart1afc), pCfg->uart1baud);
if (pCfg->uartcnt >= 3)
printf("UART2 FIFO=%s, AFC=%s, Baudrate=%d0",
fmtbool(pCfg->uart2fifo), fmtbool(pCfg->uart2afc), pCfg->uart2baud);
if (pCfg->uartcnt >= 4)
printf("UART3 FIFO=%s, AFC=%s, Baudrate=%d0",
fmtbool(pCfg->uart3fifo), fmtbool(pCfg->uart3afc), pCfg->uart3baud);
}
else
printf("UART Disabled");
pager();
if (pCfg->ascienable)
{
printf("ASCI Enabled");
pager();
printf("ASCI0, Baudrate=%d0", pCfg->asci0baud);
printf("ASCI1, Baudrate=%d0", pCfg->asci1baud);
}
else
printf("ASCI Disabled");
pager();
printf("VDU %s", fmtenable(pCfg->vduenable));
pager();
printf("CVDU %s", fmtenable(pCfg->cvduenable));
pager();
printf("UPD7220 %s", fmtenable(pCfg->upd7220enable));
pager();
printf("N8V %s", fmtenable(pCfg->n8venable));
pager();
pager();
}
prtcfg2(pSysCfg)
struct SYSCFG * pSysCfg;
{
struct CNFGDATA * pCfg;
char buf[5];
char buf2[5];
pCfg = &(pSysCfg->cnfgdata);
printf("FD %s, Mode=%s, TraceLevel=%d, Media=%s/%s, Auto=%s",
fmtenable(pCfg->fdenable), FDModeName[pCfg->fdmode],
pCfg->fdtrace,
FDMediaName[pCfg->fdmedia], FDMediaName[pCfg->fdmediaalt],
fmtbool(pCfg->fdmauto));
pager();
printf("IDE %s, Mode=%s, TraceLevel=%d, 8bit=%s, Size=%dMB",
fmtenable(pCfg->ideenable), IDEModeName[pCfg->idemode],
pCfg->idetrace, fmtbool(pCfg->ide8bit), pCfg->idecapacity);
pager();
printf("PPIDE %s, IOBase=0x%s, TraceLevel=%d, 8bit=%s, Slow=%s, Size=%dMB",
fmtenable(pCfg->ppideenable), fmthexbyte(pCfg->ppideiob, buf),
pCfg->ppidetrace, fmtbool(pCfg->ppide8bit),
fmtbool(pCfg->ppideslow), pCfg->ppidecapacity);
pager();
printf("PRP %s, SD %s, TraceLevel=%d, Size=%dMB, Console %s",
fmtenable(pCfg->prpenable), fmtenable(pCfg->prpsdenable),
pCfg->prpsdtrace, pCfg->prpsdcapacity,
fmtenable(pCfg->prpconenable));
pager();
printf("PPP %s, SD %s, TraceLevel=%d, Size=%dMB, Console %s",
fmtenable(pCfg->pppenable), fmtenable(pCfg->pppsdenable),
pCfg->pppsdtrace, pCfg->pppsdcapacity,
fmtenable(pCfg->pppconenable));
pager();
printf("HDSK %s, TraceLevel=%d, Size=%dMB",
fmtenable(pCfg->hdskenable),
pCfg->hdsktrace, pCfg->hdskcapacity);
pager();
pager();
printf("PPK %s, TraceLevel=%d",
fmtenable(pCfg->ppkenable), pCfg->ppktrace);
pager();
printf("KBD %s, TraceLevel=%d",
fmtenable(pCfg->kbdenable), pCfg->kbdtrace);
pager();
pager();
printf("TTY %s", fmtenable(pCfg->ttyenable));
pager();
printf("ANSI %s, TraceLevel=%d",
fmtenable(pCfg->ansienable), pCfg->ansitrace);
pager();
}
int main(argc,argv)
int argc;
char *argv[];
{
struct INFOLIST * pInfoList;
struct SYSCFG * pSysCfg;
printf("CPMNAME.COM %d/%d/%d v%d.%d.%d (%d)",
A_MONTH,A_DAY,A_YEAR,A_RMJ,A_RMN,A_RUP,A_RTP);
printf(" dwg - Display System Configuration");
pager();
pager();
pInfoList = bioshl(20, 0, 0);
putscpm(pInfoList->banptr);
pager();
pager();
pSysCfg = HIGHSEG;
hregbc = GETSYSCFG; /* function = Get System Config */
hregde = pSysCfg; /* addr of dest (must be high) */
diagnose(); /* invoke the HBIOS function */
if (pSysCfg->marker != CFGMARKER)
{
printf("*** Invalid configuration data ***\r\n");
return;
}
prtcfg1(pSysCfg);
prtcfg2(pSysCfg);
}
/********************/
/* eof - ccpmname.c */
/********************/

View File

@@ -1,99 +0,0 @@
/* ctermcap.c 3/11/2012 dwg - terminal capbility file */
#include "stdio.h"
#include "stdlib.h"
#include "cpmbind.h"
#include "applvers.h"
#include "cnfgdata.h"
#include "syscfg.h"
#include "diagnose.h"
char termtype;
char wy50row[24] = { ' ', '!', '"', '#', '$', '%', '&', 39,
'(', ')', '*', '+', ',', '-', '.', '/',
'0', '1', '2', '3', '4', '5', '6', '7' };
char wy50col[80] = { ' ', '!', '"', '#', '$', '%', '&', 39,
'(', ')', '*', '+', ',', '-', '.', '/',
'0', '1', '2', '3', '4', '5', '6', '7',
'8', '9', ':', ';', '<', '=', '>', '?',
'@', 'A', 'B', 'C', 'D', 'E', 'F', 'G',
'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O',
'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W',
'X', 'Y', 'Z', '[', '\\', ']', '^', '_',
96, 'a', 'b', 'c', 'd', 'e', 'f', 'g',
'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o' };
crtinit(tt)
char tt;
{
termtype = tt;
}
crtclr()
{
int i;
switch(termtype) {
case TERM_TTY:
for(i=0;i<43;i++) {
printf("%c%c",CR,LF);
}
break;
case TERM_ANSI:
printf("%c[2J",ESC);
break;
case TERM_WYSE:
printf("%c+",ESC);
break;
case TERM_VT52:
printf("%cJ%cH",ESC,ESC);
break;
};
}
crtlc(line,col)
int line;
int col;
{
int i;
switch(termtype) {
case TERM_TTY:
break;
case TERM_ANSI:
printf("%c[%d;%d%c",ESC,line,col,0x66);
break;
case TERM_WYSE:
printf("%c=%c%c",ESC,wy50row[line-1],wy50col[col-1]);
break;
case TERM_VT52:
printf("%cY%c%c",ESC,' '+line,' '+col);
break;
};
}
/*
wy50row db ' !"#$%&'
db 39
db '()*+,-./01234567'
wy50col db ' !"#$%&'
db 39
db '()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_'
db 96
db 'abcdefghijklmno'
*/
/********************/
/* eof - ctermcap.c */
/********************/


View File

@@ -1,6 +0,0 @@
/* ctermcap.h 3/11/2012 dwg - declarations for termal capability */
extern crtinit(); /* void crtinit(char termtype); */
extern crtclr(); /* void crtclr(void); */
extern crtlc(); /* void crtlc(char line,char column); */


View File

@@ -1,45 +0,0 @@
/* cvt2h.h 7/11/2012 dwg - Copyright (C) 2012 Douglas Goodall */
/* This is an include file for a function which takes a pointer,
a length, and a filename, and converts a buffer into a C
header file that can be later incuded in some other compilation. */
#include "stdio.h"
#include "visible.h"
cvt2h(buffer,length,name)
unsigned char * buffer;
int length;
char * name;
{
FILE * fd;
int i,j,k,l;
char szTemp[32];
fd = fopen(name,"w");
fprintf(fd,
"/* %s produced automatically by cvt2h.h */\n",name);
strcpy(szTemp,name);
szTemp[8] = 0;
fprintf(fd,
"unsigned char %s[%d] = {\n\t",
szTemp,length);
for(i=0;i<length;i++) {
fprintf(fd,"0x%02x, ",buffer[i]);
if(7 == (i&0x07)) {
fprintf(fd," /* ");
j = i && 0x07;
k = j + 8;
for(l=j;l<k;l++) {
if(1 == visible[buffer[l]]) {
fprintf(fd,"%02x ",buffer[l]);
} else {
fprintf(fd,".");
}
}
fprintf(fd,"*/");
fprintf(fd,"\n\t");
}
}
fprintf(fd,"};\n/* eof - %s */\n",name);
fclose(fd);
}

View File

@@ -1,41 +0,0 @@
/* cvt2h.h 7/11/2012 dwg - Copyright (C) 2012 Douglas Goodall */
cvt2h(buffer,length,name)
unsigned char * buffer;
int length;
char * name;
{
FILE * fd;
int i,j,k,l;
char szTemp[32];
fd = fopen(name,"w");
fprintf(fd,
"/* %s produced automatically by cvt2h.h */\n",name);
strcpy(szTemp,name);
szTemp[8] = 0;
fprintf(fd,
"unsigned char %s[%d] = {\n\t",
szTemp,length);
for(i=0;i<length;i++) {
fprintf(fd,"0x%02x,",buffer[i]);
if(7 == (i&0x07)) {
fprintf(fd," /* ");
j = i & 0xfff8;
k = j + 8;
fprintf(fd," %04x: ",j);
for(l=j;l<k;l++) {
if(1 == visible[buffer[l]]) {
fprintf(fd,"%c ",buffer[l]);
} else {
fprintf(fd,". ");
}
}
fprintf(fd,"*/");
fprintf(fd,"\n\t");
}
}
fprintf(fd,"};\n/* eof - %s */\n",name);
fclose(fd);
}


View File

@@ -1,45 +0,0 @@
/* cvt2inc.h 7/23/2012 dwg - make tasm include file from binary buffer */
cvt2inc(buffer,length,name)
unsigned char * buffer;
int length;
char * name;
{
FILE * fd;
int i,j,k,l;
char szTemp[32];
fd = fopen(name,"w");
fprintf(fd,
"; %s produced automatically by cvt2inc.h \n",name);
strcpy(szTemp,name);
szTemp[8] = 0;
fprintf(fd,"%s:\n",szTemp);
fprintf(fd," .DB ");
i = 0;
for(i=0;i<length;i++) {
fprintf(fd,"%03xh",buffer[i]);
if(7 == (i&0x07)) {
fprintf(fd," ; ");
j = i & 0xfff8;
k = j + 8;
fprintf(fd," %04x: ",j);
for(l=j;l<k;l++) {
if(1 == visible[buffer[l]]) {
fprintf(fd,"%c ",buffer[l]);
} else {
fprintf(fd,". ");
}
}
if(i != length-1) fprintf(fd,"\n .DB ");
} else {
fprintf(fd,",");
}
}
fprintf(fd,"\n");
fclose(fd);
}


View File

@@ -1,49 +0,0 @@
; diagnose.asm 5/23/2012 dwg - diagnose binding for Aztec C
global hrega_,1
global hregbc_,2
global hregde_,2
global hreghl_,2
public diagnose_
diagnose:
push psw
push b
push d
push h
lhld hregbc_
mov b,h
mov c,l
lhld hregde_
mov d,h
mov e,l
lhld hreghl_
lda hrega_
db 0cfh ; rst 8
sta hrega_
shld hreghl_
mov l,e
mov h,d
shld hregde_
mov l,c
mov h,b
shld hregbc_
pop h
pop d
pop b
pop psw
RET
END


View File

@@ -1,12 +0,0 @@
/* diagnose.h 5/23/2012 dwg - */
extern char hrega;
extern unsigned int hregbc;
extern unsigned int hregde;
extern unsigned int hreghl;
extern diagnose();
/********************/
/* eof - diagnose.h */
/********************/

View File

@@ -1,229 +0,0 @@
/* view.c 6/7/2012 dwg - */
#include "std.h"
/* #include "hbios.h" */
#include "stdio.h"
#include "stdlib.h"
#include "memory.h"
#include "portab.h"
#define MAXDRIVE 8
#include "cpm80.h"
#include "cpmappl.h"
#include "applvers.h"
#include "trackio.h"
#define DSM144 0x02C6
#define DSM720 0x015E
#define DSM360 0x00AA
#define DSM120 0x024F
#define DSM111 0x0222
struct DPH * pDPH;
struct DPB * pDPB;
unsigned char buffer[72*128];
char gbFD[MAXDRIVE];
char gFDNums[MAXDRIVE];
char gNumFD; /* this value is set by the fdcount function */
/* the purpose of this function is to set the global variable
gNumFD to the number of floppy drives detected, and to set
a boolean in the vector gbFD indicating the drive is present
the drive number of each one in the vector
*/
diomed(devunit)
unsigned char devunit;
{
hregbc = 0x1300 + devunit;
diagnose();
return hrega;
}
sensefd()
{
char device;
char unit;
char devunit;
/* init local variables */
char drive;
char result;
drive = 0;
result = 0;
/* init global variables */
gNumFD = 0;
memset(&gbFD,FALSE,MAXDRIVE);
memset(&gFDNums,0,MAXDRIVE);
/* for all valid drive numbers */
while(0 == result) {
ireghl = pGETLU;
iregbc = drive;
bioscall();
result = irega;
/* return from GETLU goes to 1 if drive # invalid */
devunit = iregbc >> 8;
device = devunit & 0xf0;
unit = devunit & 0x0f;
if(DEV_FD == device) {
gFDNums[gNumFD] = drive;
gbFD[gNumFD++] = iregbc & 0xff;
}
drive++;
}
}
int main(argc,argv)
int argc;
char *argv[] ;
{
char drive;
int fd0,fd1;
int i;
int spt;
int track;
int tracks;
int bValid;
sensefd();
if(2 != gNumFD) {
printf("Sorry, this version of diskcopy only supports dual drives");
exit(FAILURE);
}
printf("The copy will be from drive %c: to drive %c:\n",
gFDNums[0]+'A',gFDNums[1]+'A');
printf("The media in FD0 is ");
fd0 = diomed(DEV_FD);
switch(fd0) {
case MID_NONE:
printf("Drive is empty");
break;
case MID_MDROM:
printf("a memory ROM drive");
break;
case MID_MDRAM:
printf("a memory RAM drive");
break;
case MID_HD:
printf("an HD drive");
break;
case MID_FD720:
printf("a 720KB floppy disk");
tracks = 80 * 2;
break;
case MID_FD144:
printf("a 1.44MB floppy disk");
tracks = 80 * 2;
break;
case MID_FD360:
printf("a 360KB floppy disk");
tracks = 40 * 2;
break;
case MID_FD120:
printf("a 120KB floppy disk");
tracks = 80 * 2;
break;
case MID_FD111:
printf("a 111KB floppy disk");
tracks = 74 * 2;
break;
default:
printf("an unknown media type");
break;
}
printf("\n");
printf("The media in FD1 is ");
fd1 = diomed(DEV_FD+1);
switch(fd1) {
case MID_NONE:
printf("Drive is empty");
break;
case MID_MDROM:
printf("a memory ROM drive");
break;
case MID_MDRAM:
printf("a memory RAM drive");
break;
case MID_HD:
printf("an HD drive");
break;
case MID_FD720:
printf("a 720KB floppy disk");
break;
case MID_FD144:
printf("a 1.44MB floppy disk");
break;
case MID_FD360:
printf("a 360KB floppy disk");
break;
case MID_FD120:
printf("a 120KB floppy disk");
break;
case MID_FD111:
printf("a 111KB floppy disk");
break;
default:
printf("an unknown media type");
break;
}
printf("\n");
if(fd0 != fd1) {
printf("Sorry, media types don't match, as required for diskcopy");
exit(1);
}
for(track=0;track<tracks;track++) {
ireghl = pSELDSK;
iregbc = gFDNums[0]; /* G: */
iregde = 0;
bioscall();
pDPH = ireghl;
pDPB = pDPH->dpb;
spt = pDPB->spt;
ireghl = pSETTRK;
iregbc = track;
bioscall();
printf("%3d ",track);
rdtrack(0,spt,buffer);
printf("%c",0x0d);
bValid = FALSE;
for(i=0;i<spt*128;i++) {
if(0xe5 != buffer[i]) {
bValid = TRUE;
break;
}
}
if(TRUE == bValid) {
ireghl = pSELDSK;
iregbc = gFDNums[1]; /* G: */
iregde = 0;
bioscall();
pDPH = ireghl;
pDPB = pDPH->dpb;
spt = pDPB->spt;
ireghl = pSETTRK;
iregbc = track; /* Track 0 */
bioscall();
printf("%3d ",track);
wrtrack(0,spt,buffer);
printf("%c",0x0d);
}
}
}


View File

@@ -1,12 +0,0 @@
#include "stdio.h"
main()
{
FILE * fd;
fd = fopen("$$$.SUB","w");
fprintf(fd,"%ca:getcfg\n",9);
fprintf(fd,"%ca:dump syscfg.bin\n",18);
fprintf(fd,"%ctype a:sect0000.h\n",17);
fclose(fd);
}


View File

@@ -1,30 +0,0 @@
struct DPH {
unsigned int xlt;
unsigned int rv1;
unsigned int rv2;
unsigned int rv3;
unsigned int dbf;
void * dpb;
void * csv;
void * alv;
/* extension */
unsigned char sigl;
unsigned char sigu;
unsigned int current;
unsigned int number;
};
struct DPB {
unsigned int spt;
unsigned char bsh;
unsigned char blm;
unsigned char exm;
unsigned int dsm;
unsigned int drm;
unsigned char al0;
unsigned char al1;
unsigned int cks;
unsigned int off;
};


View File

@@ -1,25 +0,0 @@
/* dphmap.h 9/4/2012 dwg - expand to include I through L */
/* dphmap.h 5/29/2012 dwg - declaration of DPH MAP structure */
struct DPHMAP {
struct DPH * drivea;
struct DPH * driveb;
struct DPH * drivec;
struct DPH * drived;
struct DPH * drivee;
struct DPH * drivef;
struct DPH * driveg;
struct DPH * driveh;
struct DPH * drivei;
struct DPH * drivej;
struct DPH * drivek;
struct DPH * drivel;
} * pDPHMAP;
struct DPHMAP * pDPHVEC[MAXDRIVE];
/******************/
/* eof - dphmap.h */
/******************/

View File

@@ -1,101 +0,0 @@
/* dump.c 7/11/2012 dwg -
The purpose of this program is similar to the CP/M dump program
except that in addition to the normal hexadecimal bytes, a field
of ascii bytes to the right are displayed as well.
*/
#include "stdio.h"
char visible[256] = {
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 00 */
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 10 */
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* 20 */
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* 30 */
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* 40 */
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* 50 */
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* 60 */
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, /* 70 */
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 80 */
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 90 */
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* A0 */
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* B0 */
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* C0 */
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* D0 */
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* E0 */
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* F0 */
};
#include "cvt2h.h"
#include "cvt2inc.h"
main(argc,argv)
int argc;
char *argv[];
{
int i,j;
int offset;
int result;
unsigned char byte;
unsigned char sector[128];
char name[32];
FILE * fd;
banner("DUMP.COM");
/* cvt2h(0x0100,12*1024,"dumpcomh.h"); */
if(1 == argc) {
printf("Sorry, no input file specified");
exit(1);
}
fd = fopen(argv[1],"r");
if(NULL == fd) {
printf("Sorry, cannot open input file");
exit(1);
}
printf("Dumping %s\n\n",argv[1]);
offset = 0;
result = fread(sector,sizeof(sector),1,fd);
while(0 < result) {
sprintf(name,"sect%04x.h",offset);
cvt2h(sector,sizeof(sector),name);
sprintf(name,"sect%04x.inc",offset);
cvt2inc(sector,sizeof(sector),name);
for(i=0;i<8;i++) {
printf("%04x: ",offset);
offset += 16;
for(j=0;j<16;j++) {
printf("%02x ",sector[(i*8)+j]);
}
printf(" ");
for(j=0;j<16;j++) {
byte = sector[(i*8)+j];
if(1 == visible[byte]) {
printf("%c",byte);
} else {
printf(".");
}
}
printf("\n");
}
printf("\n");
result = fread(sector,sizeof(sector),1,fd);
}
fclose(fd);
exit(0);
}


File diff suppressed because it is too large Load Diff

View File

@@ -1,108 +0,0 @@
; dumpmac.asm 2/1/2012 dwg - dump macro, declaration and implementation
maclib portab
maclib globals
maclib hardware
maclib z80
maclib cpmbdos
maclib printers
cseg
; e=char on entry
public x$pr$vis
x$pr$vis:
enter
lxi h,x$visibool
mvi d,0
dad d
mov a,m
cpi 0
jz do$dot
mvi c,2
call BDOS
jmp x$pr$fini
do$dot:
conout '.'
x$pr$fini:
leave
ret
public x$dump
x$dump: shld x$dump$tmp
call pr$h$word
conout ':'
conout ' '
mvi b,16
x$d$lp1:
mov a,m
inx h
xchg
mov l,a
call pr$h$byte
conout ' '
xchg
dcr b
jnz x$d$lp1
conout ' '
conout ' '
mvi b,16
lhld x$dump$tmp
x$d$lp2:
mov a,m
inx h
mov e,a
call x$pr$vis
dcr b
jnz x$d$lp2
conout CR
conout LF
lhld x$dump$tmp
ret
; display a number of lines of sixteen bytes in hex with leading address
; and ascii
public x$dump$multi
x$dump$multi:
push h ; save display address in case x$dump changes it
call x$dump ; call actual dump routine for 16 bytes
pop h ; restore display address
lxi d,16 ; get ready to increment it by 16 bytes
dad d ; here we go, HL = new load address
dcr c ; decrement line counter
jnz x$dump$multi ; do more as necessary
ret
dseg
x$dump$tmp ds 2
public x$visibool
x$visibool:
; 0 1 2 3 4 5 6 7 8 9 A B C D E F
; - - - - - - - - - - - - - - - -
vb$00 db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
vb$10 db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
vb$20 db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ; "#$%&'()*+,-./
vb$30 db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ;0123456789:;<=>?
vb$40 db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ;@ABCDEFGHIJKLMNO
vb$50 db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ;PQRSTUVWXYZ[\]^_
vb$60 db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ;`abcdefghijklmno
vb$70 db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0 ;pqrstuvwxyz{|}~
vb$80 db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
vb$90 db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
vb$a0 db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
vb$b0 db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
vb$c0 db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
vb$d0 db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
vb$e0 db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
vb$f0 db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
; eof - dumpmac.asm


View File

@@ -1,16 +0,0 @@
dwg-apps.man 7/22/2012 dwg - 2.0 Apps - Command syntax
banker display version and specifics of bnk1, bnk0...
cpmname [-a] display values in syscfg and cnfgdata
setlabel edit drive label of current drive (interactive)
map displays current drives, mapping, and LU labels
map <drive> <lunum> changes LU of specified drive to specified LU #
meta display and/or edit metadata of current drive
rem used in submit file to add remarks
sysgen writes default system onto current drive
sysgen <filespec> writes specified file onto current drive
sysgen <filespec> <drive> write specified file to specified drive
termtype display and or edit terminal type
view display tables of current and next 3 drives
view { A: | B: | C: | D: | E: | F: | G: | H: } dsply specified & nxt 3 drvs


View File

@@ -1,103 +0,0 @@
/* editor.c 11/18/2012 dwg - */
#include "std.h"
#include "applvers.h"
#include "diagnose.h"
#include "cpmbdos.h"
#include "cpmbios.h"
#include "bdoscall.h"
#define VDA_N8 4
#define VDAINI 0x40
#define VDAQRY 0x41
#define VDARES 0x42
#define VDASCS 0x43
int vdaini(devunit,vidmode,bitmapp)
unsigned int devunit;
unsigned int vidmode;
unsigned int bitmapp;
{
hregbc = (VDAINI << 8) | devunit;
hregde = vidmode;
hreghl = bitmapp;
diagnose();
return hrega;
}
bitlook()
{
unsigned char *p;
int ascii,row;
p = 0x8000;
for(ascii=0;ascii<256;ascii++) {
printf("ascii = 0x%02x ",ascii);
for(row=0l;row<8;row++) {
printf("0x%02x ",*p++);
}
printf("\n");
}
}
int vdaqry(devunit,bitmapp)
unsigned int devunit;
unsigned int bitmapp;
{
hregbc = (VDAQRY << 8) | devunit;
hreghl = bitmapp;
diagnose();
return hrega;
}
flip()
{
unsigned char * p;
unsigned char byte;
int offs;
int retcode;
retcode = vdaqry(VDA_N8 << 4,0x8000);
p = 0x8000;
for(offs=0;offs<256*8;offs++) {
byte = *p;
byte = byte ^ 255;
*p = byte;
p++;
}
/* bitlook(); */
vdaini(VDA_N8 << 4, 0, 0x8000);
}
int main(argc,argv)
int argc;
char *argv[];
{
int bRunning;
bRunning = 1;
while(1 == bRunning) {
crtlc (
dregbc = 1;
bdoscall();
switch(drega) {
case 'f': flip(); break;
case 3: bRunning = 0; break;
default: printf("%c",7); break;
}
}
flip();
}


View File

@@ -1,12 +0,0 @@
; ffsetlu.lib 1/24/2012 dwg -
ffgetlu macro
mvi c,RETCURR
call BDOS
mov c,a
call BISELDSK
lxi d,16+2
dad d
mov a,m
endm
; eof - ffsetlu


View File

@@ -1,25 +0,0 @@
; ffhaslu.lib 1/22/2012 dwg - macro to detect drive with logical unit support
ffhaslu macro
local ret$false,fini
mvi c,RETCURR
call BDOS
mov c,a
call BISELDSK
lxi d,16 ; offset to end of DPH
dad d ; calc offset of 1st signature byte
mov a,m ; pick up first sig byte which s/b 'L'
cpi 'L'
jnz ret$false ; if it wasn't, indicate to caller no LU
inx h ; bump ptr to 2nd signature byte
mov a,m ; pick up second sig byte which s/b 'U'
cpi 'U'
jnz ret$false ; if it wasn't, indicate to caller no LU
mvi a,TRUE ; otherwise indicate presence of LU support
jmp fini ; finish up macro
ret$false:
mvi a,FALSE ; prepare negative response for caller
fini:
endm


View File

@@ -1,13 +0,0 @@
; ffnumlu.lib 1/22/2012 dwg - macro to get number of logical units
ffnumlu macro
mvi c,RETCURR
call BDOS
mov c,a
call BISELDSK
lxi d,16+2+2 ; offset to end of DPH
dad d ; calc offset of 1st signature byte
mov a,m
endm
; eof - ffnumlu.lib

View File

@@ -1,22 +0,0 @@
; ffsetlu.lib 2/12/2012 dwg - review for use in superfmt
; ffsetlu.lib 1/24/2012 dwg -
; enter with desired LU in A reg
ffsetlu macro
enter
push psw
mvi c,RETCURR
call BDOS
mov c,a
call BISELDSK ; uses c parameter (drive)
lxi d,16+2
dad d
pop psw
mov m,a ; put slice into CURRENT
mvi c,13
call BDOS
leave
endm
; eof - ffsetlu


File diff suppressed because it is too large Load Diff

View File

@@ -1,98 +0,0 @@
/* flip.c 11/17/2012 dwg - reverse the contrast */
#include "std.h"
#include "applvers.h"
#include "diagnose.h"
#define VDA_N8 4
#define VDAINI 0x40
#define VDAQRY 0x41
#define VDARES 0x42
#define VDASCS 0x43
int vdaini(devunit,vidmode,bitmapp)
unsigned int devunit;
unsigned int vidmode;
unsigned int bitmapp;
{
hregbc = (VDAINI << 8) | devunit;
printf("hregbc = 0x%04x\n",hregbc);
hregde = vidmode;
printf("hregde = 0x%04x\n",hregde);
hreghl = bitmapp;
printf("hreghl = 0x%04x\n",hreghl);
diagnose();
printf("VDAINI called, return code was 0x%02x\n",hrega);
return hrega;
}
bitlook()
{
unsigned char *p;
int ascii,row;
p = 0x8000;
for(ascii=0;ascii<256;ascii++) {
printf("ascii = 0x%02x ",ascii);
for(row=0l;row<8;row++) {
printf("0x%02x ",*p++);
}
printf("\n");
}
}
int vdaqry(devunit,bitmapp)
unsigned int devunit;
unsigned int bitmapp;
{
hregbc = (VDAQRY << 8) | devunit;
printf("hregbc = 0x%04x\n",hregbc);
hreghl = bitmapp;
if(hreghl != 0x8000) printf("vdaqry says hl != 0x8000\n");
diagnose();
printf("VDAQRY called, status was 0x%02x\n",hrega);
printf(" video mode was 0x%02x\n",hregbc & 255);
printf(" row count was 0x%02x(%d)\n",
(hregde >> 8),(hregde >> 8) );
printf(" column count was 0x%02x(%d)\n",
hregde & 255, hregde & 255);
/* if(0 != bitmapp) {
printf("vdaqry called with bitmap pointer\n");
bitlook();
}
*/
return hrega;
}
int main(argc,argv)
int argc;
char *argv[];
{
unsigned char * p;
unsigned char byte;
int offs;
int retcode;
printf("flip.com(c) 11/15/2012 dwg - \n\n");
retcode = vdaqry(VDA_N8 << 4,0x8000);
p = 0x8000;
for(offs=0;offs<256*8;offs++) {
byte = *p;
byte = byte ^ 255;
*p = byte;
p++;
}
/* bitlook(); */
vdaini(VDA_N8 << 4, 0, 0x8000);
}


View File

@@ -1,107 +0,0 @@
/* form.c 8/21/2012 dwg - */
#define MAXDRIVE 8
#include "cpm80.h"
#include "cpmbdos.h"
#include "bdoscall.h"
#include "cpmappl.h"
#include "applvers.h"
#include "cnfgdata.h"
#include "syscfg.h"
#define BDOS 5 /* memory address of BDOS invocation */
#define HIGHSEG 0x0C000 /* memory address of system config */
#define GETSYSCFG 0x0F000 /* HBIOS function for Get System Configuration */
struct SYSCFG * pSYSCFG = HIGHSEG;
#define FRMFLDS 2
#define FRSTLIN 6
#define VISCOL 3
#define VISSIZ 6
#define VALCOL (VISCOL+VISSIZ+4)
#define VALSIZ 32
struct FORM {
int visline;
int viscol;
int vissize;
char visible[VISSIZ+1];
int valline;
int valcol;
char value[VALSIZ+1];
} form[FRMFLDS] = {
{ FRSTLIN, VISCOL, VISSIZ, "field1", FRSTLIN, VALCOL, "default1" },
{ FRSTLIN+1, VISCOL, VISSIZ, "field2", FRSTLIN+1, VALCOL, "default2" }
};
int main(argc,argv)
int argc;
char *argv[];
{
int i,j;
char buffer[VALSIZ+2];
hregbc = GETSYSCFG; /* function = Get System Config */
hregde = HIGHSEG; /* addr of dest (must be high) */
diagnose(); /* invoke the NBIOS function */
pSYSCFG = HIGHSEG;
crtinit(pSYSCFG->cnfgdata.termtype);
crtclr();
crtlc(0,0);
banner("FORM");
for(i=0;i<FRMFLDS;i++) {
crtlc(form[i].visline,form[i].viscol);
printf("%s",form[i].visible);
crtlc(form[i].valline,form[i].valcol);
for(j=0;j<strlen(form[i].value);j++) {
printf("_");
}
crtlc(form[i].valline,form[i].valcol);
printf("%s",form[i].value);
}
for(i=0;i<FRMFLDS;i++) {
crtlc(form[i].valline,form[i].valcol);
memset(buffer,0,sizeof(buffer));
dregbc = 10; /* READ CONSOLE BUFFER */
dregde = &buffer;
buffer[0] = VALSIZ-1;
buffer[1] = 0;
bdoscall();
if(0 < buffer[1]) {
memset(form[i].value,0,VALSIZ);
strcpy(form[i].value,buffer[2]);
}
}
for(i=0;i<FRMFLDS;i++) {
crtlc(form[i].visline,form[i].viscol);
printf("%s",form[i].visible);
crtlc(form[i].valline,form[i].valcol);
for(j=0;j<strlen(form[i].value);j++) {
printf(" ");
}
crtlc(form[i].valline,form[i].valcol);
printf("%s",form[i].value);
}
}
/**************************************************************************/


View File

@@ -1,8 +0,0 @@
#include <stdio.h>
#include "ascii.h"
main()
{
printf("%c",ASCII_FF);
}


View File

@@ -1,333 +0,0 @@
/* test.c 7/23/2012 dwg - */
#include "stdio.h"
#include "applvers.h"
#include "ctermcap.h"
/* declarations for HBIOS access */
extern char hrega;
extern unsigned int hregbc;
extern unsigned int hregde;
extern unsigned int hreghl;
extern diagnose();
/* declaration dir BIOS and BDOS and low level calls */
extern char xrega;
extern unsigned int xregbc;
extern unsigned int xregde;
extern unsigned int xreghl;
extern asmif(); /* asmif(0x0E6**,bc,de,hl); */
#define BDOS 5 /* memory address of BDOS invocation */
#define PRIFCB 0x5C /* memory address of primary FCB */
#define SECFCB 0x6C /* memory address of secondary FCB */
#define DEFBUF 0x80 /* memory address of default buffer */
#define HIGHSEG 0x0C000 /* memory address of system config */
#define GETSYSCFG 0x0F000 /* HBIOS function for Get System Configuration */
#define TERMCPM 0 /* BDOS function for System Reset */
#define CONIN 1 /* BDOS function for Console Input */
#define CWRITE 2 /* BDOS function for Console Output */
#define DIRCONIO 6 /* BDOS function for Direct Console I/O */
#define PRINTSTR 9 /* BDOS function for Print String */
#define RDCONBUF 10 /* BDOS function for Buffered Console Read */
#define GETCONST 11 /* BDOS function for Get Console Status */
#define RETVERNUM 12 /* BDOS function for Return Version Number */
#define RESDISKSYS 13 /* BDOS function for Reset Disk System */
#define SELECTDISK 14 /* BDOS function for Select Disk */
#define FOPEN 15 /* BDOS function for File Open */
#define FCLOSE 16 /* BDOS function for File Close */
#define SEARCHFIRST 17 /* BDOS function for Search First */
#define SEARCHNEXT 18 /* BDOS function for Search Next */
#define FDELETE 19 /* BDOS function for File Delete */
#define FREADSEQ 20 /* BDOS function for File Read Sequential */
#define FWRITESEQ 21 /* BDOS function for File Write Sequential */
#define FMAKEFILE 22 /* BDOS function for File Make */
#define FRENAME 23 /* BDOS function for File Rename */
#define RETLOGINVEC 24 /* BDOS function for Return Login Vector */
#define RETCURRDISK 25 /* BDOS function for Return Current Disk */
#define SETDMAADDR 26 /* BDOS function for Set DMA Address */
#define GETALLOCVEC 27 /* BDOS function for Get Allocation Vector */
#define WRPROTDISK 28 /* BDOS function for Write Protect Disk */
#define GETROVECTOR 29 /* BDOS function for Get Read Only Vector */
#define FSETATTRIB 30 /* BDOS function for File Set Attribute */
#define GETDPBADDR 31 /* BDOS function for Get DPB Address */
#define SETGETUSER 32 /* BDOS function for Set & Get User Number */
#define FREADRANDOM 33 /* BDOS function for File Read Random */
#define FWRITERAND 34 /* BDOS function for File Write Random */
#define FCOMPSIZE 35 /* BDOS function for File Compare Size */
#define SETRANDREC 36 /* BDOS function for Set Random Record # */
#define RESETDRIVE 37 /* BDOS function for Reset Drive */
#define WRRANDFILL 38 /* BDOS function for Write Random w/ Fill */
#define BDOSDEFDR 0 /* BDOS Default (current) Drive Number */
#define BDOSDRA 1 /* BDOS Drive A: number */
#define BDOSDRB 2 /* BDOS Drive B: number */
#define BDOSDRC 3 /* BDOS Drive C: number */
#define BDOSDRD 4 /* BDOS Drive D: number */
#define BDOSDRE 5 /* BDOS Drive E: number */
#define BDOSDRF 6 /* BDOS Drive F: number */
#define BDOSDRG 7 /* BDOS Drive G: number */
#define BDOSDRH 8 /* BDOS Drive H: number */
#define BIOSDRA 0 /* BIOS Drive A: number */
#define BIOSDRB 1 /* BIOS Drive B: number */
#define BIOSDRC 2 /* BIOS Drive C: number */
#define BIOSDRD 3 /* BIOS Drive D: number */
#define BIOSDRE 4 /* BIOS Drive E: number */
#define BIOSDRF 5 /* BIOS Drive F: number */
#define BIOSDRG 6 /* BIOS Drive G: number */
#define BIOSDRH 7 /* BIOS Drive H: number */
struct FCB {
char drive; /* BDOS Drive Code */
char filename[8]; /* space padded file name */
char filetype[3]; /* space padded file extension */
char filler[24]; /* remainder of FCB */
};
struct FCB * pPriFcb = PRIFCB; /* pointer to Primary FCB structure */
struct FCB * pSecFcb = SECFCB; /* pointer to secondary FCB structure */
struct {
char length; /* length of commad tail */
char tail[127]; /* command tail */
} * pDefBuf = DEFBUF;
#define CURDRV 0x00004
#define BIOSAD 0x0e600 /* base address of BIOS jumps */
/* addresses of BIOS jumps */
#define pBOOT 0x0E600
#define pWBOOT 0x0E603
#define pCONST 0x0E606
#define pCONIN 0x0E609
#define pCONOUT 0x0E60C
#define pLIST 0x0E60F
#define pPUNCH 0x0E612
#define pREADER 0x0E615
#define pHOME 0x0E618
#define pSELDSK 0x0E61B
#define pSETTRK 0x0E61E
#define pSETSEC 0x0E621
#define pSETDMA 0x0E624
#define pREAD 0x0E627
#define pWRITE 0x0E62A
#define pLISTST 0x0E62D
#define pSECTRN 0x0E630
#define pBNKSEL 0x0E633
#define pGETLU 0x0E636
#define pSETLU 0x0E639
#define pGETINFO 0x0E63C
struct JMP {
unsigned char opcode; /* JMP opcode */
unsigned int address; /* JMP address */
};
struct BIOS {
struct JMP boot;
struct JMP wboot;
struct JMP const;
struct JMP conin;
struct JMP conout;
struct JMP list;
struct JMP punch;
struct JMP reader;
struct JMP home;
struct JMP seldsk;
struct JMP settrk;
struct JMP setsec;
struct JMP setdma;
struct JMP read;
struct JMP write;
struct JMP listst;
struct JMP sectrn;
struct JMP bnksel;
struct JMP getlu;
struct JMP setlu;
struct JMP getinfo;
struct JMP rsvd1;
struct JMP rsvd2;
struct JMP rsvd3;
struct JMP rsvd4;
char rmj;
char rmn;
char rup;
char rtp;
} * pBIOS = 0xe600;
/* pointer based Disk Parameter Block structure */
struct DPB {
unsigned int spt;
unsigned char bsh;
unsigned char blm;
unsigned char exm;
unsigned int dsm;
unsigned int drm;
unsigned char al0;
unsigned int cks;
unsigned int off;
} * pDPB;
/* pointer based Disk Parameter Header structure */
struct DPH {
unsigned int xlt;
unsigned int rv1;
unsigned int rv2;
unsigned int rv3;
unsigned int dbf;
struct DPB * pDpb;
unsigned int csv;
unsigned int alv;
unsigned char sigl;
unsigned char sigu;
unsigned int current;
unsigned int number;
} * pDPH;
/* pointer based Information List structure */
struct INFOLIST {
int version;
void * banptr;
void * varloc;
void * tstloc;
void * dpbmap;
void * dphmap;
void * ciomap;
} * pINFOLIST;
/* pointer based Configuration Data structure */
struct CNFGDATA {
unsigned char rmj;
unsigned char rmn;
unsigned char rup;
unsigned char rtp;
unsigned char diskboot;
unsigned char devunit;
unsigned int bootlu;
unsigned char hour;
unsigned char minute;
unsigned char second;
unsigned char month;
unsigned char day;
unsigned char year;
unsigned char freq;
unsigned char platform;
unsigned char dioplat;
unsigned char vdumode;
unsigned int romsize;
unsigned int ramsize;
unsigned char clrramdk;
unsigned char dskyenable;
unsigned char uartenable;
unsigned char vduenable;
unsigned char fdenable;
unsigned char fdtrace;
unsigned char fdmedia;
unsigned char fdmediaalt;
unsigned char fdmauto;
unsigned char ideenable;
unsigned char idetrace;
unsigned char ide8bit;
unsigned int idecapacity;
unsigned char ppideenable;
unsigned char ppidetrace;
unsigned char ppide8bit;
unsigned int ppidecapacity;
unsigned char ppideslow;
unsigned char boottype;
unsigned char boottimeout;
unsigned char bootdefault;
unsigned int baudrate;
unsigned char ckdiv;
unsigned char memwait;
unsigned char iowait;
unsigned char cntlb0;
unsigned char cntlb1;
unsigned char sdenable;
unsigned char sdtrace;
unsigned int sdcapacity;
unsigned char sdcsio;
unsigned char sdcsiofast;
unsigned char defiobyte;
unsigned char termtype;
unsigned int revision;
unsigned char prpsdenable;
unsigned char prpsdtrace;
unsigned int prpsdcapacity;
unsigned char prpconenable;
unsigned int biossize;
unsigned char pppenable;
unsigned char pppsdenable;
unsigned char pppsdtrace;
unsigned int pppsdcapacity;
unsigned char pppconenable;
unsigned char prpenable;
} * pCNFGDATA;
struct JMP_TAG {
unsigned char opcode;
unsigned int address;
};
/* pointer based System Configuration structure */
struct SYSCFG {
struct JMP_TAG jmp;
void * cnfloc;
void * tstloc;
void * varloc;
struct CNFGDATA cnfgdata;
char filler[256-3-2-2-2-sizeof(struct CNFGDATA)];
} * pSYSCFG = HIGHSEG;
main(argc,argv)
int argc;
char *argv[];
{
FILE * fd;
hregbc = GETSYSCFG; /* function = Get System Config */
hregde = HIGHSEG; /* addr of dest (must be high) */
diagnose(); /* invoke the NBIOS function */
printf("TT is %d\n",pSYSCFG->cnfgdata.termtype);
crtinit(pSYSCFG->cnfgdata.termtype);
crtclr();
crtlc(0,0);
printf(
"GETCFG.COM %d/%d/%d %d.%d.%d.%d dwg - Elegantly Expressed CP/M Program\n",
A_MONTH,A_DAY,A_YEAR,
pBIOS->rmj,pBIOS->rmn,pBIOS->rup,pBIOS->rtp);
fd = fopen("syscfg.bin","w");
fwrite(HIGHSEG,1,256,fd);
fclose(fd);
asmif(pGETINFO,0,0,0); /* get addr of the information list */
pINFOLIST = xreghl; /* set base pointer of the structure */
asmif(BDOS,RETCURRDISK,0,0); /* get current drive into xrega */
asmif(pSELDSK,xrega,0,0); /* get DPH of current drive */
pDPH = xreghl; /* establish addressability to DPH */
pDPB = pDPH->pDpb; /* establish addressability to DPB */
/* printf("spt is %d\n",pDPB->spt); */ /* demonstrate DPB access */
}


View File

@@ -1,18 +0,0 @@
/****************************************************************/
/* globals.h 9/4/2012 dwg - increase MAXDRIVE to 12 */
/* globals.h 3/11/2012 dwg - add BIOS_ADDR */
/* globals.h 3/11/2012 dwg - declarations common to all modules */
/****************************************************************/
#define CR 0x0d
#define LF 0x0a
#define ESC 27
#define BIOSAD 0x0e600
#define INFLSTV 1
#define MAXDRIVE 12
/*******************/
/* eof - globals.h */
/*******************/

View File

@@ -1,18 +0,0 @@
; globals.lib 7/19/2012 dwg - update for 2.0.0.0 B22
; globals.lib 1/18/2012 dwg - program globals
ENGLISH equ TRUE
SPANISH equ FALSE
MAX$LABEL equ 16
STACK$SIZE equ 512
COLON equ ':'
stack macro
ds STACK$SIZE
stack$top:
endm
; eof - globals.lib


View File

@@ -1,16 +0,0 @@
; hardware.lib 1/18/2012 dwg - hardware declarations
HASZ80 equ TRUE
; I/O address of Zeta RTC
zeta$rtc equ 70h
; write bit definitions
z$rtc$ce equ 10h
z$rtc$we equ 20h
z$rtc$clk equ 40h
z$rtc$inp equ 80h
; read bit definitions
z$rtc$out equ 01h
z$rtc$cfg equ 40h
; eof - hardware.lib


View File

@@ -1,18 +0,0 @@
; hbios.asm 7/19/2012 dwg -
CFGVERS equ 0
public xgetsc
xgetsc:
enter
mvi b,0F0h
mvi c,CFGVERS
lxi d,8000h
db 0cfh ; rst 8
lxi h,8000h
leave
ret
END


View File

@@ -1,48 +0,0 @@
/* hbios.h 7/4/2012 dgw - */
/* CIO */
/* Character Input (CIOIN) */
/* Character Output (CIOOUT) */
/* Character Input Status (CIOIST) */
/* Character Output Status (CIOOST) */
/* DIO */
/* Disk Read (DIORD) */
/* Disk Write (DIOWR) */
/* Disk Status (DIOST) */
/* Disk Media (DIOMED) */
/* Disk Idetify (DIOID) */
/* Disk Get Buffer Address (DIOGBA) */
/*
extern char hrega;
extern unsigned int hregbc;
extern unsigned int hregde;
extern unsigned int hreghl;
extern diagnose();
*/
/*****************/
/* eof - hbios.h */
/*****************/


View File

@@ -1,3 +0,0 @@
; hbios.lib 7/19/2012 dwg -
extrn xgetsc


View File

@@ -1,333 +0,0 @@
/* test.c 7/21/2012 dwg - */
#include "stdio.h"
#include "applvers.h"
/* declarations for HBIOS access */
extern char hrega;
extern unsigned int hregbc;
extern unsigned int hregde;
extern unsigned int hreghl;
extern diagnose();
/* declaration dir BIOS and BDOS and low level calls */
extern char xrega;
extern unsigned int xregbc;
extern unsigned int xregde;
extern unsigned int xreghl;
extern asmif(); /* asmif(0x0E6**,bc,de,hl); */
#define BDOS 5 /* memory address of BDOS invocation */
#define PRIFCB 0x5C /* memory address of primary FCB */
#define SECFCB 0x6C /* memory address of secondary FCB */
#define DEFBUF 0x80 /* memory address of default buffer */
#define HIGHSEG 0x0C000 /* memory address of system config */
#define GETSYSCFG 0x0F000 /* HBIOS function for Get System Configuration */
#define TERMCPM 0 /* BDOS function for System Reset */
#define CONIN 1 /* BDOS function for Console Input */
#define CWRITE 2 /* BDOS function for Console Output */
#define DIRCONIO 6 /* BDOS function for Direct Console I/O */
#define PRINTSTR 9 /* BDOS function for Print String */
#define RDCONBUF 10 /* BDOS function for Buffered Console Read */
#define GETCONST 11 /* BDOS function for Get Console Status */
#define RETVERNUM 12 /* BDOS function for Return Version Number */
#define RESDISKSYS 13 /* BDOS function for Reset Disk System */
#define SELECTDISK 14 /* BDOS function for Select Disk */
#define FOPEN 15 /* BDOS function for File Open */
#define FCLOSE 16 /* BDOS function for File Close */
#define SEARCHFIRST 17 /* BDOS function for Search First */
#define SEARCHNEXT 18 /* BDOS function for Search Next */
#define FDELETE 19 /* BDOS function for File Delete */
#define FREADSEQ 20 /* BDOS function for File Read Sequential */
#define FWRITESEQ 21 /* BDOS function for File Write Sequential */
#define FMAKEFILE 22 /* BDOS function for File Make */
#define FRENAME 23 /* BDOS function for File Rename */
#define RETLOGINVEC 24 /* BDOS function for Return Login Vector */
#define RETCURRDISK 25 /* BDOS function for Return Current Disk */
#define SETDMAADDR 26 /* BDOS function for Set DMA Address */
#define GETALLOCVEC 27 /* BDOS function for Get Allocation Vector */
#define WRPROTDISK 28 /* BDOS function for Write Protect Disk */
#define GETROVECTOR 29 /* BDOS function for Get Read Only Vector */
#define FSETATTRIB 30 /* BDOS function for File Set Attribute */
#define GETDPBADDR 31 /* BDOS function for Get DPB Address */
#define SETGETUSER 32 /* BDOS function for Set & Get User Number */
#define FREADRANDOM 33 /* BDOS function for File Read Random */
#define FWRITERAND 34 /* BDOS function for File Write Random */
#define FCOMPSIZE 35 /* BDOS function for File Compare Size */
#define SETRANDREC 36 /* BDOS function for Set Random Record # */
#define RESETDRIVE 37 /* BDOS function for Reset Drive */
#define WRRANDFILL 38 /* BDOS function for Write Random w/ Fill */
#define BDOSDEFDR 0 /* BDOS Default (current) Drive Number */
#define BDOSDRA 1 /* BDOS Drive A: number */
#define BDOSDRB 2 /* BDOS Drive B: number */
#define BDOSDRC 3 /* BDOS Drive C: number */
#define BDOSDRD 4 /* BDOS Drive D: number */
#define BDOSDRE 5 /* BDOS Drive E: number */
#define BDOSDRF 6 /* BDOS Drive F: number */
#define BDOSDRG 7 /* BDOS Drive G: number */
#define BDOSDRH 8 /* BDOS Drive H: number */
#define BIOSDRA 0 /* BIOS Drive A: number */
#define BIOSDRB 1 /* BIOS Drive B: number */
#define BIOSDRC 2 /* BIOS Drive C: number */
#define BIOSDRD 3 /* BIOS Drive D: number */
#define BIOSDRE 4 /* BIOS Drive E: number */
#define BIOSDRF 5 /* BIOS Drive F: number */
#define BIOSDRG 6 /* BIOS Drive G: number */
#define BIOSDRH 7 /* BIOS Drive H: number */
struct FCB {
char drive; /* BDOS Drive Code */
char filename[8]; /* space padded file name */
char filetype[3]; /* space padded file extension */
char filler[24]; /* remainder of FCB */
};
struct FCB * pPriFcb = PRIFCB; /* pointer to Primary FCB structure */
struct FCB * pSecFcb = SECFCB; /* pointer to secondary FCB structure */
struct {
char length; /* length of commad tail */
char tail[127]; /* command tail */
} * pDefBuf = DEFBUF;
#define CURDRV 0x00004
#define BIOSAD 0x0e600 /* base address of BIOS jumps */
/* addresses of BIOS jumps */
#define pBOOT 0x0E600
#define pWBOOT 0x0E603
#define pCONST 0x0E606
#define pCONIN 0x0E609
#define pCONOUT 0x0E60C
#define pLIST 0x0E60F
#define pPUNCH 0x0E612
#define pREADER 0x0E615
#define pHOME 0x0E618
#define pSELDSK 0x0E61B
#define pSETTRK 0x0E61E
#define pSETSEC 0x0E621
#define pSETDMA 0x0E624
#define pREAD 0x0E627
#define pWRITE 0x0E62A
#define pLISTST 0x0E62D
#define pSECTRN 0x0E630
#define pBNKSEL 0x0E633
#define pGETLU 0x0E636
#define pSETLU 0x0E639
#define pGETINFO 0x0E63C
struct JMP {
unsigned char opcode; /* JMP opcode */
unsigned int address; /* JMP address */
};
struct BIOS {
struct JMP boot;
struct JMP wboot;
struct JMP const;
struct JMP conin;
struct JMP conout;
struct JMP list;
struct JMP punch;
struct JMP reader;
struct JMP home;
struct JMP seldsk;
struct JMP settrk;
struct JMP setsec;
struct JMP setdma;
struct JMP read;
struct JMP write;
struct JMP listst;
struct JMP sectrn;
struct JMP bnksel;
struct JMP getlu;
struct JMP setlu;
struct JMP getinfo;
struct JMP rsvd1;
struct JMP rsvd2;
struct JMP rsvd3;
struct JMP rsvd4;
char rmj;
char rmn;
char rup;
char rtp;
} * pBIOS = 0xe600;
/* pointer based Disk Parameter Block structure */
struct DPB {
unsigned int spt;
unsigned char bsh;
unsigned char blm;
unsigned char exm;
unsigned int dsm;
unsigned int drm;
unsigned char al0;
unsigned int cks;
unsigned int off;
} * pDPB;
/* pointer based Disk Parameter Header structure */
struct DPH {
unsigned int xlt;
unsigned int rv1;
unsigned int rv2;
unsigned int rv3;
unsigned int dbf;
struct DPB * pDpb;
unsigned int csv;
unsigned int alv;
unsigned char sigl;
unsigned char sigu;
unsigned int current;
unsigned int number;
} * pDPH;
/* pointer based Information List structure */
struct INFOLIST {
int version;
void * banptr;
void * varloc;
void * tstloc;
void * dpbmap;
void * dphmap;
void * ciomap;
} * pINFOLIST;
/* pointer based Configuration Data structure */
struct CNFGDATA {
unsigned char rmj;
unsigned char rmn;
unsigned char rup;
unsigned char rtp;
unsigned char diskboot;
unsigned char devunit;
unsigned int bootlu;
unsigned char hour;
unsigned char minute;
unsigned char second;
unsigned char month;
unsigned char day;
unsigned char year;
unsigned char freq;
unsigned char platform;
unsigned char dioplat;
unsigned char vdumode;
unsigned int romsize;
unsigned int ramsize;
unsigned char clrramdk;
unsigned char dskyenable;
unsigned char uartenable;
unsigned char vduenable;
unsigned char fdenable;
unsigned char fdtrace;
unsigned char fdmedia;
unsigned char fdmediaalt;
unsigned char fdmauto;
unsigned char ideenable;
unsigned char idetrace;
unsigned char ide8bit;
unsigned int idecapacity;
unsigned char ppideenable;
unsigned char ppidetrace;
unsigned char ppide8bit;
unsigned int ppidecapacity;
unsigned char ppideslow;
unsigned char boottype;
unsigned char boottimeout;
unsigned char bootdefault;
unsigned int baudrate;
unsigned char ckdiv;
unsigned char memwait;
unsigned char iowait;
unsigned char cntlb0;
unsigned char cntlb1;
unsigned char sdenable;
unsigned char sdtrace;
unsigned int sdcapacity;
unsigned char sdcsio;
unsigned char sdcsiofast;
unsigned char defiobyte;
unsigned char termtype;
unsigned int revision;
unsigned char prpsdenable;
unsigned char prpsdtrace;
unsigned int prpsdcapacity;
unsigned char prpconenable;
unsigned int biossize;
unsigned char pppenable;
unsigned char pppsdenable;
unsigned char pppsdtrace;
unsigned int pppsdcapacity;
unsigned char pppconenable;
unsigned char prpenable;
} * pCNFGDATA;
struct JMP_TAG {
unsigned char opcode;
unsigned int address;
};
/* pointer based System Configuration structure */
struct SYSCFG {
struct JMP_TAG jmp;
void * cnfloc;
void * tstloc;
void * varloc;
struct CNFGDATA cnfgdata;
char filler[256-3-2-2-2-sizeof(struct CNFGDATA)];
} * pSYSCFG = HIGHSEG;
main(argc,argv)
int argc;
char *argv[];
{
hregbc = GETSYSCFG; /* function = Get System Config */
hregde = HIGHSEG; /* addr of dest (must be high) */
diagnose(); /* invoke the NBIOS function */
pSYSCFG = HIGHSEG;
crtinit(pSYSCFG->cnfgdata.termtype);
crtclr();
crtlc(0,0);
/* printf("TT is %d\n",pSYSCFG->cnfgdata.termtype); */
printf(
"TEST.COM %d/%d/%d %d.%d.%d.%d dwg - Elegantly Expressed CP/M Program\n",
A_MONTH,A_DAY,A_YEAR,
pBIOS->rmj,pBIOS->rmn,pBIOS->rup,pBIOS->rtp);
asmif(pGETINFO,0,0,0); /* get addr of the information list */
pINFOLIST = xreghl; /* set base pointer of the structure */
asmif(BDOS,RETCURRDISK,0,0); /* get current drive into xrega */
asmif(pSELDSK,xrega,0,0); /* get DPH of current drive */
pDPH = xreghl; /* establish addressability to DPH */
pDPB = pDPH->pDpb; /* establish addressability to DPB */
/* printf("spt is %d\n",pDPB->spt); */ /* demonstrate DPB access */
hregbc = GETSYSCFG; /* function = Get System Config */
hregde = HIGHSEG; /* addr of dest (must be high) */
diagnose(); /* invoke the NBIOS function */
/* printf("TT is %d\n",pSYSCFG->cnfgdata.termtype); */
}


View File

@@ -1,11 +0,0 @@
#include <stdio.h>
#include <stdlib.h>
int main(argc,argv)
int argc;
char * argv[];
{
printf("Help World!!\n");
return 0;
}


View File

@@ -1,64 +0,0 @@
title 'Ident - Display Program Identification'
; ident.asm 2/21/2012 dwg - review for release 2.0.0.0
; ident.asm 2/19.2012 dwg - review for release 1.5.1.0
; ident.asm 2/19/2012 dwg - remove test* & analyse & ws-shim
; ident.asm 2/18/2012 dwg - drives,map and slice become map
; ident.asm 2/14/2012 dwg - superfmt becomes multifmt
; ident.asm 2/13/2012 dwg - add disk
; ident.asm 2/12/2012 dwg - add cleardir and superfmt
; ident.asm 2/11/2012 dwg - Display the Ident of a program file
; Copyright (C) 2011-2012 Douglas Goodall Licensed under GPL Ver 3.
;
; This file is part of NuBiosDWG and is free software: you can
; redistribute it and/or modify it under the terms of the GNU
; General Public License as published by the Free Software Foundation,
; either version 3 of the License, or (at your option) any later version.
; This file is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
; GNU General Public License for more details.
; You should have received a copy of the GNU General Public License
; along with it. If not, see <http://www.gnu.org/licenses/>.
maclib portab
maclib globals
maclib cpmbdos
maclib cpmappl
maclib applvers
maclib banner
maclib printers
maclib dumpmac
maclib memory
maclib identity
do$start
idata
sbanner argv
ify 'ACCESS COM',TRUE
; ify 'ASSIGN COM',TRUE
; ify 'CPMNAME COM',TRUE
; ify 'ERASE COM',TRUE
ify 'FINDFILECOM',TRUE
; ify 'HEADER COM',TRUE
ify 'IDENT COM',TRUE
ify 'SETLABELCOM',TRUE
; ify 'MAP COM',TRUE
; ify 'METAVIEWCOM',TRUE
; ify 'MULTIFMTCOM',TRUE
ify 'NOACCESSCOM',TRUE
; ify 'PAUSE COM',TRUE
; ify 'REM COM',TRUE
; ify 'REQ1PARMCOM',TRUE
; ify 'STOP COM',TRUE
; ify 'TERMTYPECOM',TRUE
; ify 'WRITESYSCOM',FALSE
do$end
end


View File

@@ -1,196 +0,0 @@
; identity.asm 2/17/2012 dwg - Program Identity Declarations
maclib portab
maclib globals
maclib stdlib
maclib cpmbios
maclib cpmbdos
maclib memory
maclib printers
public x$ident
x$ident:
shld lfcbptr ; save pointer to fcb
mvi c,FOPEN
lhld lfcbptr
xchg
call BDOS
cpi 255
jnz openok
;;; memcpy lname,file1fcb+1,8
mvi c,8
lxi d,lname
lhld lfcbptr
inx h
call x$memcpy
mvi a,','
sta ldot
;;; memcpy lext,file1fcb+9,3
mvi c,3
lhld lfcbptr
lxi d,9
dad d
lxi d,lext
call x$memcpy
mvi a,'$'
sta lterm
print lname
printf ' -- File Not Found'
mvi a,FAILURE
jmp fini
openok:
mvi c,SETDMA
lxi d,buffer
call BDOS
mvi c,READSEQ
lhld lfcbptr
xchg
call BDOS
mvi c,SETDMA
lxi d,buffer+128
call BDOS
mvi c,READSEQ
lhld lfcbptr
xchg
call BDOS
mvi c,FCLOSE
lhld lfcbptr
xchg
call BDOS
lxi d,d$prog
mvi c,9
call BDOS
conout ','
conout ' '
lda p$rmj
mov l,a
mvi h,0
call pr$d$word
conout '.'
lda p$rmn
mov l,a
call pr$d$word
conout '.'
lda p$rup
mov l,a
call pr$d$word
conout '.'
lda p$rtp
mov l,a
call pr$d$word
conout ','
conout ' '
lda p$mon
mov l,a
call pr$d$word
conout '/'
lda p$day
mov l,a
call pr$d$word
conout '/'
lhld p$year
call pr$d$word
conout ','
conout ' '
lxi d,d$prod
mvi c,9
call BDOS
conout ','
conout ' '
lxi d,d$orig
mvi c,9
call BDOS
conout ','
conout ' '
lxi d,d$ser
mvi c,9
call BDOS
conout ','
conout ' '
lda d$term2
cpi '$'
jnz do$name
conout ' '
lxi d,d$uuid+19
jmp do$any
do$name:
lxi d,d$name
do$any:
mvi c,9
call BDOS
mvi a,SUCCESS ; set return code
fini:
ret
lfcbptr ds 2
ldrive ds 1
lcolon ds 1
lname ds 8
ldot ds 1
lext ds 3
lterm ds 1
db 'buffer-->'
buffer ds 1
p$start ds 2
p$hexrf ds 16
p$sig ds 2
p$rmj ds 1
p$rmn ds 1
p$rup ds 1
p$rtp ds 1
p$mon ds 1
p$day ds 1
p$year ds 2
p$argv ds 2
p$e5 ds 1
p$pr$st ds 2
p$code1 ds 3 ; begin: lxi h,0
p$code2 ds 1 ; dad sp
p$code3 ds 3 ; shld pre$stk
p$code4 ds 3 ; lxi sp,stack$top
p$code5 ds 1 ; nop
p$code6 ds 3 ; jmp around$bandata
p$prog ds 2 ; dw prog
p$dat ds 2 ; dw dat
p$prod ds 2 ; dw prod
p$orig ds 2 ; dw orig
p$ser ds 2 ; dw ser
p$nam ds 2 ; dw nam
p$term ds 2 ; dw 0
d$prog ds 8+1+3+1 ; db '12345678.123$'
d$date ds 2+1+2+1+4+1 ; db ' 2/11/2012$'
d$ser ds 6+1 ; db '654321$'
d$prod ds 5+1 ; db 'CPM80$'
d$orig ds 3+1 ; db 'DWG$'
d$name ds 1+7+1+1+1+1+7+1 ; db ' Douglas W. Goodall$'
d$uuid ds 36 ; unique user identification
d$term2 ds 1 ; can be set to zero or dollar sign
p$len equ $-buffer
p$rsvd ds 256-p$len
db '<--buffer'
dw p$len
crlf db CR,LF,'$'
; eof - identity.asm


View File

@@ -1,191 +0,0 @@
; identity.lib 2/19/2012 dwg - add ify macro
; identity.lib 2/17/2012 dwg - Program Identity Declarations
extrn x$ident
ident macro file1fcb
lxi h,file1fcb
call x$ident
endm
ify macro progname,bool
local done
local file
local fini
ident file
jmp fini
newfcb file,0,progname
fini: mvi a,bool
cpi TRUE
jnz done
conout CR
conout LF
done:
endm
identx macro file1fcb
local openok
local identend
local ldrive,lcolon,lname,ldot,lext,lterm
mvi c,FOPEN
lxi d,file1fcb
call BDOS
cpi 255
jnz openok
memcpy lname,file1fcb+1,8
mvi a,','
sta ldot
memcpy lext,file1fcb+9,3
mvi a,'$'
sta lterm
print lname
printf ' -- File Not Found'
jmp identend
openok:
mvi c,SETDMA
lxi d,buffer
call BDOS
mvi c,READSEQ
lxi d,file1fcb
call BDOS
mvi c,FCLOSE
lxi d,file1fcb
call BDOS
lxi d,d$prog
mvi c,9
call BDOS
conout ','
conout ' '
lda p$rmj
mov l,a
mvi h,0
call pr$d$word
conout '.'
lda p$rmn
mov l,a
call pr$d$word
conout '.'
lda p$rup
mov l,a
call pr$d$word
conout '.'
lda p$rtp
mov l,a
call pr$d$word
conout ','
conout ' '
lda p$mon
mov l,a
call pr$d$word
conout '/'
lda p$day
mov l,a
call pr$d$word
conout '/'
lhld p$year
call pr$d$word
conout ','
conout ' '
lxi d,d$prod
mvi c,9
call BDOS
conout ','
conout ' '
lxi d,d$orig
mvi c,9
call BDOS
conout ','
conout ' '
lxi d,d$ser
mvi c,9
call BDOS
conout ','
conout ' '
lxi d,d$name
mvi c,9
call BDOS
jmp identend
ldrive ds 1
lcolon ds 1
lname ds 8
ldot ds 1
lext ds 3
lterm ds 1
identend:
endm
idata macro
jmp around$bandata
argv dw prog,dat,prod,orig,ser,myname,0
prog db 'IDENT.COM $'
date
serial
product
originator
oriname
uuid db '777A67C2-4A92-42D4-80FE-C96FD6483BD2$'
db 'buffer-->'
public buffer,p$start,p$hexrf,p$sig
public p$rmj,p$rmn,p$rup,p$rtp
public p$mon,p$day,p$year
buffer ds 1
p$start ds 2
p$hexrf ds 16
p$sig ds 2
p$rmj ds 1
p$rmn ds 1
p$rup ds 1
p$rtp ds 1
p$mon ds 1
p$day ds 1
p$year ds 2
p$argv ds 2
p$e5 ds 1
p$pr$st ds 2
p$code1 ds 3 ; begin: lxi h,0
p$code2 ds 1 ; dad sp
p$code3 ds 3 ; shld pre$stk
p$code4 ds 3 ; lxi sp,stack$top
p$code5 ds 1 ; nop
p$code6 ds 3 ; jmp around$bandata
p$prog ds 2 ; dw prog
p$dat ds 2 ; dw dat
p$prod ds 2 ; dw prod
p$orig ds 2 ; dw orig
p$ser ds 2 ; dw ser
p$nam ds 2 ; dw nam
p$term ds 2 ; dw 0
d$prog ds 8+1+3+1 ; db '12345678.123$'
d$date ds 2+1+2+1+4+1 ; db ' 2/11/2012$'
d$ser ds 6+1 ; db '654321$'
d$prod ds 5+1 ; db 'CPM80$'
d$orig ds 3+1 ; db 'DWG$'
d$name ds 1+7+1+1+1+1+7+1 ; db ' Douglas W. Goodall$'
d$uuid ds 37 ; unique user identification
d$term2 ds 1 ; can be set to zero or dollar sign
p$len equ $-buffer
p$rsvd ds 128-p$len
db '<--buffer'
crlf db CR,LF,'$'
around$bandata:
endm
; eof - identity.lib


View File

@@ -1,16 +0,0 @@
/* infolist.h 6/7/2012 dwg - BIOS Information Structure version 2 */
struct INFOLIST {
int version;
void * banptr;
void * varloc;
void * tstloc;
void * dpbmap;
void * dphmap;
void * ciomap;
};
/********************/
/* eof - infolist.h */
/********************/


View File

@@ -1,124 +0,0 @@
/* label.c 67/10/2012 dwg - */
#include "stdio.h"
#include "cpmbios.h"
#include "bioscall.h"
#include "cpmbdos.h"
#include "bdoscall.h"
#include "metadata.h"
#include "banner.h"
struct FCB * pPRIFCB;
struct FCB * pSECFCB;
struct DPH * pDPH;
struct DPB * pDPB;
testdrive(drive)
int drive;
{
ireghl = pSELDSK;
iregbc = drive;
bioscall();
pDPH = ireghl;
pDPB = pDPH->dpb;
if(0 == pDPB->off) {
printf("Sorry Drive %c: has no prefix area and cannot be labeled",
drive+'A');
exit(1);
}
}
interactive(drive)
int drive;
{
int i;
struct {
char size;
char len;
char data[16];
} rdcons;
testdrive(drive);
ireghl = pGETLU;
iregbc = drive;
bioscall();
if(1 == irega) {
printf("interactive(%d) says drive %c: can't have label",drive,drive);
printf("%c",7);
exit(1);
}
rdsector(drive,0,11,&metadata,0);
printf("Old label = ");
for(i=0;i<16;i++) {
printf("%c",metadata.label[i]);
}
printf("\nNew label = ");
rdcons.size=16;
rdcons.len =0;
dregbc = RDCONBUF;
dregde = &rdcons;
bdoscall();
if(0 < rdcons.len) {
memset(metadata.label,' ',16);
memcpy(metadata.label,rdcons.data,rdcons.len);
wrsector(drive,0,11,&metadata,0);
}
}
noninteractive(drive,label)
int drive;
char * label;
{
int i;
testdrive(drive);
rdsector(drive,0,11,&metadata,0);
memset(metadata.label,' ',16);
for(i=0;i<strlen(label);i++) {
metadata.label[i] = label[i];
}
wrsector(drive,0,11,&metadata,0);
}
main(argc,argv)
int argc;
char *argv[];
{
int i;
int drive;
char szDrive[3];
sbanner("LABEL.COM");
pPRIFCB = 0x5c;
switch(argc) {
case 1:
dregbc = RETCURRDISK;
bdoscall();
drive = drega;
interactive(drive);
break;
case 2:
if(2 == strlen(argv[1])) {
strcpy(szDrive,argv[1]);
if(':' == szDrive[1]) {
interactive(pPRIFCB->drive-1);
exit(0);
}
}
break;
default:
noninteractive(pPRIFCB->drive-1,0x85);
break;
}
exit(0);
}


View File

@@ -1,217 +0,0 @@
; labelib.asm 2/22/2012 dwg - label library function implementation
; label.asm 2/11/2012 dwg - make ident compliant
; label.asm 2/11/2012 dwg - begin 1.6 enhancements
; label.asm 2/04/2012 dwg - use new macros for benefits
; label.asm 1/20/2012 dwg - label a drive or slice
;
; Copyright (C) 2011-2012 Douglas Goodall Licensed under GPL Ver 3.
;
; This file is part of NuBiosDWG and is free software: you can
; redistribute it and/or modify it under the terms of the GNU
; General Public License as published by the Free Software Foundation,
; either version 3 of the License, or (at your option) any later version.
; This file is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
; GNU General Public License for more details.
; You should have received a copy of the GNU General Public License
; along with it. If not, see <http://www.gnu.org/licenses/>.
;
maclib portab
maclib globals
maclib cpmbios
maclib cpmbdos
maclib bioshdr
maclib hardware
maclib z80
maclib memory
; maclib applvers
; maclib cpmappl
maclib printers
maclib metadata
; maclib banner
maclib stdlib
; maclib ffhaslu
; maclib identity
cseg
public x$label
x$label:
mov a,c
sta drive$num
get$off
mov a,h
ora l
jnz off$ok
printf 'Sorry, you can only label drives with reserved tracks'
jmp main$exit
off$ok:
lda drive$num
mov c,a
lxi h,buffer
call x$g$meta
lda DEFBUF ! mov c,a
cpi 0 ! jnz x$lab2
; ; Interactive label functionality here...
prompt:
; signature exists so label should be displayable
print old$lbl
; print label
lxi h,buffer
lxi d,meta$label
dad d
push h
pop d
mvi c,PRINTSTR
call BDOS
print crlf
print new$lbl
mvi c,READ$CON$BUF
lxi d,rcbuff
call BDOS
lda rclen
cpi 0
jnz length$ok
jmp main$exit
length$ok:
inr a
sta DEFBUF
mvi a,' '
sta DEFBUF+1
mov c,a
mvi b,0
lxi h,rcdata
lxi d,DEFBUF+2
ldir
print crlf
lda drive$num
mov c,a
; fall through to code below
;;; not$interactive:
public x$lab2
x$lab2:
; This routine can be used interactively or non-interactively.
; You can set up the default buffer at 80h and call x$lab2,
; or you can call x$label and it will interactively redo the label.
;
mov a,c
sta drive$num
lxi h,buffer
lxi d,meta$label
dad d
mvi a,' '
lxi b,meta$label$len ; max length of label
call x$memset
lda DEFBUF ; pick up length of command tail
cpi 18 ; compare with max size of label
jc lenok ; jump if size is within limits
mvi a,17 ; specify maximum size
sta DEFBUF ; and poke into default buffer size byte
lenok: lda DEFBUF ; pick up command tail size byte
dcr a ; decrement
mov c,a ; move to c reg as counter
mvi b,0
lxi h,buffer
lxi d,meta$label
dad d
xchg
lxi h,DEFBUF+2 ; set source index for move
ldir
lxi h,buffer
lxi d,meta$term
dad d
mvi a,'$'
mov m,a
lda drive$num
mov c,a
lxi h,buffer
call x$u$meta
cpi FAILURE
jz write$prot$err
lxi h,buffer
call x$p$meta
print suc$msg
jmp main$exit
write$prot$err:
print wr$prot$msg
jmp main$exit
readerr:
print rd$err$msg
jmp main$exit
writeerr:
print wr$err$msg
jmp main$exit
dontboth:
print usage$msg
main$exit:
ret
dseg
suc$msg db 'Label Written Successfully$'
rd$err$msg db 'Sorry, cannot read label sector$'
wr$err$msg db 'Sorry, cannot write label sector$'
wr$prot$msg db 'Sorry, metadata is write protected$'
usage$msg db 'usage - label <label>$'
ver$msg db 'Sorry, requires RomWBW or NuBios v1.5$'
def$label db 'Unlabeled ',0
init$msg db 'Label initialized$'
old$lbl db 'Old Label: $'
new$lbl db 'New Label: $'
copr$msg db 'Copyright (C) 2012 Douglas Goodall$'
lic$msg db 'Program licensed under the GPL v3$'
crlf db CR,LF
term db '$'
drive$num ds 1
rcbuff db MAX$LABEL
rclen db 0
rcdata ds MAX$LABEL
buffer ds 128
end start


View File

@@ -1,33 +0,0 @@
; labelib.lib 2/22/2012 dwg - label library macro front end
; Copyright (C) 2011-2012 Douglas Goodall Licensed under GPL Ver 3.
;
; This file is part of NuBiosDWG and is free software: you can
; redistribute it and/or modify it under the terms of the GNU
; General Public License as published by the Free Software Foundation,
; either version 3 of the License, or (at your option) any later version.
; This file is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
; GNU General Public License for more details.
; You should have received a copy of the GNU General Public License
; along with it. If not, see <http://www.gnu.org/licenses/>.
extrn x$label
label macro drivenumber
mvi c,drivenumber
call x$label
endm
extrn x$lab2
label2 macro drivenumber
mvi c,drivenumber
call x$lab2
endm
; eof - labelib.lib


File diff suppressed because it is too large Load Diff

View File

@@ -1,473 +0,0 @@
/* map.c 9/4/2012 dwg - added support for four more drives I: to L: */
/* map.c 8/3/2012 dwg - added DEV_PPPSD and DEV_HDSK, fixed end of drives */
/* map.c 6/7/2012 dwg - */
#include "portab.h"
#include "globals.h"
#include "stdio.h"
#include "stdlib.h"
#include "memory.h"
#include "cpmbind.h"
/* #include "cbioshdr.h" */
#include "infolist.h"
#include "dphdpb.h"
#include "dphmap.h"
#include "metadata.h"
#include "clogical.h"
#include "applvers.h"
#include "diagnose.h"
#include "cnfgdata.h"
#include "syscfg.h"
/* #define MAXDRIVE 12 */
#define BDOS 5 /* memory address of BDOS invocation */
#define HIGHSEG 0x0C000 /* memory address of system config */
#define GETSYSCFG 0x0F000 /* HBIOS function for Get System Configuration */
/* Drive List Geometry */
#define COL1 5
#define COL2 25
#define COL3 45
#define COL4 65
#define LINE 3
/* Logical Unit List Geometry */
#define LGUT 5
#define COL1A 0
#define COL2A (80/3)
#define COL3A (2*COL2A)
/* Nomenclature Geometry */
#define LINE2 9
/* Misc Info Geometry */
#define CDLINE 7
/* BDOS Function number */
#define RETCURR 25
/* function defined in bdoscall.asm */
extern lurst();
struct BIOS * pBIOS;
struct DPH * pDPH;
struct CNFGDATA * pCNFGDATA;
struct SYSCFG * pSYSCFG;
int devunit;
int dev;
int unit;
int currlu;
int numlu;
int drivenum;
int drive;
int deflu;
char szTemp[128];
int readsec(drive,track,sector,buffer)
int drive;
int track;
int sector;
unsigned int buffer;
{
ireghl = pSELDSK;
iregbc = drive;
iregde = 0;
bioscall();
ireghl = pSETTRK;
iregbc = track;
bioscall();
ireghl = pSETSEC;
iregbc = sector;
bioscall();
ireghl = pSETDMA;
iregbc = buffer;
bioscall();
ireghl = pREAD;
bioscall();
return irega;
}
int haslu(dr)
int dr;
{
if(0 < lugnum(dr)) {
return TRUE;
} else {
return FALSE;
}
}
void dispdph(l,c,drive,ptr)
int l;
int c;
char drive;
struct DPH *ptr;
{
/*
unsigned int xlt;
unsigned int rv1;
unsigned int rv2;
unsigned int rv3;
unsigned int dbf;
unsigned int dpb;
unsigned int csv;
unsigned int alv;
unsigned char sigl;
unsigned char sigu;
unsigned int current;
unsigned int number;
*/
/* 8/3/2012 dwg - detect end of drives properly */
ireghl = pGETLU;
iregbc = drive-'A';
bioscall();
if(1 == irega) {
return;
}
crtlc(l,c);
printf("%c: ",drive);
devunit = lugdu(drive-'A');
dev = devunit & 0xf0;
unit = devunit & 0x0f;
currlu = lugcur(drive-'A');
switch(dev) {
case DEV_MD:
if(0 == unit) printf("ROM");
if(1 == unit) printf("RAM");
break;
case DEV_FD:
printf("FD%d",unit);
break;
case DEV_IDE:
printf("IDE%d",unit);
break;
case DEV_ATAPI:
printf("ATAPI%d",unit);
break;
case DEV_PPIDE:
printf("PPIDE%d",unit);
break;
case DEV_SD:
printf("SD%d",unit);
break;
case DEV_PRPSD:
printf("PRPSD%d",unit);
break;
case DEV_PPPSD:
printf("PPPSD%d",unit);
break;
case DEV_HDSK:
printf("HDSK%d",unit);
break;
default:
printf("UNK");
break;
};
if('L' == (unsigned char)ptr->sigl) {
if('U' == (unsigned char)ptr->sigu) {
/* printf("-LU%d",(int)ptr->current); */
printf("-LU%d",currlu);
}
}
/* printf("dpb=0x%04x, ",(unsigned int)ptr->dpb);
printf("sigl=0x%02x, ",(unsigned char)ptr->sigl);
printf("sigu=0x%02x, ",(unsigned char)ptr->sigu);
printf("curr=0x%04x, ",(unsigned int)ptr->current);
printf("numb=0x%04x", (unsigned int)ptr->number);
*/
}
int main(argc,argv)
int argc;
char *argv[];
{
int i;
int mylu;
int drivenum;
int column;
int l;
int line;
int startlu;
int limit;
char bRunning;
char szDrive[32];
char szLuNum[32];
char szWP[2];
struct INFOLIST * pINFOLIST;
if(argc == 3) {
strcpy(szDrive,argv[1]);
strcpy(szLuNum,argv[2]);
mylu = atoi(szLuNum);
if(strlen(szDrive) == 2) {
if(':' == szDrive[1]) {
switch(szDrive[0]) {
case 'a':
case 'A':
luscur(0,mylu);
break;
case 'b':
case 'B':
luscur(1,mylu);
break;
case 'c':
case 'C':
luscur(2,mylu);
break;
case 'd':
case 'D':
luscur(3,mylu);
break;
case 'e':
case 'E':
luscur(4,mylu);
break;
case 'f':
case 'F':
luscur(5,mylu);
break;
case 'g':
case 'G':
luscur(6,mylu);
break;
case 'h':
case 'H':
luscur(7,mylu);
break;
case 'i':
case 'I':
luscur(8,mylu);
break;
case 'j':
case 'J':
luscur(9,mylu);
break;
case 'k':
case 'K':
luscur(10,mylu);
break;
case 'l':
case 'L':
luscur(11,mylu);
break;
default:
break;
}
}
}
exit(1);
}
pBIOS = BIOSAD;
hregbc = GETSYSCFG; /* function = Get System Config */
hregde = HIGHSEG; /* addr of dest (must be high) */
diagnose(); /* invoke the NBIOS function */
pSYSCFG = HIGHSEG;
crtinit(pSYSCFG->cnfgdata.termtype);
crtclr();
crtlc(0,0);
printf("MAP.COM %d/%d/%d v%d.%d.%d (%d)",
A_MONTH,A_DAY,A_YEAR,A_RMJ,A_RMN,A_RUP,A_RTP);
printf(" dwg - System Storage Drives and Logical Units");
ireghl = pGETINFO;
bioscall();
pINFOLIST = ireghl;
crtlc(CDLINE,COL3A+LGUT);
printf("infolist.version %d\n",pINFOLIST->version);
pDPHMAP = (struct DPHMAPA *)pINFOLIST->dphmap;
dispdph(LINE, COL1,'A',(struct DPH *)pDPHMAP->drivea);
dispdph(LINE+1,COL1,'B',(struct DPH *)pDPHMAP->driveb);
dispdph(LINE+2,COL1,'C',(struct DPH *)pDPHMAP->drivec);
dispdph(LINE ,COL2,'D',(struct DPH *)pDPHMAP->drived);
dispdph(LINE+1,COL2,'E',(struct DPH *)pDPHMAP->drivee);
dispdph(LINE+2,COL2,'F',(struct DPH *)pDPHMAP->drivef);
dispdph(LINE, COL3,'G',(struct DPH *)pDPHMAP->driveg);
dispdph(LINE+1,COL3,'H',(struct DPH *)pDPHMAP->driveh);
dispdph(LINE+2,COL3,'I',(struct DPH *)pDPHMAP->drivei);
dispdph(LINE ,COL4,'J',(struct DPH *)pDPHMAP->drivej);
dispdph(LINE+1,COL4,'K',(struct DPH *)pDPHMAP->drivek);
dispdph(LINE+2,COL4,'L',(struct DPH *)pDPHMAP->drivel);
dregbc = RETCURR;
bdoscall();
drive = drega;
crtlc(CDLINE,5);
printf("Current drive is %c:",'A'+drive);
devunit = lugdu(drive);
dev = devunit & 0xf0;
unit = devunit & 0x0f;
currlu = lugcur(drive);
deflu = currlu;
numlu = lugnum(drive);
crtlc(CDLINE,COL2A+LGUT);
printf("Number of LUs is %d\n",lugnum(drive));
if(0<numlu) {
crtlc(LINE2,COL1A+LGUT-1);
printf("LU P -----Label------");
crtlc(LINE2,COL2A+LGUT-1);
printf("LU P -----Label------");
crtlc(LINE2,COL3A+LGUT-1);
printf("LU P -----Label------");
startlu = 0;
limit = startlu+39;
if(limit>numlu) limit = numlu;
bRunning = 1;
while(1 == bRunning) {
line = LINE2+1;
column = 0;
for(l=0;l<13;l++) {
crtlc(line+l,0);
/* 1 2 3 4 */
/* 1234567890123456789012345678901234567890 */
printf(" ");
/* 5 6 7 */
/* 123456789012345678901234567890123456789 */
printf(" ");
}
for(i=startlu;i<limit;i++) {
int pad;
if (i >= 100)
pad = 0;
else if (i >= 10)
pad = 1;
else
pad = 2;
luscur(drive,i);
readsec(drive,0,11,&metadata);
metadata.term = 0;
if(TRUE == metadata.writeprot) strcpy(szWP,"*");
else strcpy(szWP," ");
switch(column++) {
case 0:
crtlc(line,COL1A+LGUT-2+pad);
printf("%d %s %s",i,szWP,metadata.label);
break;
case 1:
crtlc(line,COL2A+LGUT-2+pad);
printf("%d %s %s",i,szWP,metadata.label);
break;
case 2:
crtlc(line,COL3A+LGUT-2+pad);
printf("%d %s %s",i,szWP,metadata.label);
column = 0;
line++;
break;
}
}
crtlc(23,0);
printf("Options( N(ext), P(revious), Q(uit) )? ");
dregbc = 1; /* CONIN */
bdoscall();
switch(drega) {
case 'Q':
case 'q':
case 'X':
case 'x':
case 3:
bRunning = 0;
break;
case 'N':
case 'n':
case ' ':
startlu += 39;
if(startlu>numlu) startlu=0;
limit = startlu+39;
if(limit > numlu) limit = numlu;
break;
case 'P':
case 'p':
startlu -= 39;
if(startlu < 0) startlu = 0;
limit = startlu+39;
if (limit > numlu) limit = numlu;
break;
default:
printf("%c",7);
break;
}
} /* end of (1==bRunning) */
luscur(drive,deflu);
}
}
/****************/
/* eof - cmap.c */
/****************/

View File

@@ -1,27 +0,0 @@
; memory.asm 2/1/2012 dwg - memory library implementation
maclib z80
;memcpy macro h=src,d==dst,bc=size
public x$memcpy
x$memcpy:
ldir
ret
; memset macro h=dst,a=data,c=siz
public x$memset
x$memset:
push psw
x$ms$loop:
pop psw
mov m,a
inx h
dcx b
push psw
mov a,b
ora c
jnz x$ms$loop
pop psw
ret
; eof - memory.asm


View File

@@ -1,8 +0,0 @@
/* memory.h 3/13/2012 dwg - POSIX-like memory functions */
extern void memcmp();
extern void memcpy();
extern void memset();


View File

@@ -1,24 +0,0 @@
; memory.lib 2/17/2012 dwg - review for release 1.5.1.0
; memory.lib 2/11/2012 dwg - review for release 1.5
; memory.lib 2/04/2012 dwg - adjust for new macros
; memory.lib 1/13/2012 dwg - POSIX memcpy and memset
extrn x$memcpy
extrn x$memset
memcpy macro dst,src,siz
lxi d,dst ; load 1st positional parameter into reg
lxi h,src ; load 2nd positional parameter into reg
lxi b,siz ; load 3rd positional parameter into reg
call x$memcpy ; call actual routine in see memory.asm
endm
memset macro dst,data,siz
lxi h,dst ; load 1st positional parameter into reg
mvi a,data ; load 2nd positional parameter into reg
lxi b,siz ; load 3rd positional parameter into reg
call x$memset ; call actual routine in see memory.asm
endm
; eof - memory.lib


View File

@@ -1,184 +0,0 @@
/* menu.c 8/4/2012 dwg - framework of newcode */
/* This code is known to work in both ANSI and WSYSE termtype modes */
#include "stdio.h"
#include "portab.h"
#include "globals.h"
#include "cpmbios.h"
#include "bioscall.h"
#include "cpmbdos.h"
#include "bdoscall.h"
#include "sectorio.h"
#include "diagnose.h"
#include "ctermcap.h"
#include "clogical.h"
#include "metadata.h"
#include "applvers.h"
#include "cnfgdata.h"
#include "syscfg.h"
#define BDOS 5 /* memory address of BDOS invocation */
#define HIGHSEG 0x0C000 /* memory address of system config */
#define GETSYSCFG 0x0F000 /* HBIOS function for Get System Configuration */
#define HORIZ "-"
#define VERTI "|"
#define SPACE ' '
struct SYSCFG * pSYSCFG = HIGHSEG;
struct MENUENT {
char * szName;
void (*meFunc)();
struct MENUENT * pmeNext;
};
mfFile();
mfEdit();
mfView();
mfOptions();
mfTransfer();
mfScript();
mfTools();
mfHelp();
struct MENUENT meHelp = { "Help", &mfHelp, NULL };
struct MENUENT meTools = { "Tools", &mfTools, &meHelp };
struct MENUENT meScript = { "Script", &mfScript, &meTools };
struct MENUENT meTransfer = { "Transfer", &mfTransfer, &meScripts };
struct MENUENT meOptions = { "Otions", &mfOptions, &meTransfer };
struct MENUENT meView = { "View", &mfView, &meOptions };
struct MENUENT meEdit = { "Edit", &mfEdit, &meView };
struct MENUENT meFile = { "File", &mfFile, &meEdit };
struct MENU {
struct MENUENT * pFirstEnt;
};
struct MENU mMain = { &meFile };
struct WINDOW {
char ull;
char ulc;
char lrl;
char lrc;
char bFill;
struct MENU * pMenu;
};
struct WINDOW wRoot = { 1, 1, 23, 80, SPACE, &mMain};
window(win)
struct WINDOW * win;
{ char width,height,x,y,filler,i;
struct MENU * pm;
struct MENUENT * pme;
i = 0;
width = win->lrc-win->ulc+1;
height = win->lrl-win->ull+1;
for(y=0;y<height;y++) {
crtlc(win->ull+y,win->lrc);
printf(VERTI);
}
for(y=0;y<height;y++) {
crtlc(win->ull+y,win->ulc);
printf(VERTI);
}
crtlc(win->ull,win->ulc);
for(x=0;x<width;x++) {
printf(HORIZ);
}
crtlc(win->lrl,win->ulc);
for(x=0;x<width;x++) {
printf(HORIZ);
}
filler = win->bFill;
if(0 != filler) {
width = win->lrc-win->ulc-1;
height = win->lrl-win->ull-1;
for(y=0;y<height;y++) {
crtlc(win->ull+y+1,win->ulc+1);
for(x=0;x<width;x++) {
printf("%c",filler);
}
}
}
pm = win->pMenu;
if(0 != pm) {
crtlc(win->ull+1,win->ulc+1);
pme = pm->pFirstEnt;
while(0 != pme) {
printf("%s ",pme->szName);
pme = pme->pmeNext;
}
}
}
mfFile()
{
}
mfEdit()
{
}
mfView()
{
}
mfOptions()
{
}
mfTransfer()
{
}
mfScript()
{
}
mfTools()
{
}
mfHelp()
{
}
main(argc,argv)
int argc;
char *argv[];
{
hregbc = GETSYSCFG; /* function = Get System Config */
hregde = HIGHSEG; /* addr of dest (must be high) */
diagnose(); /* invoke the NBIOS function */
pSYSCFG = HIGHSEG;
crtinit(pSYSCFG->cnfgdata.termtype);
crtclr();
window(&wRoot);
crtlc(wRoot.lrl,wRoot.ulc);
}


View File

@@ -1,184 +0,0 @@
/* menu.c 8/4/2012 dwg - framework of newcode */
/* This code is known to work in both ANSI and WSYSE termtype modes */
#include "stdio.h"
#include "portab.h"
#include "globals.h"
#include "cpmbios.h"
#include "bioscall.h"
#include "cpmbdos.h"
#include "bdoscall.h"
#include "sectorio.h"
#include "diagnose.h"
#include "ctermcap.h"
#include "clogical.h"
#include "metadata.h"
#include "applvers.h"
#include "cnfgdata.h"
#include "syscfg.h"
#define BDOS 5 /* memory address of BDOS invocation */
#define HIGHSEG 0x0C000 /* memory address of system config */
#define GETSYSCFG 0x0F000 /* HBIOS function for Get System Configuration */
#define HORIZ "-"
#define VERTI "|"
#define SPACE ' '
struct SYSCFG * pSYSCFG = HIGHSEG;
struct MENUENT {
char * szName;
void (*meFunc)();
struct MENUENT * pmeNext;
};
mfFile();
mfEdit();
mfView();
mfOptions();
mfTransfer();
mfScript();
mfTools();
mfHelp();
struct MENUENT meHelp = { "Help", &mfHelp, NULL };
struct MENUENT meTools = { "Tools", &mfTools, &meHelp };
struct MENUENT meScript = { "Script", &mfScript, &meTools };
struct MENUENT meTransfer = { "Transfer", &mfTransfer, &meScripts };
struct MENUENT meOptions = { "Otions", &mfOptions, &meTransfer };
struct MENUENT meView = { "View", &mfView, &meOptions };
struct MENUENT meEdit = { "Edit", &mfEdit, &meView };
struct MENUENT meFile = { "File", &mfFile, &meEdit };
struct MENU {
struct MENUENT * pFirstEnt;
};
struct MENU mMain = { &meFile };
struct WINDOW {
char ull;
char ulc;
char lrl;
char lrc;
char bFill;
struct MENU * pMenu;
};
struct WINDOW wRoot = { 1, 1, 23, 80, SPACE, &mMain};
window(win)
struct WINDOW * win;
{ char width,height,x,y,filler,i;
struct MENU * pm;
struct MENUENT * pme;
i = 0;
width = win->lrc-win->ulc+1;
height = win->lrl-win->ull+1;
for(y=0;y<height;y++) {
crtlc(win->ull+y,win->lrc);
printf(VERTI);
}
for(y=0;y<height;y++) {
crtlc(win->ull+y,win->ulc);
printf(VERTI);
}
crtlc(win->ull,win->ulc);
for(x=0;x<width;x++) {
printf(HORIZ);
}
crtlc(win->lrl,win->ulc);
for(x=0;x<width;x++) {
printf(HORIZ);
}
filler = win->bFill;
if(0 != filler) {
width = win->lrc-win->ulc-1;
height = win->lrl-win->ull-1;
for(y=0;y<height;y++) {
crtlc(win->ull+y+1,win->ulc+1);
for(x=0;x<width;x++) {
printf("%c",filler);
}
}
}
pm = win->pMenu;
if(0 != pm) {
crtlc(win->ull+1,win->ulc+1);
pme = pm->pFirstEnt;
while(0 != pme) {
printf("%s ",pme->szName);
pme = pme->pmeNext;
}
}
}
mfFile()
{
}
mfEdit()
{
}
mfView()
{
}
mfOptions()
{
}
mfTransfer()
{
}
mfScript()
{
}
mfTools()
{
}
mfHelp()
{
}
main(argc,argv)
int argc;
char *argv[];
{
hregbc = GETSYSCFG; /* function = Get System Config */
hregde = HIGHSEG; /* addr of dest (must be high) */
diagnose(); /* invoke the NBIOS function */
pSYSCFG = HIGHSEG;
crtinit(pSYSCFG->cnfgdata.termtype);
crtclr();
window(&wRoot);
crtlc(wRoot.lrl,wRoot.ulc);
}


View File

@@ -1,153 +0,0 @@
/* menu.c 8/4/2012 dwg - framework of newcode */
/* This code is known to work in bot ANSI and WSYSE termtype modes */
#include "stdio.h"
#include "portab.h"
#include "globals.h"
#include "cpmbios.h"
#include "bioscall.h"
#include "cpmbdos.h"
#include "bdoscall.h"
#include "sectorio.h"
#include "diagnose.h"
#include "ctermcap.h"
#include "clogical.h"
#include "metadata.h"
#include "applvers.h"
#include "cnfgdata.h"
#include "syscfg.h"
#define BDOS 5 /* memory address of BDOS invocation */
#define HIGHSEG 0x0C000 /* memory address of system config */
#define GETSYSCFG 0x0F000 /* HBIOS function for Get System Configuration */
struct SYSCFG * pSYSCFG = HIGHSEG;
#define NORMAL 0
#define BRIGHT 1
#define UNDER 4
#define BLINK 5
#define REVERSE 7
#define CANCEL 8
#define BLACK 0
#define RED 1
#define GREEN 2
#define YELLOW 3
#define BLUE 4
#define MAGENTA 5
#define CYAN 6
#define WHITE 7
#define FG 30
#define BG 40
struct BOX {
char ull;
char ulc;
char lrl;
char lrc;
char fgnd;
char bgnd;
};
struct BOX mainbx = { 1, 1, 23, 80, 0, 0};
char normalco[] = { 27, '[', NORMAL, ';', BG+BLACK, ';', FG+GREEN, 'm', 0 };
/* char mainco[] = { 27, '[', BRIGHT, ';', BG+RED, ';', FG+BLACK, 'm', 0 }; */
char mainco[] = { 27, '[', BG+RED, ';', FG+BLACK, 'm', 0 };
box(bx,borderco)
struct BOX * bx;
char * borderco;
{
char width;
char height;
char x;
char y;
/* printf("%s",borderco);
*/
width = bx->lrc-bx->ulc+1;
height = bx->lrl-bx->ull+1;
for(y=0;y<height;y++) {
crtlc(bx->ull+y,bx->lrc);
printf("|");
}
for(y=0;y<height;y++) {
crtlc(bx->ull+y,bx->ulc);
printf("|");
}
crtlc(bx->ull,bx->ulc);
for(x=0;x<width;x++) {
printf("-");
}
crtlc(bx->lrl,bx->ulc);
for(x=0;x<width;x++) {
printf("-");
}
}
fill(bx,filler,fillco)
struct BOX * bx;
char filler;
char * fillco;
{
char width;
char height;
char x;
char y;
width = bx->lrc-bx->ulc-1;
height = bx->lrl-bx->ull-1;
/* printf("%s",fillco);
*/
for(y=0;y<height;y++) {
crtlc(bx->ull+y+1,bx->ulc+1);
for(x=0;x<width;x++) {
printf("%c",filler);
}
}
}
main(argc,argv)
int argc;
char *argv[];
{
hregbc = GETSYSCFG; /* function = Get System Config */
hregde = HIGHSEG; /* addr of dest (must be high) */
diagnose(); /* invoke the NBIOS function */
pSYSCFG = HIGHSEG;
crtinit(pSYSCFG->cnfgdata.termtype);
crtclr();
/* banner("MENU");
*/
box(&mainbx,mainco);
fill(&mainbx,'%',normalco);
crtlc(mainbx.lrl,mainbx.ulc);
}


View File

@@ -1,253 +0,0 @@
/* meta.c 6/7/2012 dwg - view and edit the metadata */
#include "stdio.h"
#include "portab.h"
#include "globals.h"
#include "cpmbios.h"
#include "bioscall.h"
#include "cpmbdos.h"
#include "bdoscall.h"
#include "sectorio.h"
#include "diagnose.h"
#include "ctermcap.h"
#include "clogical.h"
#include "metadata.h"
#include "applvers.h"
#include "cnfgdata.h"
#include "syscfg.h"
#define BDOS 5 /* memory address of BDOS invocation */
#define HIGHSEG 0x0C000 /* memory address of system config */
#define GETSYSCFG 0x0F000 /* HBIOS function for Get System Configuration */
#define METALINE 7
#define METACOL 0
/* Application Globals */
int bRunning;
int deflu;
int drive;
int logunit;
int numlu;
struct SYSCFG * pSYSCFG = HIGHSEG;
char hexchar(val, bitoff)
{
static char hexmap[] = "0123456789ABCDEF";
return hexmap[(val >> bitoff) & 0xF];
}
char * fmthexbyte(val, buf)
unsigned char val;
char * buf;
{
buf[0] = hexchar(val, 4);
buf[1] = hexchar(val, 0);
buf[2] = '\0';
return buf;
}
char * fmthexword(val, buf)
unsigned int val;
char * buf;
{
buf[0] = hexchar(val, 12);
buf[1] = hexchar(val, 8);
fmthexbyte(val, buf + 2);
return buf;
}
display()
{
int i;
char buf[5];
/* Set Current Logical Unit */
luscur(drive,logunit);
/* Read the Prefix Sector */
rdsector(drive,0,11,&metadata);
crtlc(METALINE+0,METACOL);
printf("metadata.signature = 0x%s", fmthexword(metadata.signature, buf));
crtlc(METALINE+1,METACOL);
printf("metadata.platform = 0x%s", fmthexbyte(metadata.platform, buf));
crtlc(METALINE+2,METACOL);
printf("metadata.formatter = \"");
for(i=0;i<8;i++) {
printf("%c",metadata.formatter[i]);
}
printf("\"");
crtlc(METALINE+3,METACOL);
printf("metadata.drive = %c:",metadata.drive+'A');
if(metadata.logunit != logunit) {
metadata.logunit = logunit;
metadata.update++;
wrsector(drive,0,11,&metadata);
}
crtlc(METALINE+4,METACOL);
printf("metadata.logunit = %d(rel0) of %d ",metadata.logunit,numlu);
crtlc(METALINE+5,METACOL);
printf("metadata.writeprot = ");
switch(metadata.writeprot) {
case TRUE: printf("TRUE "); break;
case FALSE: printf("FALSE"); break;
default: printf("Unk!!"); break;
}
crtlc(METALINE+6,METACOL);
printf("metadata.update = %d",metadata.update);
crtlc(METALINE+7,METACOL);
printf("metadata.{ver} = %d.%d.%d.%d",
metadata.rmj,metadata.rmn,metadata.rup,metadata.rup);
crtlc(METALINE+8,METACOL);
printf("metadata.label = \"");
for(i=0;i<16;i++) {
printf("%c",metadata.label[i]);
}
printf("\"");
crtlc(METALINE+9,METACOL);
printf("metadata.infloc = 0x%s", fmthexword(metadata.infloc, buf));
crtlc(METALINE+10,METACOL);
printf("metadata.cpmloc = 0x%s", fmthexword(metadata.cpmloc, buf));
crtlc(METALINE+11,METACOL);
printf("metadata.cpmend = 0x%s", fmthexword(metadata.cpmend, buf));
crtlc(METALINE+12,METACOL);
printf("metadata.cpment = 0x%s", fmthexword(metadata.cpment, buf));
}
int menu(state)
int state;
{
int retcode;
crtlc(METALINE+14,METACOL);
printf(" ");
printf(" ");
crtlc(METALINE+14,METACOL);
printf("Options( ");
if(0 < logunit) {
printf(" -{prev lu}");
}
if(logunit < (numlu-1)) {
printf(" +{next lu}");
}
if(TRUE == metadata.writeprot) {
printf(" u{nprotect}");
}
if(FALSE == metadata.writeprot) {
printf(" p{rotect}");
}
printf(" x{quit} ): ");
dregbc = 1;
bdoscall();
retcode = TRUE;
switch(drega) {
case 'X':
case 'x':
retcode = FALSE; break;
case '+':
if(logunit < (numlu-1)) {
logunit++;
} else {
printf("%c",7);
}
break;
case '-':
if(0 < logunit) {
logunit--;
} else {
printf("%c",7);
}
break;
case 'p':
metadata.writeprot = TRUE;
metadata.update++;
wrsector(drive,0,11,&metadata);
break;
case 'u':
metadata.writeprot = FALSE;
metadata.update++;
wrsector(drive,0,11,&metadata);
break;
default: printf("%c",7); break;
}
return retcode;
}
main(argc,argv)
int argc;
char *argv[];
{
hregbc = GETSYSCFG; /* function = Get System Config */
hregde = HIGHSEG; /* addr of dest (must be high) */
diagnose(); /* invoke the NBIOS function */
/* printf("TT is %d\n",pSYSCFG->cnfgdata.termtype); */
pSYSCFG = HIGHSEG;
crtinit(pSYSCFG->cnfgdata.termtype);
crtclr();
crtlc(0,0);
banner("META");
dregbc = RETCURRDISK;
bdoscall();
drive = drega;
numlu = lugnum(drive);
deflu = lugcur(drive);
logunit = deflu;
bRunning = TRUE;
while(TRUE == bRunning) {
display();
bRunning = menu(1);
}
luscur(drive,deflu);
crtlc(23,0);
}


View File

@@ -1,523 +0,0 @@
; metadata.asm 7/30/2012 dwg - set c=0 for BIOS WRITE calls per Wayne
; metadata.asm 2/17/2012 dwg - review for release 1.5.1.0
; metadata.asm 2/11/2012 dwg - review for release 1.5
; metadata.asm 2/ 4/2012 dwg - metadata library implementation
; Copyright (C) 2011-2012 Douglas Goodall Licensed under GPL Ver 3.
;
; This file is part of NuBiosDWG and is free software: you can
; redistribute it and/or modify it under the terms of the GNU
; General Public License as published by the Free Software Foundation,
; either version 3 of the License, or (at your option) any later version.
; This file is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
; GNU General Public License for more details.
; You should have received a copy of the GNU General Public License
; along with it. If not, see <http://www.gnu.org/licenses/>.
maclib portab
maclib globals
maclib cpmbios
maclib cpmbdos
maclib memory ; has x$memset
maclib applvers ; has A$RMJ, A$RMN, A$RUP, A$RTP
maclib printers
maclib stdlib ; SUCCESS and FAILURE
; metadata.lib 1/31/2012 dwg - macros to manipulate drive metadata
;
; update$meta buffer | x$u$meta hl -> buffer
; init$meta buffer | x$i$meta hl -> buffer
; get$meta drive,buffer | x$g$meta hl -> buffer, c = drivenum
; put$meta drive,buffer | x$p$meta hl -> buffer, c = drivenum
; prot$meta drive | x$pr$meta c = drivenum
; unprot$meta drive | x$un$meta c = drivenum
;
;-------------------------------------------
;meta$debug equ TRUE
meta$debug equ FALSE
meta$sig5a equ 0
meta$siga5 equ 1
meta$prot equ 128-8-1-16-7
meta$updates equ 128-8-1-16-6
meta$rmj equ 128-8-1-16-4
meta$rmn equ 128-8-1-16-3
meta$rup equ 128-8-1-16-2
meta$rtp equ 128-8-1-16-1
meta$label equ 128-8-1-16
meta$term equ 128-8-1
meta$info$loc equ 128-8
meta$cpm$loc equ 128-6
meta$dat$end equ 128-4
meta$cpm$ent equ 128-2
meta$label$len equ meta$term-meta$label
;-----------------------------
crlf db CR,LF,'$'
;-----------------------------
page
public x$u$meta
x$u$meta:
shld x$u$bufptr
; lhld x$u$bufptr
lxi d,meta$prot
dad d
mov a,m
cpi TRUE ; is metadata write protected
jz x$u$proterr ; if so go around update code
; increment the update count
lhld x$u$bufptr
lxi d,meta$updates
dad d
mov e,m ; pick up LO byte into E
inx h
mov d,m ; pick up HO byte into D
inx d ; increment DE
mov m,d
dcx h
mov m,e
; update last written version quad
lhld x$u$bufptr
lxi d,meta$rmj
dad d
mvi a,A$RMJ
mov m,a
inx h
mvi a,A$RMN
mov m,a
inx h
mvi a,A$RUP
mov m,a
inx h
mvi a,A$RTP
mov m,a
lhld x$u$bufptr
lxi d,meta$term
dad d
mov a,m
cpi '$'
jz x$u$end
lhld x$u$bufptr
lxi d,meta$label
dad d
mvi a,' '
mvi c,16
call x$memset
lhld x$u$bufptr
lxi d,meta$term
dad d
mvi a,'$'
mov m,a
x$u$end:
mvi a,SUCCESS
ret
x$u$proterr:
mvi a,FAILURE
ret
x$u$bufptr ds 2
;-----------------------------
page
public x$i$meta
x$i$meta:
shld x$i$bufptr
lhld x$i$bufptr
lxi d,meta$sig5a
dad d
mvi a,05ah
mov m,a
inx h
mvi a,0a5h
mov m,a
lhld x$i$bufptr
lxi d,meta$prot
dad d
mvi a,FALSE
mov m,a
lhld x$i$bufptr
lxi d,meta$updates
dad d
mvi a,0
mov m,a
inx h
mov m,a
lhld x$i$bufptr
lxi d,meta$label
dad d ; hl -> dest
mvi a,' '
mvi c,meta$label$len
call x$memset
lhld x$i$bufptr
lxi d,meta$term
dad d
mvi a,'$'
mov m,a
lhld x$i$bufptr
lxi d,meta$updates
dad d
mvi a,0
mov m,a
inx h
mov m,a
lhld x$i$bufptr
call x$u$meta
ret
x$i$bufptr ds 2
;-------------------------------------------
page
public x$g$meta
x$g$meta;
shld x$g$bufptr ; entry hl has bufptr
mov a,c ; entry c has drivenum
sta x$g$drivenum
; lda x$g$drivenum
mov c,a
call BISELDSK
lxi b,0
call BISETTRK
lxi b,11
call BISETSEC
lhld x$g$bufptr
push h
pop b
call BISETDMA
call BIREAD
lhld x$g$bufptr
lxi d,meta$siga5
dad d
mov a,m
cpi 0a5h
jnz x$g$needs$init
lhld x$g$bufptr
lxi d,meta$sig5a
dad d
mov a,m
cpi 05ah
jnz x$g$needs$init
jmp x$g$fini
x$g$needs$init:
lhld x$g$bufptr
call x$i$meta
mvi c,0 ; default to 0 per Wayne
call BIWRITE
x$g$fini:
mvi c,13
call BDOS
ret
x$g$bufptr ds 2
x$g$drivenum ds 1
;-----------------------------------
page
public x$p$meta
x$p$meta:
shld x$p$bufptr
mov a,c
sta x$p$drivenum
IF meta$debug eq TRUE
conout 'x'
conout '$'
conout 'p'
conout '$'
printf 'meta called, drive='
lda x$p$drivenum
mov l,a
mvi h,0
call pr$d$word
printf ', buffer='
lhld x$p$bufptr
call pr$h$word
print crlf
ENDIF
; increment the update count
lhld x$p$bufptr ; hl -> buffer
lxi d,meta$updates ; de = offset to updates word
dad d ; hl -> updates word
mov e,m ; e = LO byte of updates
inx h ; hl -> HO byte
mov d,m ; d = HO byte of updates
inx d ; increment DE (updates)
mov m,d ; put back HO byte
dcx h ; back up ptr
mov m,e ; put back LO byte
; update last written version quad
lhld x$p$bufptr
lxi d,meta$rmj
dad d
mvi a,A$RMJ
mov m,a
inx h
mvi a,A$RMN
mov m,a
inx h
mov a,A$RUP
mov m,a
inx h
mvi a,A$RTP
mov m,a
lhld x$p$bufptr
lxi d,meta$prot
dad d
mov a,m
cpi TRUE ; if metadata is write protected
jz x$p$fini ; jump around update code
lda x$p$drivenum
mov c,a
call BISELDSK
lxi b,0
call BISETTRK
lxi b,11
call BISETSEC
lhld x$p$bufptr
push h
pop b
call BISETDMA
mvi c,0 ; default to 0 per Wayne
call BIWRITE
IF meta$debug eq TRUE
printf 'return from BIWRITE is '
mov l,a
mvi h,0
call pr$h$word
print crlf
ENDIF
x$p$fini:
ret
x$p$bufptr ds 2
x$p$drivenum ds 1
;-----------------------
page
public x$pr$meta
x$pr$meta:
mov a,c
sta x$pr$drivenum
IF meta$debug eq TRUE
conout 'x'
conout '$'
printf 'pr'
conout '$'
printf 'meta called, drive='
lda x$pr$drivenum
mov l,a
mvi h,0
call pr$d$word
print crlf
ENDIF
lda x$pr$drivenum
mov c,a
call BISELDSK
lxi b,0
call BISETTRK
lxi b,11
call BISETSEC
lxi b,x$pr$buffer
call BISETDMA
call BIREAD
IF meta$debug eq TRUE
printf 'return from BIREAD is '
mov l,a
mvi h,0
call pr$h$word
print crlf
ENDIF
lxi h,x$pr$buffer
lxi d,meta$prot
dad d
mvi a,TRUE
mov m,a
lxi h,x$pr$buffer
lxi d,meta$updates
dad d
mov e,m
inx h
mov d,m
inx d
mov m,d
dcx h
mov m,e
lda x$pr$drivenum
mov c,a
call BISELDSK
lxi b,0
call BISETTRK
lxi b,11
call BISETSEC
lxi b,x$pr$buffer
call BISETDMA
mvi c,0 ; default to 0 per Wayne
call BIWRITE
IF meta$debug eq TRUE
printf 'return from BIWRITE is '
mov l,a
mvi h,0
call pr$h$word
print crlf
ENDIF
mvi c,13
call BDOS
ret
x$pr$drivenum ds 1
x$pr$buffer ds 128
;-----------------------
page
public x$un$meta
x$un$meta:
mov a,c
sta x$un$drivenum
IF meta$debug eq TRUE
conout 'x'
conout '$'
printf 'un'
conout '$'
printf 'meta called, drive='
lda x$un$drivenum
mov l,a
mvi h,0
call pr$d$word
print crlf
ENDIF
lda x$un$drivenum
mov c,a
call BISELDSK
lxi b,0
call BISETTRK
lxi b,11
call BISETSEC
lxi b,x$un$buffer
call BISETDMA
call BIREAD
IF meta$debug eq TRUE
printf 'return from BIREAD is '
mov l,a
mvi h,0
call pr$h$word
print crlf
ENDIF
lxi h,x$un$buffer
lxi d,meta$prot
dad d
mvi a,FALSE
mov m,a
lxi h,x$un$buffer
lxi d,meta$updates
dad d
mov e,m
inx h
mov d,m
inx d
mov m,d
dcx h
mov m,e
lda x$un$drivenum
mov c,a
call BISELDSK
lxi b,0
call BISETTRK
lxi b,11
call BISETSEC
lxi b,x$un$buffer
call BISETDMA
mvi c,0 ; default to 0 per Wayne
call BIWRITE
IF meta$debug eq TRUE
printf 'return from BIWRITE is '
mov l,a
mvi h,0
call pr$h$word
print crlf
ENDIF
mvi c,13
call BDOS
ret
x$un$drivenum ds 1
x$un$buffer ds 128
;-----------------------
; eof - metadata.asm


View File

@@ -1,66 +0,0 @@
/*
* metadata.h 3/12/2012 dwg -
*
*/
extern initmeta();
extern getmeta();
extern putmeta();
/*
* This structure is the same as the metadata sector
* in RomWBW storage drives. (track 0 sector 11)
*
*/
struct MD_TAG {
char sig5a;
char siga5;
char platform;
char device;
char formatter[8];
char drive;
char lu;
char filler[128-34-12];
/* ... */
char prot;
int updates;
char rmj;
char rmn;
char rup;
char rtp;
char label[16];
char term;
unsigned int infoloc;
unsigned int cpmloc;
unsigned int datend;
unsigned int cpment;
};
struct METADATA {
unsigned int signature;
unsigned char platform;
unsigned char device;
unsigned char formatter[8];
unsigned char drive;
unsigned int logunit;
unsigned char unused[0x51];
unsigned char writeprot;
unsigned int update;
unsigned char rmj;
unsigned char rmn;
unsigned char rup;
unsigned char rtp;
unsigned char label[16];
unsigned char term;
unsigned int infloc;
unsigned int cpmloc;
unsigned int cpmend;
unsigned int cpment;
} metadata;


View File

@@ -1,86 +0,0 @@
; metadata.lib 2/17/2012 dwg - review for release 1.5.1.0
; metadata.lib 2/11/2012 dwg - review for release 1.5
; metadata.lib 2/ 3/2012 dwg - macro to manipulate drive metadata
;
;--------------------------------------------------------------------------
; update$meta buffer | x$u$meta hl -> buffer
; init$meta buffer | x$i$meta hl -> buffer
; get$meta drive,buffer | x$g$meta hl -> buffer, c = drivenum
; put$meta drive,buffer | x$p$meta hl -> buffer, c = drivenum
; prot$meta drive | x$pr$meta c = drivenum
; unprot$meta drive | x$un$meta c = drivenum
;--------------------------------------------------------------------------
; these must be kept in sync with prefix.asm and loader.asm
;
meta$sig5a equ 0 ; 1st signature byte
meta$siga5 equ 1 ; 2nd signature byte
meta$prot equ 128-8-1-16-7 ; write protect boolean
meta$updates equ 128-8-1-16-6 ; update counter
meta$rmj equ 128-8-1-16-4 ; Major Version
meta$rmn equ 128-8-1-16-3 ; Minor Version
meta$rup equ 128-8-1-16-2 ; Update Number
meta$rtp equ 128-8-1-16-1 ; Patch Number
meta$label equ 128-8-1-16 ; Drive Label (space padded)
meta$term equ 128-8-1 ; Dollar Sign String Term
meta$info$loc equ 128-8 ; pointer to info poked by ldr
meta$cpm$loc equ 128-6 ; location of CP/M
meta$dat$end equ 128-4 ; End of image load
meta$cpm$ent equ 128-2 ; Entryr point after relocation
;
meta$label$len equ meta$term-meta$label
;----------------------------------------------------------------------
extrn x$u$meta ; Update Metadata
extrn x$i$meta ; Initialize Metadata
extrn x$g$meta ; Get Metadata
extrn x$p$meta ; Put Metadata
extrn x$pr$meta ; Protect Metadata
extrn x$un$meta ; Unprotect Metadata
;----------------------------------------------------
; Read the metadata into the specified buffer from the specified drive
; (set up the entry registers then transfer to the library routine)
get$meta macro drive,buffer
mvi c,drive
lxi h,buffer
call x$g$meta
endm
;-----------------------------------
; Write the metadata from the specified buffer to the specified drive
; (set up the entry registers then transfer to the library routine)
put$meta macro drive,buffer
mov c,drive ; load 1st positional parameter into reg
lxi h,buffer ; load 2nd positional parameter into reg
call x$p$meta ; call actual routine in metadata.asm
endm
;-----------------------------------
; Update fields in the buffer with current data
; (set up the entry registers then transfer to the library routine)
update$meta macro buffer
lxi h,buffer ; load the parameter into reg as required
call x$u$meta ; call actual routine in metadata.asm
endm
;-----------------------------------
; Initialize the buffer with all required fields for first time use
; (set up the entry registers then transfer to the library routine)
init$meta macro buffer
lxi h,buffer ; load the parameter into reg as required
call x$i$meta ; call the actual routine in metadata.asm
endm
;-----------------------------------
; Write Protect the Metadata by setting the protect boolean
; (set up the entry registers then transfer to the library routine)
prot$meta macro drive
mvi c,drive ; load the parameter into reg as required
call x$pr$meta ; call the actual routine in metadata.asm
endm
;-----------------------------------
; Unprotect the Metadata by clearing the protect boolean
; (set up the entry registers then transfer to the library routine)
unprot$meta macro drive
mvi c,drive ; load the parameter into reg as required
call x$un$meta ; call the actual routine in metadata.asm
endm
;-----------------------------------
; eof - metadata.lib


View File

@@ -1,11 +0,0 @@
#include "stdio.h"
#include "rasm80.h"
main()
{
FILE * fd;
fd = fopen("rasm8080.com","w");
fwrite(rasm80,sizeof(rasm80),1,fd);
fclose(fd);
}


View File

@@ -1,115 +0,0 @@
/* monitor.c 7/22/2012 dwg - look around, see what's goin down */
#include "stdio.h"
#include "asmiface.h"
#include "ctermcap.h"
#include "cnfgdata.h"
#include "diagnose.h"
#include "syscfg.h"
struct SYSCFG * pSYSCFG;
char visible[256] = {
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 00 */
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 10 */
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* 20 */
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* 30 */
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* 40 */
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* 50 */
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* 60 */
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, /* 70 */
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 80 */
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 90 */
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* A0 */
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* B0 */
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* C0 */
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* D0 */
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* E0 */
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* F0 */
};
display(sector)
char * sector;
{
int i,j;
int offset;
unsigned char byte;
offset = 0;
for(i=0;i<8;i++) {
printf("%04x: ",sector+offset);
offset += 16;
for(j=0;j<16;j++) {
printf("%02x ",sector[(i*8)+j]);
}
printf(" ");
for(j=0;j<16;j++) {
byte = sector[(i*8)+j];
if(1 == visible[byte]) {
printf("%c",byte);
} else {
printf(".");
}
}
printf("\n");
}
printf("\n");
}
#define HIGHSEG 0x0c000
#define GETSYSCFG 0x0f000
main()
{
char bRun;
unsigned int offset;
struct SYSCFG * pSYSCFG;
pSYSCFG = HIGHSEG;
hregbc = GETSYSCFG; /* function = Get System Config */
hregde = HIGHSEG; /* addr of dest (must be high) */
diagnose(); /* invoke the NBIOS function */
crtinit(pSYSCFG->cnfgdata.termtype);
crtclr();crtlc(0,0);
printf("monitor.c 7/22/2012 dwg - view contents of memory");
offset = HIGHSEG;
bRun = 1;
while(1 == bRun) {
crtlc(3,0);
display(offset);
display(offset+128);
printf(
"Options: 0(0x0000) 1(0x1000) 2(0x2000) 3(0x3000) 4(0x4000) 5(0x5000)\n");
printf(
" 6(0x6000) 7(0x7000) 8(0x8000) 9(0x9000) a(0xa000) b(0xb000)\n");
printf(
" c(syscfg) n(ext) p(revious) q(uit) ?");
asmif(5,1,00);
printf("%c",0x0d);
switch(xrega) {
case '0': offset = 0x00000; break;
case '1': offset = 0x01000; break;
case '2': offset = 0x02000; break;
case '3': offset = 0x03000; break;
case '4': offset = 0x04000; break;
case '5': offset = 0x05000; break;
case '6': offset = 0x06000; break;
case '7': offset = 0x07000; break;
case '8': offset = 0x08000; break;
case '9': offset = 0x09000; break;
case 'a': offset = 0x0a000; break;
case 'b': offset = 0x0b000; break;
case 'd': offset = 0x0d000; break;
case 'c': offset = 0x0c000; break;
case 'n': offset += 2*128; break;
case 'p': offset -= 2*128; break;
case 'x':
case 'q': bRun = 0; break;
}
}
}


Some files were not shown because too many files have changed in this diff Show More