6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Fri Nov 22, 2024 11:13 pm

All times are UTC




Post new topic Reply to topic  [ 138 posts ]  Go to page Previous  1 ... 5, 6, 7, 8, 9, 10  Next
Author Message
PostPosted: Tue Oct 25, 2022 12:30 pm 
Offline

Joined: Fri Dec 21, 2018 1:05 am
Posts: 1119
Location: Albuquerque NM USA
https://www.youtube.com/watch?v=YtoE_I_Dx5o

This is a six-minute video showing how a new DOS65 disk is created from scratch on a 29.5MHz CRC65 SBC.
The console is set to 230400, CRC65 is set to serial bootstrap mode and a formatted blank CF disk installed before the video. Video starts with execution of a TeraTerm macro file, newDOS65CF.ttl. The fast moving part is in the first 11 seconds when serial bootstrap is first loaded which then loads and executes the CRC65 monitor. The monitor then load the DOS/65 binary and a helper program to save save DOS65 in CF disk's system track and autoboot program in CF's master boot record.
At 0:11 DOS/65 and monitor software are done loading, the CF disk is now auto-bootable into DOS/65.
-----------------------
XMODEM, assembler, and mkcom hex files are loaded into memory and saved as executable .com files in drive A of DOS/65.
At 0:26 shows the directory of drive A with XM.COM, ASM.COM, and MKCOM.COM installed.
-----------------------
XMODEM is used to load system utility programs into drive D. The utility programs are alloc208.asm, compl205.asm, compr204.asm, copy203.asm, cputype.asm, debug204.asm, dump100.asm, edit205.asm, more202.asm, and run207.asm. Several BASIC sources are also loaded.
At 2:39 shows all files are loaded into drive D
-----------------------
The assembler, ASM.COM, is used to assemble the utility programs followed by MKCOM.COM converting assembler outputs to executable .COM files.
At 5:05 shows all utility programs have been assembled and converted into executable.
-----------------------
COMPILE.COM is used to compile the BASIC sources followed by RUN.COM to execute the compiled BASIC code.
At 5:25 BASIC program FLST215S displays the file status of drive A and drive D.
At 5:33 BASIC program SYST212S display system status
At 5:53 Mandelbrot benchmark result displayed.


Attached is all the files used in the video including the TeraTerm macro. The Teraterm macro looks for files in c:\teraterm\dos65


Attachments:
screen_shot_installing_DOS65.jpg
screen_shot_installing_DOS65.jpg [ 195.75 KiB | Viewed 10370 times ]
DOS65_rev02_teraterm_autoinstall_29_5Mhz.zip [132.47 KiB]
Downloaded 67 times
Top
 Profile  
Reply with quote  
PostPosted: Tue Oct 25, 2022 12:40 pm 
Offline
User avatar

Joined: Tue Mar 05, 2013 4:31 am
Posts: 1385
Bill, excellent work... !!

_________________
Regards, KM
https://github.com/floobydust


Top
 Profile  
Reply with quote  
PostPosted: Tue Oct 25, 2022 4:57 pm 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8507
Location: Midwestern USA
plasmo wrote:
Interested to see your quad serial code for 65816. CRC65 can be reconfigured for 65816 with 2 banks of RAM and I have a quad serial board based on OX16C954 that's compatible with CRC65's bus, so CRC65816 with video/keyboard and quad serial board should make a nice standalone computers.

While the principles behind driving four or even eight serial channels are the same without regard to the UART(s) being used, the 16C series of UARTs is a very different beast than the NXP 26C and 28L UART series (and Exar and TI equivalents) that I use.

In particular, the 16C series lacks the general-purposes inputs and outputs of the 26C/28L series, four of the latter being used to detect individual channel IRQs and “steer” the driver. Also, the 26C/28L series has a sub-microsecond-resolution timer that isn’t present in the 16C series—I use this timer to generate a jiffy IRQ.

For those reasons, as well as radical architectural differences between the series, none of the driver code I have developed will directly translate to any 16C series UART.

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
PostPosted: Tue Oct 25, 2022 5:06 pm 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8507
Location: Midwestern USA
plasmo wrote:
https://www.youtube.com/watch?v=YtoE_I_Dx5o

This is a six-minute video showing how a new DOS65 disk is created from scratch on a 29.5MHz CRC65 SBC.

Cool!

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
PostPosted: Wed Oct 26, 2022 6:24 pm 
Offline

Joined: Wed Nov 11, 2020 10:42 pm
Posts: 104
Location: Kelowna Canada
Hi Bill
I have been playing a little with DOS/65 and what you have provided seems to work, although editing is an adventure. Ed reminds me of my days using RDOS on a Data General, I need to read the manual with care! Sedit caused me issues running in picocom on linux. Most of the codes just echoed their characters without actually doing what I thought they were supposed to ended up having to reset to get out. Went to my Windows machine and used Teraterm where it worked better although the keymapping still needs to be worked out by me. For instance Backspace echoes ^H in command line and delete moves backward not what I observe in picocom. Oh Terminal emulation what fun! I will try and get my brain around this and look at the code (plus my terminal settings) to see if I can get more comfortable.
Larry


