linuxha / RT68mx

Microware's RT/68MX Real Time OS for the Motorola 6800
GNU General Public License v2.0
6 stars 1 forks source link

Relocating RT68 - beware hard coded value in FNDTSB related to TSKTBL location impacting multi-task mode #3

Open stanleyruppert opened 1 week ago

stanleyruppert commented 1 week ago

FYI - After relocating RT68 substantially to accommodate M68MM01A memory map - changing ROM base to $CC00 as well as scratch RAM location from $A000 to another location $9000, found RT68 multi-task function broke.

TSKTBL is defined in an ORG statement, but a hard coded reference remains elsewhere in code within

(FNDTSB function) tied to original location $A050. I missed this the first re-assembly after updating the defined ORG statements. Updating fixed the multi-task functionality.

See below: Screenshot 2024-09-10 at 8 13 06 PM

linuxha commented 1 week ago

Good catch, I'll put hi and lo and find out what's $A050. I'll get the update posted today if it passes a few test.

linuxha commented 1 week ago

Okay I've pushed the changes. Not sure how you are using it. I've added an EXP (-D EXP) to rt68mx.inc but not really populated it yet. I'll probably set it up to Frederic Browns PT68-1 (SWTPC/MP-02 single board clone).

The rt68mx.asm and rrt68-mp02.asm have both been modified. I've added a LOWRAM (for the RT68MX OS RAM). And I've added the hi(TSKTBL) and lo(TSKTBL) code.

stanleyruppert commented 1 week ago

Super! I have a version running on my motorola board, M68MM01A. I have the editor and basic running using memory for IO instead of tape. Last bit is fixing the multi-task functions now that I have a RTC circuit. My source version is based on typing in the manual keeping the original source style with patches for the M68MM01A memory map and IO addresses, but I also like the reformatting you did as it matches your disassemblies, so I'm keeping our two trees in sync. One more typo in the FNDTSB function I forgot to mention previously is line :789 RT68mx.asm - you have LDAA 0,X, Manual shows this as LDX 0,X.

Screenshot 2024-09-12 at 2 53 20 PM Screenshot 2024-09-12 at 2 54 17 PM

linuxha commented 1 week ago

I have an M68MM01A also, haven't had a chance to play with it yet.

Thanks for the 'LDX 0,X', I'll update in a few minutes.

I've got to talk to some time about your VCF presentation. I'd like to do one for VCF East (I have a makespace there).

I haven't yet figured out what I can use to demo multiprocessing.