 |
|
 |
| Parallax Forums > Public Forums > Propeller Chip > TriBladeProp PCB: Uses 3 Propeller ICs for a Single Board Computer (SBC) | Forum Quick Jump
|
    |  Dr_Acula Registered Member

       Date Joined Dec 2008 Total Posts : 606 | Posted 9/30/2009 1:45 AM (GMT -8) |   | rr123 as I understand it was a re-release of an older version that didn't have the bug. The more recent one that has 8 hard drives is the one with the bug. That is version 120. I'm going to move to v123 now.
But heater, I gather you have modified rr123 so it boots to a hard drive. I tried this below with drive A as your ZIPM2Z80.D02 and that does have the bug.
But you are booting to a hard drive and don't have the bug so is it possible to describe a bit more what version etc. Maybe we all need to go back and start from the same point again?
#ifdef cpm2 ' FindDriveBase(0, string("ZIPM2 .DSK")) 'set the SD card drive base(s) 8MB CPM2.2 ' FindDriveBase(0, string("ZIPM2_64.DSK")) 'set the SD card drive base(s) 8MB CPM2.2 FindDriveBase(0, string("ZIPM2Z80.D02")) 'set the SD card drive base(s) 8MB CPM2.2 #else 'FindDriveBase(0, string("ZICOG_A3.DSK")) 'set the SD card drive base(s) 8MB CPM3 nonbanked #endif FindDriveBase(1, string("ZICOG_B0.DSK")) 'set the SD card drive base(s) 8MB FindDriveBase(2, string("ZICOG_C0.DSK")) 'set the SD card drive base(s) 8MB FindDriveBase(3, string("ZICOG_D0.DSK")) 'set the SD card drive base(s) 8MB FindDriveBase(4, string("ZICOG_E0.DSK")) 'set the SD card drive base(s) 8MB vedit & pascal FindDriveBase(5, string("ZICOG_F0.DSK")) 'set the SD card drive base(s) 8MB supercalc FindDriveBase(6, string("ZICOG_G0.DSK")) 'set the SD card drive base(s) 1MB equiv floppy FindDriveBase(7, string("ZICOG_H0.DSK")) 'set the SD card drive base(s) <1MB RamDisk
'other files Q:,R: FindDriveBase(17,string("ZIBOOT .COM")) 'set the SD card drive base(s) $FF00 for boot hdisk
#endif
Addit: no bug so far with heaters new code. Stay tuned... www.smarthome.viviti.com/buildPost Edited (Dr_Acula) : 9/30/2009 10:01:17 AM GMT | | Back to Top | | |
  |  Dr_Acula Registered Member

       Date Joined Dec 2008 Total Posts : 606 | Posted 9/30/2009 2:36 AM (GMT -8) |   | Ok, it is all working now!!! I'm testing and retesting trying to break it. All working fine. I'll do a few more tests and then write it up...
#ifdef cpm2 ' FindDriveBase(0, string("ZIPM2 .DSK")) 'set the SD card drive base(s) 8MB CPM2.2 25KB ' FindDriveBase(0, string("ZIPM2_64.DSK")) 'set the SD card drive base(s) 8MB CPM2.2 FindDriveBase(0, string("zipm2z80.d02")) 'set the SD card drive base(s) 8MB CPM2.2 #else 'FindDriveBase(0, string("ZICOG_A3.DSK")) 'set the SD card drive base(s) 8MB CPM3 nonbanked #endif FindDriveBase(1, string("ZICOG_B0.DSK")) 'set the SD card drive base(s) 8MB FindDriveBase(2, string("ZICOG_C0.DSK")) 'set the SD card drive base(s) 8MB FindDriveBase(2, string("ZICOG_D0.DSK")) 'set the SD card drive base(s) 8MB Dr_A xmodem+ FindDriveBase(3, string("ZICOG_E0.DSK")) 'set the SD card drive base(s) 8MB FindDriveBase(5, string("ZICOG_F0.DSK")) 'set the SD card drive base(s) 8MB FindDriveBase(6, string("ZICOG_G0.DSK")) 'set the SD card drive base(s) 1MB equiv floppy FindDriveBase(7, string("ZICOG_H0.DSK")) 'set the SD card drive base(s) <1MB RamDisk 'other files Q:,R: FindDriveBase(17,string("ZIBOOT .COM")) 'set the SD card drive base(s) $FF00 for boot hdisk
#endif
ZIPM2Z80.D02 is drive A (heater's new drive)
Just working through some other minor things. I've got xmodem on drive B so I can download things. Skip the 3 sec delay at startup. Wordstar working. Big file transfers working. Compile on the board working.
'#define FloppySupport 'Uncomment for Floppy support on TriBlade only
The above line commented out. No floppy drive needed.
Just purging out some old hard drives that had been corrupted with the old code and replacing with new blank ones. www.smarthome.viviti.com/buildPost Edited (Dr_Acula) : 9/30/2009 10:45:49 AM GMT | | Back to Top | | |
      |  Dr_Acula Registered Member

       Date Joined Dec 2008 Total Posts : 606 | Posted 9/30/2009 4:11 AM (GMT -8) |   | | | |
   |  Dr_Acula Registered Member

       Date Joined Dec 2008 Total Posts : 606 | Posted 9/30/2009 5:31 PM (GMT -8) |   | Yes, thinking about this, I've found there is more than enough room on even just one hard drive. So making one of the drives a floppy drive would make it much easier to copy over from a floppy image. Ok, that one drive might be slow, but all the hard drives would still be fast, right?
So ok, drive B is a floppy image. And you could take the entire simh collection and put them all on a sd card, and then rename the one you want in the spin code?
Or.... is it possible to read completely unmodified simh floppy images? That would take more spin code, but if you had a drive that was read-only the code for that would be simpler. Then you would never need a vb6 program.
I'm not sure now which is quicker. We have so many options.
Also, cluso, if you are free Sun, send me an email? The BBQ will be fired up and ready to go. (home phone is 8370 3353) www.smarthome.viviti.com/buildPost Edited (Dr_Acula) : 10/1/2009 1:44:32 AM GMT | | Back to Top | | |
  |  Cluso99 We live onboard

       Date Joined Apr 2008 Total Posts : 2276 | Posted 10/1/2009 1:40 AM (GMT -8) |   | re Heater's discussion...
1) I am sorry I must have misled you. I intended a precompiled version be available (although the released code would be able to be recompiled with the floppy #define option) to use 2 floppies A: & B: and 1 hard drive I: purely for use in file transfers from SIMH floppies to hard disks using PIP. Since we will require the A: floppy to be correct for booting, this can remain in our 1x128 per 512 format for speed. However, I suggest the B: floppy be the standard Altair 137 byte format. I will write the code to support this, so we will not require the VB program for any conversion. Therefore, PIP will be used to copy from B: floppy drive (must be called "ALTAIR_B.DSK") to I: (must be called "HD8M_B.DSK" and then it can be the B: drive in the standard 8 Hard Drive version - does this make sense ????). This will make things much easier for everyone. The SIMH B: compatability may not be ready for V1.0 (do not want to hold a release for this).
2)see above - I will write code to suport B: in the SIMH format.
3)Sounds good to me. I can't remember why we had a 1MB drive, so make A:...G: all 8MB for now, and H: the RamDrive so this size will depend on the free RAM available for this. I intend to make this a write-through drive, so anything that writes (and modifies) a disk sector will be written back to the SD drive. This should speed up things nicely. Will probably not be ready for V1.0
4)Absolutely. I have already done Turbo Pascal, SuperCalc, and another. But I combined 2 floppies together, which I now realise was a mistake.
Thinking a little further, if someone (Drac?) can write a simple CPM program to reside on our A: hard drive to write to a specific I/O port, we can trap that, and therefore we could reboot the prop with a binary from the SD card. So we could launch CPM2, CPM3, MPM, the floppy version, PropDos, or anything else for that matter. Sound interesting???? It's certainly doable and not that difficult.
James: Looking forward to some interesting discussions Sunday Links to other interesting threads:
| | Back to Top | | |
    |  Dr_Acula Registered Member

       Date Joined Dec 2008 Total Posts : 606 | Posted 10/1/2009 5:55 AM (GMT -8) |   | What does HALT.COM do?
