• Please review our updated Terms and Rules here

sload on 68K-MBC not working

rwcooper

Member
Joined
Jan 17, 2023
Messages
23
I'm trying use sload on a 68K-MBC to load and run programs on the 68K-MBC. I'm using minicom with a newline tx delay of 90ms. I've tried baud rates of 115200, 19200 and 9600 with the same result. I'm trying to load the sample hello world program with s1/s8 s-records. The sample file looks strange to me. I would have expected s2/s8 records. I've done this sort of thing many times on other computers without a hitch. The data is being sent but the 68K-MBC displays the following forever.

Enter your choice >1 Ok
IOS: Loading boot program... done
IOS: 68008 CPU is running from now

sLoad - S-record Loader - S180221-R150521
1024KB - Full HW configuration
Waiting input stream...

Here are the s-records:

S021000036384B50524F47202020323043524541544544204259204541535936384B6D
S123040043F90000042C610000064E7227001019B03C00006700001413FC0001000FFFFD73
S11F042013C0000FFFFC4EF8040E4E7548454C4C4F20574F524C4421200D0A0050
S804000400F7

Any help anyone is able to provide is greatly appreciated...Randy.
 
S0 = comment, S1/S9 = 16-bit address, S2/S8 = 24-bit address, S3/S7 = 32-bit address
It was using S1 records because the address was in the first 64K. Not sure why it decided to go S8 with the transfer address.

First line comment is "68KPROG 20CREATED BY EASY68K". The next two lines are code at 0400 (disassembled below), and the fourth line is a transfer address of 000400.

Nothing looks particularly wrong. The port address seems right, but I wasn't able to find good enough example code to confirm what it needs to be doing.

Code:
000400: 43F90000042C    L000400:LEA     D00042C.L,A1
000406: 61000006                BSR.W   L00040E
00040A: 4E722700                STOP    #$2700

00040E: 1019            L00040E:MOVE.B  (A1)+,D0
000410: B03C0000                CMP.B   #$00,D0
000414: 67000014                BEQ.W   L00042A
000418: 13FC0001000F...         MOVE.B  #$01,$0FFFFD.L
000420: 13C0000FFFFC            MOVE.B  D0,$0FFFFC.L
000426: 4EF8040E                JMP     L00040E.W

00042A: 4E75            L00042A:RTS

00042C: 48454C4C4F20... D00042C:DC.B    "HELLO WORLD! ",$0D,$0A,$00
 
S0 = comment, S1/S9 = 16-bit address, S2/S8 = 24-bit address, S3/S7 = 32-bit address
It was using S1 records because the address was in the first 64K. Not sure why it decided to go S8 with the transfer address.

First line comment is "68KPROG 20CREATED BY EASY68K". The next two lines are code at 0400 (disassembled below), and the fourth line is a transfer address of 000400.

Nothing looks particularly wrong. The port address seems right, but I wasn't able to find good enough example code to confirm what it needs to be doing.

Code:
000400: 43F90000042C    L000400:LEA     D00042C.L,A1
000406: 61000006                BSR.W   L00040E
00040A: 4E722700                STOP    #$2700

00040E: 1019            L00040E:MOVE.B  (A1)+,D0
000410: B03C0000                CMP.B   #$00,D0
000414: 67000014                BEQ.W   L00042A
000418: 13FC0001000F...         MOVE.B  #$01,$0FFFFD.L
000420: 13C0000FFFFC            MOVE.B  D0,$0FFFFC.L
000426: 4EF8040E                JMP     L00040E.W

00042A: 4E75            L00042A:RTS

00042C: 48454C4C4F20... D00042C:DC.B    "HELLO WORLD! ",$0D,$0A,$00
Thanks for your reply. I understand the format of the S-records and how they work. I have implemented loading S-records into memory and executing the resulting program on various platforms including the 6502, 6809, 68000, STM32F411 and bare metal Raspberry Pi Zero. It just seemed like a strange mix of S-record types. Since my original post I have implemented loading S-records into memory and executing the resulting program on the 68K-MBC and it works fine.
 
Back
Top