ajk@goanna.oz (Alan Kent) (07/23/87)
I have a few questions. Sorry about the length. o In the back of byte (BIX), it said up to 1.5megs of ram can be autoconfigured if the memory is at $C00000. I have got a home-brew board, but when I moved it to this address, it didnt autoconfig. I could not even access it using a debugger. Is $C00000 just a feature of the 500? Specific machine version? I thought the Insider 'autoconfigured' by sitting at this address. Does the fact that the board is inside the machine (on the other side of some data buffers perhaps) matter? o Are there any Thai versions of the keyboard for the amiga? Are the keyboard caps on the 1000's keyboard removable? Anyone know what the standard Thai character set is (equiv of ASCII)? A friend who went back to Thailand recently was asked to get a machine and database package which all worked in Thai. However, my friend found that all the DB software available only allowed English. There are not really a lot of Thai computers. (Aparently IBM have a Thai keyboard option, and some others have stickers that are stuck on key tops). I personally have played around a little with Thai on the amiga (for fun) so was curious if the amiga could be used (of course there is no software around). Aparantly a Thai keyboard has the same layout as our keyboards, but they use upper and lower case for different letters (Thai has about 44 constants plus extra vowels). Displaying Thai is a bit tricky too as it has lots of little things above and below the characters - my current thai font is 22 pixels high! o Is there any way of stopping AmigaDOS from ignoring case in file names? I realize this is also tied in with the hash function for directories, but for Thai, ASCII upper and lower case codes are completely different characters. The Thai character set poses other problems such as tone marks and vowels can appear above or below previous characters (can be done using proportional fonts). I dont know what the console handler would think of this (or intuition string gadgets). Menu bars are also a problem due to the height of the font. I had a few more questions, but I might try a few more things on the Amiga first. Any suggestions you could provide would be greatly appreciated. This was all mainly out of curiosity. Just how flexible is the Amiga? ps: One approach I have personally found quite useful with menus is to extend the menu structure to include an additional id number (like the gadgets have). My main loop waiting for intui-messages then calls the main command parser with either the gadget id# and gadget pointer or the menu id# and a NULL pointer. This means I can move menu items around at will rather than using the position of the entry in the menus, or even turn them into boolean gadgets, with a minimum of changes to the code (the command processor doesn't notice). Alan Kent (RMIT, Melbourne, AUSTRALIA) UUCP: {seismo,hplabs,mcvax,ukc,nttlab}!munnari!goanna.oz!ajk ARPA: munnari!goanna.oz!ajk@SEISMO.ARPA ACSnet: ajk@goanna.oz
daveh@cbmvax.UUCP (Dave Haynie) (07/24/87)
in article <1029@goanna.oz>, ajk@goanna.oz (Alan Kent) says: > > > I have a few questions. Sorry about the length. > > o In the back of byte (BIX), it said up to 1.5megs of ram > can be autoconfigured if the memory is at $C00000. I have > got a home-brew board, but when I moved it to this address, > it didnt autoconfig. I could not even access it using a debugger. > Is $C00000 just a feature of the 500? Specific machine version? > I thought the Insider 'autoconfigured' by sitting at this > address. Does the fact that the board is inside the machine > (on the other side of some data buffers perhaps) matter? The hardware question I can answer. The RAM located at $C00000 is an AmigaOS 1.2 feature. This RAM really isn't autoconfigured in the true sense of the word. An autoconfigured board can't be assumed to exist at any address, must be relocatable, and in the current system will always be located in the $200000-$9FFFFF range or the $E80000-$EFFFFF range. It also must have /SLAVE and other complete backplane signals available in most incarnations. Memory that is located at $C00000 will be recognized by system software; basically, every 64K or so of address starting at $C00000 is examined for the presence of memory, instead of the custom chip images that usually occupy this area. The OS will allocate up to around 1.75 meg of this memory as FAST memory. This allocation will occur very early in the boot-up process, so unlike normal autoconfig memory, the OS will locate some of the early system base structures in this extra memory. As I mentioned above, though, $C00000 memory is usually occupied by the custom chips. These chips are address by the OS at the end of this range, but the granularity of the A1000 PAL-based address decoders is limited to 2 meg boundaries, so an A1000 has copies of the custom chip registers located throughout this 2 meg space. In order to get a memory board to show up in this area, you've got to disable the decoding of the custom chips for the range of your memory board. This can be done either by modifying the PAL circuitry, or by using the /OVR bus signal. Modifying the PAL circuitry is certainly not supported by Commodore-Amiga, but it can be done. The /OVR signal has the capability to "override" the decoding done by the Amiga's address decoding PALs. However, it must be asserted very fast, and the worst case for this assertion is in the overlay of the custom chips. If you can assert /OVR from an address decode in 25ns or less, you'll probably be OK; the faster the better. Also, if you do use /OVR, note that /OVR also tri-states the motherboard generated /DTACK signal, so you'll have to create a /DTACK of your own when using /OVR. The A500 achieves memory mapped into $C00000 by means of the GARY chip, which has a memory decoding granularity much finer than the PALs in the A1000. -- Dave Haynie Commodore-Amiga Usenet: {ihnp4|caip|rutgers}!cbmvax!daveh "The A2000 Guy" PLINK : D-DAVE H BIX : hazy "Catch a wave and you're sittin' on top of the world" -Beach Boys