Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.forth > #41608 > unrolled thread

bank switching words?

Started byMux <Yvo.Zoer@gmail.com>
First post2015-08-29 11:46 -0700
Last post2015-09-13 21:26 +0100
Articles 8 — 5 participants

Back to article view | Back to comp.lang.forth


Contents

  bank switching words? Mux <Yvo.Zoer@gmail.com> - 2015-08-29 11:46 -0700
    Re: bank switching words? Mark Wills <markwills1970@gmail.com> - 2015-08-30 11:23 -0700
      Re: bank switching words? Mux <Yvo.Zoer@gmail.com> - 2015-09-02 10:59 -0700
      Re: bank switching words? Marcos Cruz <null_email_so_use_my_contact_page@programandala.net> - 2015-09-06 18:17 +0000
    Re: bank switching words? Marcos Cruz <null_email_so_use_my_contact_page@programandala.net> - 2015-09-06 17:38 +0000
      Re: bank switching words? Mux <Yvo.Zoer@gmail.com> - 2015-09-07 21:40 -0700
    Re: bank switching words? Whammo <sidciavic@gmail.com> - 2015-09-09 20:00 -0700
    Re: bank switching words? Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2015-09-13 21:26 +0100

#41608 — bank switching words?

FromMux <Yvo.Zoer@gmail.com>
Date2015-08-29 11:46 -0700
Subjectbank switching words?
Message-ID<bec20858-d02d-42d6-9ad9-25da42530052@googlegroups.com>
Hi All,