I saw your message after I did the coding. It was too easy! Let's do it all on the board itself...
Wrote this in Wordstar in N mode. Saved it.
A>type port255.mac
; Send an out to port 255 ; must have a CR/LF after END ; use zasm.sub with supersub ; eg supersub zasm myfile (where myfile is called myfile.mac but do not put the ; mac in the instruction - m80 knows it is implied) ; zasm.sub is the following two lines ;M80 =$1 /Z/C/L/M ;L80 $1,$1/N/E LD A,1 ; change value to change version of CP/M OUT (255),A ; send an OUT to port 255, the Zicog control port RET ; ret to CP/M though this might reset to a new version END ; end the program
A>supersub zasm port255.mac
SuperSUB V1.1
A>M80 =PORT255 /Z/C/L/M
No Fatal error(s)
A>L80 PORT255,PORT255/N/E
Link-80 3.44 09-Dec-81 Copyright (c) 1981 Microsoft
Data 0103 0108 < 5>
46133 Bytes Free [0000 0108 1]
A>port255
Write to unimplemented I/O Port &HFF
A>
Ok, so that is being trapped in the spin code
n8vem_uart_out: '&H68 out_n8vem_byte hdskport: out_hdskport 'SIMH style hard disk port other: UART.str(string("Write to unimplemented I/O Port &H")) UART.hex(io_port,2) 'print the port number for debugging crlf
There are lots of I/O ports free, so there are two ways to pass things. Either just call different port numbers and trap them. Or call one port (eg 255) and pass a variable in A. Which in Spin becomes a variable io_data eg UART.tx(io_data)
Now you can pass all sorts of things. There could be a series of little programs eg in CP/M2 you could have one that reboots to CP/M3. And in CP/M 3 one that goes to CP/M2.
The advantage of that is that you can have one version of the spin code, and change things from within CP/M rather than having to compile all sorts of spin variants. Eg, reboot to a version with 2 floppy drives and 2 hard drives. Reboot to a version with a different baud rate. These can be a list of little CP/M utility programs. Maybe take the program above and print something on the screen to explain what it does. Maybe give the user the option of quitting or continuing. That is easy in assembly.
Is this more flexible than a ^E and a Halt? www.smarthome.viviti.com/build | | Back to Top | | |
    | 848 posts in this thread. Viewing Page : | | Forum Information | Currently it is Friday, November 20, 2009 10:31 PM (GMT -8) There are a total of 393,733 posts in 55,521 threads. In the last 3 days there were 82 new threads and 701 reply posts. View Active Threads
| | Who's Online | This forum has 17687 registered members. Please welcome our newest member, mark09. 58 Guest(s), 6 Registered Member(s) are currently online. Details JRetSapDoog, Chris Savage (Parallax), mpark, Kye, Sal Ammoniac, micromang |
Forum powered by dotNetBB v2.42EC SP2.02 dotNetBB © 2000-2009 |
|
|