Re: Multicomp 6809 and the Serial Ports [message #6028 is a reply to message #6026] |
Fri, 01 March 2019 12:45   |
nealcrook
Messages: 127 Registered: October 2015 Location: UK
|
Senior Member |
|
|
I think that, to enlarge DD, you would either need to rebuild from source or use the toolshed tools to create a larger empty disk image and then copy everything from the existing boot disk onto it.
Next, you need to change the script that creates the SDcard image so that it will insert this new, larger image without overwriting the other disk images
Finally, you need to change the Nitros drive "descriptors" to understand the new SDcard block start address associated with the new (more widely-spaced) disks. You can hack them or rebuild from source. From level2/mc09l2/modules/makefile:
# SDOFFSET is the high 16 bits of the 24-bit block address at
# which the disk image starts on the SDcard. It must match
# the value used in the create_sd_image script.
dds0_80d.dd: mc09sdcdesc.asm
$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD80) -DDNum=0 -DSDOFFSET=0x0280 -DDD=1
s0_80d.dd: mc09sdcdesc.asm
$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD80) -DDNum=0 -DSDOFFSET=0x0280
s1_80d.dd: mc09sdcdesc.asm
$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD80) -DDNum=1 -DSDOFFSET=0x0290
s2_80d.dd: mc09sdcdesc.asm
$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD80) -DDNum=2 -DSDOFFSET=0x02A0
s3_80d.dd: mc09sdcdesc.asm
$(AS) $< $(ASOUT)$@ $(AFLAGS) $(DSDD80) -DDNum=3 -DSDOFFSET=0x02B0
I don't know your level of familiarity with all this stuff so let me know if you need help or more detailed pointers. A simpler (though not so convenient) approach is to make the 4th disk larger - you can do this without trampling on any of the others or changing and start addresses.
Using the L2 image there is at least some indication that the serial ports should work. Specifically, in my emulator, which is using the "vdu" as /term, I confirmed that you should be seeing output on /t1. I assume that you're using (level2) from my SDcard image on the WIKI?
$ ./mc09-run-int
Reading symbols from '../6809M.map'...
02:0x1F7E 8606 LDA #$06
(dbg) c
6809 CamelForth v1.1 20 Mar 16
OK NITROS9 NITROS9 BOOTKREL Boot Krn tb0...........................................................................................bKrnP2 IOMan Init RBF mc09sd DD D0 D1 D2 D3 SCF mc6850 Term T0 T1 PipeMan Piper Pipe Clock Clock2 Shell Date DeIniz Echo Iniz Link Load Save Unlink i2xo[uart0 stat wr: PC=0xc59d, addr=0x0000, w data=0x82]
CNitrOS-9/6809 Level 2 V3.3.0
Multicomp09
(C) 2014 The NitrOS-9 Project
** DEVELOPMENT BUILD **
** NOT FOR DISTRIBUTION! **
Fri Jun 9 20:13:12 2017
http://www.nitros9.org
* Welcome to NitrOS-9 Level 2 on the Multicomp09 *
yyyy/mm/dd hh:mm:ss
Time ?
June 09, 2017 20:16:42
Shell+ v2.2a 17/06/09 20:16:58
{Term|02}/DD:echo hello >/term
hello
{Term|02}/DD:echo hello >/t0
[uart1 stat rd addr=0x00000002]
[uart1 stat wr: PC=0xc59d, addr=0x0002, wdata=0x83]
[uart1 stat rd addr=0x00000002]
[uart1 data wr of 0x68]
[uart1 stat rd addr=0x00000002]
[uart1 data wr of 0x65]
[uart1 stat rd addr=0x00000002]
[uart1 data wr of 0x6c]
[uart1 stat rd addr=0x00000002]
[uart1 data wr of 0x6c]
[uart1 stat rd addr=0x00000002]
[uart1 data wr of 0x6f]
[uart1 stat rd addr=0x00000002]
[uart1 data wr of 0x20]
[uart1 stat rd addr=0x00000002]
[uart1 data wr of 0x0d]
[uart1 stat rd addr=0x00000002]
[uart1 data wr of 0x0a]
[uart1 stat rd addr=0x00000002]
{Term|02}/DD:echo hello >/t1
[uart2 stat rd addr=0x00000004]
[uart2 stat wr: PC=0xc59d, addr=0x0004, wdata=0x83]
[uart2 stat rd addr=0x00000004]
[uart2 data wr of 0x68]
[uart2 stat rd addr=0x00000004]
[uart2 data wr of 0x65]
[uart2 stat rd addr=0x00000004]
[uart2 data wr of 0x6c]
[uart2 stat rd addr=0x00000004]
[uart2 data wr of 0x6c]
[uart2 stat rd addr=0x00000004]
[uart2 data wr of 0x6f]
[uart2 stat rd addr=0x00000004]
[uart2 data wr of 0x20]
[uart2 stat rd addr=0x00000004]
[uart2 data wr of 0x0d]
[uart2 stat rd addr=0x00000004]
[uart2 data wr of 0x0a]
[uart2 stat rd addr=0x00000004]
{Term|02}/DD:
Although I did both the Level 1 and Level 2 OS ports I actually have very limited expertese in NitrOS-9 so if you want to create an application disk image or some user notes or point out some bugs I'd welcome your contribution. It might even motivate me to tidy up some of the documentation and build notes on the WIKI and my Github WIKI
Yes, 25MHz 6809 is neat! Others have this design going even faster
Neal.
|
|
|