Jump to content

kktos

Members
  • Content Count

    30
  • Joined

  • Last visited

Community Reputation

10 Good

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Hi there, I'm trying to play directly with the fat32 code in order to test the read/write fns on the sdcard. There's no real doc on how to play with it so I'm doing a bunch of trials and fails. So far, I'm trying to read the dir. no luck. looks like the sector_lba is always = $FFFFFE. Damn. I'm close. But it still eludes me. I have a little test code I put on github : https://github.com/commanderx16/x16-rom/issues/189
  2. I'm wondering.... Why are we trying to mimic the C64 OS here ? I'm thinking that if I want to have a better C64, we know there are (mainly there is) far better alternatives. But is looks like a C64, you can say. Yes, true. On the software side. But that's mainly because it was the easiest path to go. No need to rewrite everything. That being said, back to my initial question. As we are more or less making the thing, we can choose to do whatever we want. And we may go for ways more explicit than DOS"P"+CHR$(8)+CHR$(128)+CHR$(0)+CHR$(0)+CHR$(0), don't you think ? Something as simple as a DOS SEEK, for instance......
  3. Tom, I guess that's related to what Jesper told you already about the compiler no "seeing" the var in the asm. Therefore, here, as it doesn't see any use of R0, it simply removes it. You need to use volatile in the declaration so the complier won't optimize it
  4. Waoo ! That seems very very promising ! I'll give it a try. Meanwhile, I was a bit curious looking at the source code you showed in the first post so I went to read the doc Quick remarks: - The high low operator. Pretty obvious when you're in asm. In C, it looks really weird. Not to mention your highlighter didn't recognize it. I would rather go with the same kind of logic you're using for string with a postfix modifier. addr.H and addr.L or simply an explicit HIGH(addr) - The floating point type Could you have a placeholder type like float and some pre defined functions ? Therefore the compiler would be able to compile those. The only thing is to add the library for the target system - function calls Is there a way to tell how the parms have to be passed (thru registers, thru stack....)? I didn't see anything on that matter. - inline kickasm code: Absolutely brilliant !! Congratulations, Sir. ps: any chance we have at some point other targets.... like the apple // ?
  5. Just a thought here: One possibility could be the kbd/mouse firmware just store in RAM the data. That will save some cycles on the caller side. just read RAM rather than call a sys function.
  6. precisely what I was thinking I do love this idea. Clean and Neat. Either for each command a vector table for each devices. Or the other way round for compactness: For each "allocated" device, its vectors table. Ok, as you said, no OS..... but that does mean we cannot do the things properly I know this is retrocomputing... but we're grown up now ;oD I know how my 16 years old self would have done it on his //c ...... I'd rather try differently now :oD
  7. From a software architecture point of view, It makes sense only if you want to override the vector. But if you want to print chars on screen or to a serial link, you want to have both vectors and you want to access them directly. So instead of having a vector checking I don't know what in order to know if the call was meant for it or another, I would prefer a kinda generic call with a parameter being an output descriptor. Does it make sense ?
  8. Pardon my ignorance but what are REL files ?
  9. I knew there was a misunderstanding and I wasn't sure where. It's on the word shadowed. Let's me explain what I meant: I'm coming from the Apple ][ world. And my last one was a IIgs. The RAM used for HIRES is located at $2000 and $4000. There are 2 pages. On the IIgs, running a 65816, we have 24bits address bus. And in the bank $E0 and $E1, the addresses $2000-$5FFF from bank $00 and $01 are shadowed. Shadowed means even you're accessing 2 different addresses, $00/2000 and $E0/2000, you're physically writing at the same location.
  10. Interesting. I suppose you meant that the Bank register is affecting the whole address range $0000 - $FFFF so address $0000 is therefore shadowed. ok, I wasn't seeing things like that rather than having the BR (RAM/ROM) affecting only addresses from $A000 - $FFFF. So I guess from your answer, physically, really, the whole RAM is banked with some "windows" shadowed. Am I understanding correctly ?
  11. I'm not asking for anything, Lorin. Merely sharing thoughts, ideas, here. And to be honest, I think it's a tad late to consider such a change for the X16.
  12. Lorin, it's not a matter of var quantity rather than context. Did you play with a 65816, 6809 or 68K ? From a dev POV, it's pretty nice. Not to mention it may, if one wish, allow to do multi tasking. And as for the ZP $00 and $01 used for banked mem, those 2 addresses could shadowed. Anyway, I said it first. Just a possibly stupid idea. Let's call it Food for thoughts
  13. Yeah, yeah, I know, one of this stupid idea. Nevertheless, there's something to it which is appealing.... like having a local ZP and Stack..... Having a 65C02 which can behave kinda like its big brother, the 65816.... Just a thought....
  14. Funny.... following your thread, I landed on the wikipedia page. And reading it, I stumble upon this: Sounds like there's a touch of 9918 in VERA
×
×
  • Create New...

Important Information

Please review our Terms of Use