Home » RBC Forums » General Discussion » CB030, A 68030 SBC for hobbyists
|
Re: CB030, A 68030 SBC for hobbyists [message #7869 is a reply to message #7868] |
Mon, 13 July 2020 14:40   |
quarterturn
Messages: 86 Registered: April 2018
|
Member |
|
|
I sent the file using RealTerm. It seems to accept the upload as an S record but doesn't reboot into CP/M:
> .....................................X
Valid S record received, executing from starting address
CB030Bug
2/26/20 v0.5, type "he" for help
> bo
CB030Bug
2/26/20 v0.5, type "he" for help
>
I guess I could program the CPLD and EEPROM back to the 8-bit versions and undo my wiring changes. I really only went with the 16-bit mod as I thought it was needed to run the linux port, but if it isn't, I'll just go back to 8-bit CF interface.
[Updated on: Mon, 13 July 2020 14:55] Report message to a moderator
|
|
|
|
Re: CB030, A 68030 SBC for hobbyists [message #7873 is a reply to message #7870] |
Tue, 14 July 2020 18:07   |
plasmo
Messages: 916 Registered: March 2017 Location: New Mexico, USA
|
Senior Member |
|
|
I verified on my working lab hardware that CPLD is indeed "cb030_r1_release_cf_fix_new100hz_irq" and the EEPROM is "cb030_r0_6_hardware-handshake_CPM_EhBasic.bin".
Do a dump of location 0x1b000
du 1b000 10
> du 1b000 10
0001B000 60 04 30 2E 36 00 11 FC 00 00 F0 0A 46 FC 27 00 `.0.6..|..p.F|'.
0001B010 70 08 4E 7B 00 02 21 FC 00 01 B0 4C 00 8C 61 00 p.N{..!|..0L..a.
0001B020 00 22 11 FC 00 E0 E0 06 11 FC 00 01 E0 01 11 FC .".|.``..|..`..|
0001B030 00 EF E0 07 61 00 00 0C 11 FC 00 40 E0 06 42 80 .o`.a....|.@`.B.
0001B040 4E 75 08 38 00 07 E0 07 66 F8 4E 75 0C 40 00 17 Nu.8..`.fxNu.@..
0001B050 64 00 00 0A E5 48 20 7B 00 06 4E 90 4E 73 00 01 d...eH {..N.Ns..
0001B060 B0 00 00 01 B0 BA 00 01 B0 C0 00 01 B0 D2 00 01 0...0:..0@..0R..
0001B070 B0 DE 00 01 B0 EC 00 01 B0 EE 00 01 B0 F0 00 01 0^..0l..0n..0p..
0001B080 B0 F8 00 01 B1 00 00 01 B1 22 00 01 B1 2A 00 01 0x..1...1"..1*..
0001B090 B1 36 00 01 B1 3E 00 01 B1 F4 00 01 B0 F2 00 01 16..1>..1t..0r..
0001B0A0 B1 32 00 01 B1 36 00 01 B2 B0 00 01 B2 B8 00 01 12..16..20..28..
0001B0B0 B2 BA 00 01 B2 AC 00 01 B2 BC 4E F9 00 01 50 BC 2:..2,..2<Ny..P<
0001B0C0 08 38 00 00 F0 02 67 00 00 06 70 01 4E 75 42 80 .8..p.g...p.NuB.
0001B0D0 4E 75 61 EC 4A 40 67 FA 10 38 F0 06 4E 75 08 38 NualJ@gz.8p.Nu.8
0001B0E0 00 02 F0 02 67 F8 11 C1 F0 06 4E 75 4E 75 4E 75 ..p.gx.Ap.NuNuNu
0001B0F0 4E 75 10 3C 00 FF 4E 75 42 79 00 01 B2 DA 4E 75 Nu.<..NuBy..2ZNu
You should see above output. I'm checking to see whether BIOS are present in your EPROM.
To simplify the problem, I like you to remove the CF disk and do 'bo' again. You should be able to boot into CP/M to drive A without CF disk
--------------------------------------
I have a couple questions:
* CB030 can consume quite a bit of current, up to 750mA at 5V. How is your board powered?
* What is your EPROM?
Could you send me a picture of your board?
Bill
Edit: The files on CF drive are here:
https://www.retrobrewcomputers.org/lib/exe/fetch.php?media=b uilderpages:plasmo:cb030:cb030_rev1:cpm68k_distro.zip
There are quite a number of files there so you should use gkermit to transfer multiple files to your new CF disk.
[Updated on: Tue, 14 July 2020 18:12] Report message to a moderator
|
|
|
|
Re: CB030, A 68030 SBC for hobbyists [message #7877 is a reply to message #7875] |
Wed, 15 July 2020 10:44   |
quarterturn
Messages: 86 Registered: April 2018
|
Member |
|
|
Booted nearly into Linux! I hang here:
Linux version 4.9.156-CB030 (mikemac@Altair.mikemac.com) (gcc version 6.1.0 (GCC
) ) #190 Sun Mar 29 22:53:56 MST 2020
bootconsole [cb030serial0] enabled
initrd: 00400000 - 00540000
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16240
Kernel command line: root=/dev/ram0 rw console=ttySC0,38400n8r
PID hash table entries: 256 (order: -2, 1024 bytes)
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Sorting __ex_table...
Memory: 60524K/65536K available (2075K kernel code, 286K rwdata, 608K rodata, 72
K init, 130K bss, 5012K reserved, 0K cma-reserved)
Virtual kernel memory layout:
vector : 0x002c96fc - 0x002c9afc ( 1 KiB)
kmap : 0xd0000000 - 0xf0000000 ( 512 MiB)
vmalloc : 0x04800000 - 0xd0000000 (3256 MiB)
lowmem : 0x00000000 - 0x04000000 ( 64 MiB)
.init : 0x002ea000 - 0x002fc000 ( 72 KiB)
.text : 0x00001000 - 0x00207fdc (2076 KiB)
.data : 0x0020a500 - 0x002e9e84 ( 895 KiB)
.bss : 0x002c9620 - 0x002e9e84 ( 131 KiB)
NR_IRQS:200
pConsole: colour dummy device 80x25
Calibrating delay loop... 5.35 BogoMIPS (lpj=26752)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
|
|
|
Re: CB030, A 68030 SBC for hobbyists [message #7878 is a reply to message #7877] |
Wed, 15 July 2020 14:51   |
mikemac
Messages: 250 Registered: March 2017
|
Senior Member |
|
|
It looks like it's about to unpack the initrd.gz image as the root file system. Did you load the initrd.gz at 0x400000 with the boot loader before loading and launching the kernel? The whole log from the start of the boot loader to the point were it hangs is most helpful.
As log of a successful boot is here:
https://www.retrobrewcomputers.org/forum/index.php?t=msg& ;th=442&goto=7335&#msg_7335
Mike
|
|
|
Re: CB030, A 68030 SBC for hobbyists [message #7879 is a reply to message #7878] |
Thu, 16 July 2020 12:49   |
quarterturn
Messages: 86 Registered: April 2018
|
Member |
|
|
Here's what I usually see:
T030 ROM BIOS v2.11 (c) 2018 Tobias Rathje
CB030 version ported by Mike McDonald 2020
------------------------------------------
RAM (hard coded): 64MB
Build: Mar 30 2020 10:09:47
Init script found, press enter to abort..........
Running init script:
[ Load initrd.gz into RAM ]
0%_________________________________________100%
##############################################
1132600 bytes read
[ Load linux.bin into RAM ]
0%_________________________________________100%
###############################################
3124952 bytes read
[ Starting Linux ]
Bootinfo address: 0x002fc000
Machine type: 14
Memory start: 0x00000000
Memory size: 64 MB
Ramdisk start: 0x00400000
Ramdisk size: 1310720
Loading Linux at 0x00001000
ABC3GHIJK
Linux version 4.9.156-CB030 (mikemac@Altair.mikemac.com) (gcc version 6.1.0 (GCC
) ) #190 Sun Mar 29 22:53:56 MST 2020
bootconsole [cb030serial0] enabled
initrd: 00400000 - 00540000
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16240
Kernel command line: root=/dev/ram0 rw console=ttySC0,38400n8r
PID hash table entries: 256 (order: -2, 1024 bytes)
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Sorting __ex_table...
Memory: 60524K/65536K available (2075K kernel code, 286K rwdata, 608K rodata, 72
K init, 130K bss, 5012K reserved, 0K cma-reserved)
Virtual kernel memory layout:
vector : 0x002c96fc - 0x002c9afc ( 1 KiB)
kmap : 0xd0000000 - 0xf0000000 ( 512 MiB)
vmalloc : 0x04800000 - 0xd0000000 (3256 MiB)
lowmem : 0x00000000 - 0x04000000 ( 64 MiB)
.init : 0x002ea000 - 0x002fc000 ( 72 KiB)
.text : 0x00001000 - 0x00207fdc (2076 KiB)
.data : 0x0020a500 - 0x002e9e84 ( 895 KiB)
.bss : 0x002c9620 - 0x002e9e84 ( 131 KiB)
NR_IRQS:200
pConsole: colour dummy device 80x25
Calibrating delay loop... 5.35 BogoMIPS (lpj=26752)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
if I interrupt the initscript and do it manually, same result:
l "root=/dev/ram0 rw console=ttySC0,38400n8r" 0x400000 140000
Occasionally I'll get a panic:
T030 ROM BIOS v2.11 (c) 2018 Tobias Rathje
CB030 version ported by Mike McDonald 2020
------------------------------------------
RAM (hard coded): 64MB
Build: Mar 30 2020 10:09:47
Init script found, press enter to abort..........
Running init script:
[ Load initrd.gz into RAM ]
0%_________________________________________100%
##############################################
1132600 bytes read
[ Load linux.bin into RAM ]
0%_________________________________________100%
###############################################
3124952 bytes read
[ Starting Linux ]
Bootinfo address: 0x002fc000
Machine type: 14
Memory start: 0x00000000
Memory size: 64 MB
Ramdisk start: 0x00400000
Ramdisk size: 1310720
Loading Linux at 0x00001000
ABC3GHIJK
Linux version 4.9.156-CB030 (mikemac@Altair.mikemac.com) (gcc version 6.1.0 (GCC
) ) #190 Sun Mar 29 22:53:56 MST 2020
bootconsole [cb030serial0] enabled
initrd: 00400000 - 00540000
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16240
Kernel command line: root=/dev/ram0 rw console=ttySC0,38400n8r
PID hash table entries: 256 (order: -2, 1024 bytes)
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Sorting __ex_table...
Memory: 60524K/65536K available (2075K kernel code, 286K rwdata, 608K rodata, 72
K init, 130K bss, 5012K reserved, 0K cma-reserved)
Virtual kernel memory layout:
vector : 0x002c96fc - 0x002c9afc ( 1 KiB)
kmap : 0xd0000000 - 0xf0000000 ( 512 MiB)
vmalloc : 0x04800000 - 0xd0000000 (3256 MiB)
lowmem : 0x00000000 - 0x04000000 ( 64 MiB)
.init : 0x002ea000 - 0x002fc000 ( 72 KiB)
.text : 0x00001000 - 0x00207fdc (2076 KiB)
.data : 0x0020a500 - 0x002e9e84 ( 895 KiB)
.bss : 0x002c9620 - 0x002e9e84 ( 131 KiB)
NR_IRQS:200
pConsole: colour dummy device 80x25
Calibrating delay loop... 5.35 BogoMIPS (lpj=26752)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
devtmpfs: initialized
clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1911
2604462750000 ns
futex hash table entries: 256 (order: -1, 3072 bytes)
Data read fault at 0xûûûûûûû3 in Super Data (pc=0xûûûûû2)
BAD KERNEL BUSERR
Oops: 00000000
Modules linked in:
Modules linked in:
PC: [<00ûûûûû2>] strlcpy+0x·2/0x·4
SR: ûûû0 SP: 0ûûûûûû4 a2: 0ûûûûûû0
d0: 00000003 d1: 000000ûe d2: 0000000e d3: 00000002
d4: 00ûûûûû2 d5: 00ûûûûû4 a0: 00ûûûûûb a1: 00ûûûûûd
Frame format=B ssw=0ûûd isc=ûûû0 isb=ûûûf daddr=ûûûûûûû3 dobuf=00000002
Process swapper (pid: 1, task=0ûûûûûû0)
Stack from 0ûûûûûûc:
00000002 00000003 000ûûûû8 00ûûûûûd 00ûûûûû4 0ûûûûûûc 00ûûûûûd 00000003
000000û7 00000005 000ûûûûc 00000000 00ûûûûû4 00ûûûûûc 00ûûûûûc 0ûûûûûû0
ûûûûûûûe ûûûûûûû4 0000ûûûc 00000000 00000000 00000000 00ûûûûû2 00ûûûûû8
000ûûûûc 00ûûûûûc 00ûûûûû6 000000ûc 00000000 000ûûûû0 0000ûûû8 0000ûûû0
000000û7 00000005 000ûûûûc 00ûûûûû8 00000000 00000000 00ûûûûûc 00ûûûûûc
00ûûûûûc 00000000 00000000 00ûûûûû8 00ûûûûû0 00ûûûûûc 0000ûûû8 00ûûûûûa
Frame format=B ssw=0ûûd isc=ûûû0 isb=ûûûf daddr=ûûûûûûû3 dobuf=00000002
Call Trace: [<000ûûûû8>] add_sysfs_param.isra.4+0x0/0xŠŠa
baddr=00ûûûûûc dibuf=00000000 ver=f
Stack from 0ûûûûûûc:
00000002 00000003 000ûûûû8 00ûûûûûd 00ûûûûû4 0ûûûûûûc 00ûûûûûd 00000003
000000û7 00000005 000ûûûûc 00000000 00ûûûûû4 00ûûûûûc 00ûûûûûc 0ûûûûûû0
ûûûûûûûe ûûûûûûû4 0000ûûûc 00000000 00000000 00000000 00ûûûûû2 00ûûûûû8
000ûûûûc 00ûûûûûc 00ûûûûû6 000000ûc 00000000 000ûûûû0 0000ûûû8 0000ûûû0
000000û7 00000005 000ûûûûc 00ûûûûû8 00000000 00000000 00ûûûûûc 00ûûûûûc
00ûûûûûc 00000000 00000000 00ûûûûû8 00ûûûûû0 00ûûûûûc 0000ûûû8 00ûûûûûa
Call Trace: [<000ûûûû8>] add_sysfs_param.isra.4+0x0/0xŠŠa
[<00ûûûûû4>] param_sysfs_init+0x„„0/0x„„c
[<000ûûûûc>] parse_args+0x0/0x~~8
[<00ûûûûû4>] param_sysfs_init+0x0/0x„„c
[<0000ûûûc>] trap+0xx4/0xx8
[<00ûûûûû2>] uid_cache_init+0x0/0x‚0
[<000ûûûûc>] parse_args+0x0/0x~~8
[<00ûûûûûc>] uid_cache_init+0x‚a/0x‚0
[<000ûûûû0>] sysfs_show_available_clocksources+0x•8/0x•4
[<0000ûûû8>] do_one_initcall+0xƒ0/0xƒƒ0
[<0000ûûû0>] do_one_initcall+0xƒ8/0xƒƒ0
[<000ûûûûc>] parse_args+0x0/0x~~8
[<00ûûûûû8>] strcpy+0x0/0xz2
[<0000ûûû8>] do_one_initcall+0x0/0xƒƒ0
[<000ûûûû4>] update_wall_time+0x„„2/0x„„2
[<00ûûûûû6>] percpu_enable_async+0x‡4/0x‡‡c
[<0000ûûû8>] do_one_initcall+0x0/0xƒƒ0
[<00ûûûûû6>] percpu_enable_async+0x‡4/0x‡‡c
[<00ûûûûû4>] param_sysfs_init+0x0/0x„„c
[<000ûûûû2>] kfree+0x0/0xy8
[<00ûûûûûe>] init_pointer_table+0x0/0x†c
Code: ûûûc ûûû0 ûûû0 ûûû0 ûûû3 ûûû3 0ûû9 ûûûb <0ûû9> 00û8 ûûû4 ûûû3 ûûû0 ûûûf 00
0c ûûû2 ûûûf 0ûûc ûûû5 ûûû2 ûûû3 ûûû9 ûûûb ûûû9
[<00ûûûûû2>] m68k_setup_auto_interrupt+0x0/0x2
[<00ûûûûûa>] m68k_setup_auto_interrupt+0x8/0x2
[<00ûûûûû2>] m68k_setup_auto_interrupt+0x0/0x2
[<0000ûûûc>] ret_from_kernel_thread+0xc/0xŠ2
I wonder if it doesn't like my 64MB SIMM?
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Re: CB030, A 68030 SBC for hobbyists [message #10053 is a reply to message #10052] |
Tue, 02 August 2022 09:41   |
mikesmith
Messages: 80 Registered: March 2018
|
Member |
|
|
I haven't picked a specific device; availability is a bit patchy at the moment. Anything that keeps time and that might be available for other folks to add to their boards would do. Extra bonus if it has a little non-volatile storage.
A luxury option would be the Mikroe 12 Click board, which is available, 5V compatible, 4-wire SPI with 96B of NVRAM. Having a module with an integrated battery is obviously desirable.
I looked at the '681 OP bits but couldn't come up with a way to make it do I2C without extra hardware. Do you have something cunning in mind?
[Updated on: Tue, 02 August 2022 10:20] Report message to a moderator
|
|
|
|
|
Re: CB030, A 68030 SBC for hobbyists [message #10056 is a reply to message #10055] |
Wed, 03 August 2022 11:59   |
plasmo
Messages: 916 Registered: March 2017 Location: New Mexico, USA
|
Senior Member |
|
|
Since I have DS1302 on hand, I wired up a RTC prototype based on DS1302. The signal assignments to 68681 I/O are arbitrary, whatever convenient for hand wiring. If it works, I'll build another prototype and ship it to you to try.
Bill
[Updated on: Wed, 03 August 2022 12:08] Report message to a moderator
|
|
|
|
Re: CB030, A 68030 SBC for hobbyists [message #10058 is a reply to message #10057] |
Thu, 04 August 2022 22:27   |
mikesmith
Messages: 80 Registered: March 2018
|
Member |
|
|
Sounds good - I am working my way through writing an OS-9 CompactFlash driver. Init and identify work, just having some trouble getting through the format procedure. One or more magic numbers aren't quite right, and the RBF (block storage file manager) is taking a bus error. Going to take a little debugging I think...
building media bitmap...
System state exception.
(Bus/Access Fault) Vector number=#2 68020/68030 Long format (B)
Data Fault addr=0xFF000058
ssw=74D (DF,Read,Long) sr=3009 fc:5=SD
ipsC=6216 ipsB=B4A9 dob=48FE000E dib=FF004800 sba=00015F62
pc=0x00015F5C >B8A90010 cmp.l 16(a1),d4
dn: 00000008 00000001 00000002 00000000 00000001 00000001 00000000 00000001
an: 00000000 FF000048 FF000070 001900FE 00000001 00FF4D78 00004800 00FF4CE8
pc: 0000EA22 sr:3000 (--SM-0-----)t:OFF usp:00FEC40C isp:00FFFAF0 ^msp^
0x0000EA22 >48E78086 movem.l d0/a0/a5-a6,-(a7)
RomBug:
[Updated on: Thu, 04 August 2022 23:14] Report message to a moderator
|
|
|
|
|
|
Re: CB030, A 68030 SBC for hobbyists [message #10062 is a reply to message #10061] |
Sun, 07 August 2022 14:09   |
mikesmith
Messages: 80 Registered: March 2018
|
Member |
|
|
Nice! Should be a handy addition.
I've made some more progress on the CF driver; slowly getting the 68k assembly skills back, though I'm still making a few rookie mistakes. Formatting, making directories all works now.
Next up, installation tools. Right after I work out why the ticker has stopped working...
[edit: removed exuberant terminal pasting..]
[Updated on: Mon, 08 August 2022 00:44] Report message to a moderator
|
|
|
|
Re: CB030, A 68030 SBC for hobbyists [message #10067 is a reply to message #10066] |
Mon, 08 August 2022 19:02   |
mikesmith
Messages: 80 Registered: March 2018
|
Member |
|
|
Thanks!
Right now I'm building an OS-9 ROM from their SDK and loading it into an EPROM emulator. This is the "normal" OS-9 68K approach; the bootloader does a modest amount of system setup before it jumps to the kernel, and they provide all of this as source in the SDK.
It wouldn't be too hard to build a variant of the OS-9 ROM that could be chain-loaded from your monitor in the same fashion as you do for CP/M or EHBasic. Right now with the integrated debugger it's about 90k; not sure how tight that would be with your other components. [edit: without the debugger it's less than 20k]
Alternatively, the kernel hand-off protocol isn't *too* complex if you wanted to load it directly; that would mean adding the ability to handle a small amount of the (well documented) RBF disk format.
[Updated on: Mon, 08 August 2022 20:30] Report message to a moderator
|
|
|
|
|
|
|
Current Time: Tue Jul 15 12:26:07 PDT 2025
Total time taken to generate the page: 0.01099 seconds
|