Top
 Profile  
Reply with quote  
PostPosted: Wed Oct 26, 2022 6:39 pm 
Offline

Joined: Fri Dec 21, 2018 1:05 am
Posts: 1119
Location: Albuquerque NM USA
Larry,
Thanks for the feedbacks. Ed.com is very similar to CP/M’s ed.com. It is not a screen editor, but I know people very proficient using it. I’m not one of them, however. Sedit seems promising when using with Teraterm. I’ve contacted the author for more instruction, but have not heard back yet.
Bill


Top
 Profile  
Reply with quote  
PostPosted: Fri Oct 28, 2022 5:38 pm 
Offline

Joined: Wed Nov 11, 2020 10:42 pm
Posts: 104
Location: Kelowna Canada
Hi Bill and others
I have found a "gotcha" in DOS/65, which to be fair is stated in the documentation, about lower case in filenames. I believe it happened in using sedit to do some testing and I created a file with a lower case name. I don't believe that EDIT will do that. At any rate if your filename is in lower case it might show up if you do a dir but you cannot type it, rename or erase it. If you do run flst the file shows up and if you drop into the monitor you can see it in the directory sector on the CF card and I believe it takes up a block in the allocation table. I had to manually edit the directory listing using my sector read/write routines to correct this. It might be possible to use the code in flst which finds the file to correct it also or perhaps the CCM or PEM can be edited to prevent this from being written in lower case.
I'm sure there are other issues I will find as I stumble along.
Oh and in Teraterm if you wish to use the backspace rather than delete key in the CCM, this requires changing the delete definition in the CCM listing from $7f to $08. This appears in the buffered read section. The actual code for the backspace uses the definition of the console characters in the SIM console definition block.


Top
 Profile  
Reply with quote  
PostPosted: Sat Oct 29, 2022 2:17 am 
Offline

Joined: Fri Dec 21, 2018 1:05 am
Posts: 1119
Location: Albuquerque NM USA
Larry,
CP/M also has similar problem where lower case filename can cause it to be in-accessible by most CP/M applications including copy and erase apps. It doesn't happen very often, but some mis-behaving program can create such file. Some even touted it as "write protect" feature! I know there is special program in CP/M that can manipulate lower case filename, but I can't recall the specific program. DOS/65 may need similar program as well.

Another problem with DOS/65 is its file size is limited to 512K bytes. I created a 1-megabyte file in CP/M and then try to read it with DOS/65. What I observed is two files with same names; I'm unable to copy the file but I am able to erase it.

Great tip regarding changing delete key definition. I was getting annoyed with backspace key not working.
Bill


Top
 Profile  
Reply with quote  
PostPosted: Sat Oct 29, 2022 2:25 am 
Offline
User avatar

Joined: Tue Mar 05, 2013 4:31 am
Posts: 1385
True re 512KB filesize as a max... found the same. Also, 8MB is the maximum size for a drive with DOS/65. Currently, there are up to 8 drives supported. I'm looking at this to see if I can increase it to 16, not a priority tight now, but on the list.

Nice to have the source however and a GPL V3 license. Per Richard's last update on V3... the license he was referring to was not the DOS/65 version 3, but the GNU GPL V3 or later. In short, we've been given "carte blanche" going forward.

PS - also running one of your CRC65 boards with DOS/65... nice port!

_________________
Regards, KM
https://github.com/floobydust


Top
 Profile  
Reply with quote  
PostPosted: Sat Oct 29, 2022 2:34 pm 
Offline

Joined: Fri Dec 21, 2018 1:05 am
Posts: 1119
Location: Albuquerque NM USA
floobydust wrote:
PS - also running one of your CRC65 boards with DOS/65... nice port!

Are you able to run your CRC65 to 29.4912MHz? The board itself should run OK, but I've found the limiting part to be CF disk. The only one in my collection of CF that works at 29.5MHz is SanDisk 256MB. I have had 100 of them but I'm down to about 10. I'll be interested to know what other brand of CF disk can run that fast. PQI brand of disk-on-module also works at 29.5MHz but its IDE44 pinout is mirrored of IDE44 for CF.
Bill


Attachments:
CF_disk_for_29MHz_CRC65.jpg
CF_disk_for_29MHz_CRC65.jpg [ 643.4 KiB | Viewed 10177 times ]
Top
 Profile  
Reply with quote  
PostPosted: Sat Oct 29, 2022 2:57 pm 
Offline
User avatar

Joined: Tue Mar 05, 2013 4:31 am
Posts: 1385
plasmo wrote:
floobydust wrote:
PS - also running one of your CRC65 boards with DOS/65... nice port!

Are you able to run your CRC65 to 29.4912MHz? The board itself should run OK, but I've found the limiting part to be CF disk. The only one in my collection of CF that works at 29.5MHz is SanDisk 256MB. I have had 100 of them but I'm down to about 10. I'll be interested to know what other brand of CF disk can run that fast. PQI brand of disk-on-module also works at 29.5MHz but its IDE44 pinout is mirrored of IDE44 for CF.
Bill