Anyone have any suggestions for words that handle bank-switching? Basically I have 3 regions (region #0 is locked) that can be switched out and I'm trying to come up with words that make it easy to understand. Right now it's just a poke into a memory register which, while fine, isn't ideal. I've decoupled IO and memory access so there's that distinction, but still..

Also, a quick search on clf didn't really yield a lot about bank switching which is probably because forth programs themselves tend to be small. That said, once you start adding graphics / audio, it gets gobbled up quickly...

Thoughts?

-Y

[toc] | [next] | [standalone]


#41614

FromMark Wills <markwills1970@gmail.com>
Date2015-08-30 11:23 -0700
Message-ID<1e318abd-871c-4c01-b117-58745fb05a25@googlegroups.com>
In reply to#41608
On Saturday, 29 August 2015 19:46:09 UTC+1, Mux  wrote:
> Hi All,
> 
> Anyone have any suggestions for words that handle bank-switching? Basically I have 3 regions (region #0 is locked) that can be switched out and I'm trying to come up with words that make it easy to understand. Right now it's just a poke into a memory register which, while fine, isn't ideal. I've decoupled IO and memory access so there's that distinction, but still..
> 
> Also, a quick search on clf didn't really yield a lot about bank switching which is probably because forth programs themselves tend to be small. That said, once you start adding graphics / audio, it gets gobbled up quickly...
> 
> Thoughts?
> 
> -Y

I use SETBANK because I can map up to 1024K in 4K chunks.

Maybe this will give you some inspiration: http://turboforth.net/resources/sams.html

HTH

[toc] | [prev] | [next] | [standalone]


#41661

FromMux <Yvo.Zoer@gmail.com>
Date2015-09-02 10:59 -0700
Message-ID<de2430c8-25fd-4c14-b9c4-43362be87e89@googlegroups.com>
In reply to#41614
On Sunday, August 30, 2015 at 11:23:52 AM UTC-7, Mark Wills wrote:
> On Saturday, 29 August 2015 19:46:09 UTC+1, Mux  wrote:
> > Hi All,
> > 
> > Anyone have any suggestions for words that handle bank-switching? Basically I have 3 regions (region #0 is locked) that can be switched out and I'm trying to come up with words that make it easy to understand. Right now it's just a poke into a memory register which, while fine, isn't ideal. I've decoupled IO and memory access so there's that distinction, but still..
> > 
> > Also, a quick search on clf didn't really yield a lot about bank switching which is probably because forth programs themselves tend to be small. That said, once you start adding graphics / audio, it gets gobbled up quickly...
> > 
> > Thoughts?
> > 
> > -Y
> 
> I use SETBANK because I can map up to 1024K in 4K chunks.
> 
> Maybe this will give you some inspiration: http://turboforth.net/resources/sams.html
> 
> HTH

Interesting! Thanks for sharing!

-Y

[toc] | [prev] | [next] | [standalone]


#41797

FromMarcos Cruz <null_email_so_use_my_contact_page@programandala.net>
Date2015-09-06 18:17 +0000
Message-ID<msi00d$ji8$1@speranza.aioe.org>
In reply to#41614
En/Je/On 2015-08-30, Mark Wills <markwills1970@gmail.com>
escribió/skribis/wrote:

> Maybe this will give you some inspiration:
> http://turboforth.net/resources/sams.html

Mark, that is great.

In a Forth for ZX Spectrum 128, I store the name fields in a separate 16
KiB memory bank, with an additional field that links every nfa to its
cfa in main memory.  That saves a lot of dictionary space (c. 3 KiB on
the bare unexpanded system) and makes name lengths unimportant.  By
design, no field links the main headers to their name fields, what saves
2 bytes per word in the main memory.  Therefore `cfa>nfa` and others do
a brute force search, checking the pointers that link every name field
with its code field, but that's not a problem.

The way TurboForth words can be compiled in different memory banks
transparently is a great idea. I'll think about it. It could be useful
to compile the Z80 assembler permanently without wasting memory, instead
of using the usual tricks to compile it at a different location and then
disconnect it from the dictionary.

Regards,

-- 
Marcos Cruz
http://programandala.net

[toc] | [prev] | [next] | [standalone]


#41796

FromMarcos Cruz <null_email_so_use_my_contact_page@programandala.net>
Date2015-09-06 17:38 +0000
Message-ID<mshtm5$dou$1@speranza.aioe.org>
In reply to#41608
En/Je/On 2015-08-29, Mux <Yvo.Zoer@gmail.com> escribi'o/skribis/wrote:

> Anyone have any suggestions for words that handle bank-switching?

I use simply `bank`:

	bank  ( n -- )

	Page memory bank _n_ (0..7) in at 0xC000..0xFFFF.

Regards,

--  
Marcos Cruz
http://programandala.net

[toc] | [prev] | [next] | [standalone]


#41846

FromMux <Yvo.Zoer@gmail.com>
Date2015-09-07 21:40 -0700
Message-ID<14fa0f27-867a-4146-92ca-aad2c7ccf31b@googlegroups.com>
In reply to#41796
> I use simply `bank`:
> 
> 	bank  ( n -- )
> 
> 	Page memory bank _n_ (0..7) in at 0xC000..0xFFFF.
> 

I like that one :-) Thanks for chiming in!

-Mux

[toc] | [prev] | [next] | [standalone]


#41908

FromWhammo <sidciavic@gmail.com>
Date2015-09-09 20:00 -0700
Message-ID<fbdb7d54-6aca-4323-a947-d01a7a7abcf9@googlegroups.com>
In reply to#41608
On Saturday, August 29, 2015 at 11:46:09 AM UTC-7, Mux wrote:
> Hi All,
> 
> Anyone have any suggestions for words that handle bank-switching? Basically I have 3 regions (region #0 is locked) that can be switched out and I'm trying to come up with words that make it easy to understand. Right now it's just a poke into a memory register which, while fine, isn't ideal. I've decoupled IO and memory access so there's that distinction, but still..
> 
> Also, a quick search on clf didn't really yield a lot about bank switching which is probably because forth programs themselves tend to be small. That said, once you start adding graphics / audio, it gets gobbled up quickly...
> 
> Thoughts?
> 
> -Y

 Why the need for words to bank switch? 
 What's wrong with?

 : bank abcd ; (whatever the address)
 0 bank c@ 


[toc] | [prev] | [next] | [standalone]


#41986

FromGerry Jackson <gerry@jackson9000.fsnet.co.uk>
Date2015-09-13 21:26 +0100
Message-ID<mt4m24$82p$1@dont-email.me>
In reply to#41608
On 29/08/2015 19:46, Mux wrote:
> Hi All,
>
> Anyone have any suggestions for words that handle bank-switching? Basically I have 3 regions (region #0 is locked) that can be switched out and I'm trying to come up with words that make it easy to understand. Right now it's just a poke into a memory register which, while fine, isn't ideal. I've decoupled IO and memory access so there's that distinction, but still..
>
> Also, a quick search on clf didn't really yield a lot about bank switching which is probably because forth programs themselves tend to be small. That said, once you start adding graphics / audio, it gets gobbled up quickly...
>
> Thoughts?
>
> -Y
>

Try looking at http://www.forth.org/fd/FD-V12N1.pdf  page23

-- 
Gerry

[toc] | [prev] | [standalone]


Back to top | Article view | comp.lang.forth


csiph-web