Sadly, I don't have a can oscillator for the 29.x MHz. I tried to order one with my last Mouser order, but they had no stock, will have to search elsewhere. Most of my CF cards are Sandisk, but not a huge collection:

2- 512MB, 2- 128MB, 1- 2GB and some early ones ranging from 16BM, 32MB, 64MB, 96MB. Also an early 340MB IBM Microdrive in CF format Type-II.

Also, when I built up my CRC65, I soldered a 44-pin socket on the PCB, so I can directly plug in a 44-pin IDE drive instead of the CF Card adapter. Just haven't tried it yet... but I do have a fair number of older laptop drives kicking about. Come to think of it, I have a few Apacer SSD modules that are also in a 44-pin IDE format, but those are in a female connector, so an adapter would be required.

_________________
Regards, KM
https://github.com/floobydust


Top
 Profile  
Reply with quote  
PostPosted: Sun Oct 30, 2022 1:30 pm 
Offline

Joined: Fri Dec 21, 2018 1:05 am
Posts: 1119
Location: Albuquerque NM USA
I have three BASIC programs on DOS/65: a BASIC compiler (COMPL205.ASM, RUN207.ASM), Microsoft BASIC (BASIC202.ASM), and ported EhBASIC (DBASIC.ASM). I am able to assemble BASIC compiler and MicroSoft BASIC using the native DOS/65 assembler; I assembled the ported EhBASIC using CA65 assembler. Here are the run times of mandelbrot benchmark on the 29.5MHz CRC65:

Compiled mandelbrot---24 seconds
ported EhBASIC--------45 seconds
MicroSoft BASIC--------51 seconds

(Edit on 10/31/22, running same benchmark on 22MHz Z80 BASIC-80 Rev 5.21)
Z80 MBASIC80 22MHz--155 seconds

MicroSoft BASIC is slowest, but it does have working "LOAD" and "SAVE" commands. Load/save commands are not working on the ported EhBASIC.


Attachments:
basic_benchmark.jpg
basic_benchmark.jpg [ 258.4 KiB | Viewed 10131 times ]


Last edited by plasmo on Mon Oct 31, 2022 1:20 pm, edited 1 time in total.
Top
 Profile  
Reply with quote  
PostPosted: Sun Oct 30, 2022 2:26 pm 
Offline

Joined: Fri Dec 21, 2018 1:05 am
Posts: 1119
Location: Albuquerque NM USA
I believe I've successfully ported DOS/65 V3 to CRC65 SBC. Attached is CF image of DOS/65 V3. Unzip and copy it to a new CF (32MB or larger) using disk imaging tool like Win32DiskImager and it should autoboot to DOS/65. The difference between DOS/65 V2 and V3 are mostly in the PEM and CCM. SIM is basically the same except the warm boot routine copies one more CF sector to accommodate the larger PEM+CCM. There are 4 new software in version 3:
BASIC.COM is MicroSoft BASIC.
SUBMIT.COM is for batch file
UCOPY.COM can copy file to different user areas
SD.COM is super-directory, displaying more directory information.
Bill


Attachments:
dos65v3_02_image.zip [1.46 MiB]
Downloaded 63 times
dos65_v3_good_to_go.jpg
dos65_v3_good_to_go.jpg [ 233.8 KiB | Viewed 10129 times ]
Top
 Profile  
Reply with quote  
PostPosted: Mon Oct 31, 2022 6:09 pm 
Offline

Joined: Wed Nov 11, 2020 10:42 pm
Posts: 104
Location: Kelowna Canada
Great work Bill. I will have some more time to examine how it works this week. Now we just need to port some programs to DOS/65, that will be a learning curve but the example code should help the process.
Larry


Top
 Profile  
Reply with quote  
PostPosted: Tue Nov 01, 2022 6:15 pm 
Offline

Joined: Wed Nov 11, 2020 10:42 pm
Posts: 104
Location: Kelowna Canada
I have been trying out DOS/65 v3 and have run into some oddities in large files. I uploaded by xmodem DBASIC.ASM which is about 264KB. That seems to have gone well but when I try and check the file by using "type DBASIC.ASM" it stops before finishing at just after 16KB of the file. I looked in the directory and while the directory on sd card has multiple entries for the file, it is all there by examination of the sectors. The listing seems to stop after 16k or 4 blocks. This not the case for "dump DBASIC.ASM" which goes fine until it looks for the next extent or entry for DBASIC.ASM in the directory which is after 8 blocks have been read.
I'm not sure what is happening without diving deeper into this but wanted to share what I have found so far.

Edit: That experience was at 29.5 Mhz. I just reverted to 14.7Mhz and now the type command worked as it should. Am I on the hairy edge for my CF card??


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 138 posts ]  Go to page Previous  1 ... 5, 6, 7, 8, 9, 10  Next

All times are UTC


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: