Micro UK101 Build
BillO wrote:
... Hyper Terminal can adjust for line and character delays. Just go into Properties, select the 'Settings' tab and click on the 'ASCII Setup' button. You see the parameters to change there.
-
micro_brain
- Posts: 85
- Joined: 31 Mar 2011
BillO wrote:
In case anyone might be interested, I now have the following running on my 'modified' micro-UK101 board
UK101 (Microsoft) 8K BASIC
EhBASIC
Tiny BASIC
I have been also thinking about giving SYM-1 BASIC a shot too.
UK101 (Microsoft) 8K BASIC
EhBASIC
Tiny BASIC
I have been also thinking about giving SYM-1 BASIC a shot too.
I have not yet had time for this, sorry to say. I have acquired a BBC Micro and a FIGnition board (this is not 6502 but it is somewhat inspired by Grant's pages on the Jupiter Ace).
Linky link if you're interested : https://sites.google.com/site/libby8dev/fignition
Hi.
I know this thread is a bit old, but I happened to stumble on it while searching for something.
I've scanned through this thread and I notice there were a couple of issues/queries.
I have now swapped the + and - on one of the 22uF caps on the wiring diagram so that + is to the +V pin and - is to Vcc as raised in this thread (this was correct on the schematic). Appologies, Lee, if I missed that eMail regarding the error - it is corrected now
Regarding the 22uF caps....
The "Original" MAX232 chips required a minimum of 10uF, with recommended 22uF for them.
The newer devices work on 1uF, or 0.1uF for the MAX202 (from what I recall). Please check the data sheet for the chip that you are using and use whatever is recommended.
If there are any other issues/errors, please let me know and I willl update.
Regards.
Grant
http://home.micros.users.btopenworld.co ... uk101.html
...please refresh the page in the browser in case the change has not been picked up.
I know this thread is a bit old, but I happened to stumble on it while searching for something.
I've scanned through this thread and I notice there were a couple of issues/queries.
I have now swapped the + and - on one of the 22uF caps on the wiring diagram so that + is to the +V pin and - is to Vcc as raised in this thread (this was correct on the schematic). Appologies, Lee, if I missed that eMail regarding the error - it is corrected now
Regarding the 22uF caps....
The "Original" MAX232 chips required a minimum of 10uF, with recommended 22uF for them.
The newer devices work on 1uF, or 0.1uF for the MAX202 (from what I recall). Please check the data sheet for the chip that you are using and use whatever is recommended.
If there are any other issues/errors, please let me know and I willl update.
Regards.
Grant
http://home.micros.users.btopenworld.co ... uk101.html
...please refresh the page in the browser in case the change has not been picked up.
One more thing...
I also notice that there are problems loading and saving, and the suggestion for adding delays.
As mentioned above, I also used Hyperterm, and set the option to delay a certain amount of time after sending a CR. Setting this to, say, 1 second should give the 6502 BASIC interpreter enough time to come back to the prompt before needing to process the next line being sent.
There should be no problem in capturing the output from the board and "saving" it on the PC as the PC should be quick enough and should have a reasonable buffer.
By adding the delay after CR in hyperterm (can't remember the exact option - it was a while ago), I had no problem in loading in fairly large programs from the PC into the board with no problems. You may need to experiment a bit to see the minimum delay time needed - I can't remember exactly what I set it to.
Regards.
Grant
I also notice that there are problems loading and saving, and the suggestion for adding delays.
As mentioned above, I also used Hyperterm, and set the option to delay a certain amount of time after sending a CR. Setting this to, say, 1 second should give the 6502 BASIC interpreter enough time to come back to the prompt before needing to process the next line being sent.
There should be no problem in capturing the output from the board and "saving" it on the PC as the PC should be quick enough and should have a reasonable buffer.
By adding the delay after CR in hyperterm (can't remember the exact option - it was a while ago), I had no problem in loading in fairly large programs from the PC into the board with no problems. You may need to experiment a bit to see the minimum delay time needed - I can't remember exactly what I set it to.
Regards.
Grant
I've also updated the microUK101 page to cover the changes that may be needed for the newer MAX232, although the Texas Instruments site says there is no problem using 22uF. The page was published back in 1998, so 22uF were common in 232 circuits at that time.
From the TI KB site now...
Problem:
On the MAX232 can I use 22uF for all the capacitors?
Solution:
You should have no problem having a bigger capacitor than recommended. Initial charging will be delayed due to the charging of bigger capacitor, once it is charged, it should be the same operation as from 1 uF. Our recommendation is for the lowest possible size of the capacitor in the data sheet. The purpose of these capacitors are to hold charge for the charge pump circuits inside the device.
Grant
From the TI KB site now...
Problem:
On the MAX232 can I use 22uF for all the capacitors?
Solution:
You should have no problem having a bigger capacitor than recommended. Initial charging will be delayed due to the charging of bigger capacitor, once it is charged, it should be the same operation as from 1 uF. Our recommendation is for the lowest possible size of the capacitor in the data sheet. The purpose of these capacitors are to hold charge for the charge pump circuits inside the device.
Grant
-
leeeeee
- In Memoriam
- Posts: 347
- Joined: 30 Aug 2002
- Location: UK
- Contact:
richarde wrote:
Configuring as a 16KByte RAM machine the program gets a long way through but then bombs out to BASIC with the 'ERROR IN 9' message as above.
Seeing this again reminds me that I always intended to change string arrays to only use three bytes per descriptor element not four as it does. All the parts seem to be in place but I never implemented it. Doing so would mean the BASIC program would complete on a 16K machine and print another 300 '.'s before running out of memory on an 8K machine.
Lee.
The code does run on the 32K microUK101 but stalls periodically - sometimes for about a minute or so (didn't time it). Go away and have a cup of tea then come back - it completes (eventually)! 
No idea what happens internally in that minute of silence - maybe someone with an emulator can trace?
Micro UK101 C/W/M?
MEMORY SIZE?
TERMINAL WIDTH?
31999 BYTES FREE
C O M P U K I T U K 1 0 1
Personal Computer
8K Basic Copyright1979
OK
7 DIM CL$(71,24)
8 FOR Y=0 TO 23:FOR X=0 TO 70
9 CL$(X,Y)=CHR$(27)+"["+MID$(STR$(Y),2)+":"+MID$(STR$(X),2)+"H"
10 PRINT ".";:NEXT X:PRINT:NEXT Y
RUN
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
OK
No idea what happens internally in that minute of silence - maybe someone with an emulator can trace?
Micro UK101 C/W/M?
MEMORY SIZE?
TERMINAL WIDTH?
31999 BYTES FREE
C O M P U K I T U K 1 0 1
Personal Computer
8K Basic Copyright1979
OK
7 DIM CL$(71,24)
8 FOR Y=0 TO 23:FOR X=0 TO 70
9 CL$(X,Y)=CHR$(27)+"["+MID$(STR$(Y),2)+":"+MID$(STR$(X),2)+"H"
10 PRINT ".";:NEXT X:PRINT:NEXT Y
RUN
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
OK
-
leeeeee
- In Memoriam
- Posts: 347
- Joined: 30 Aug 2002
- Location: UK
- Contact:
BillO wrote:
In case anyone might be interested, I now have the following running on my 'modified' micro-UK101 board
UK101 (Microsoft) 8K BASIC
EhBASIC
Tiny BASIC
I have been also thinking about giving SYM-1 BASIC a shot too.
UK101 (Microsoft) 8K BASIC
EhBASIC
Tiny BASIC
I have been also thinking about giving SYM-1 BASIC a shot too.
Steve
Steve
zx80nut wrote:
The code does run on the 32K microUK101 but stalls periodically - sometimes for about a minute or so (didn't time it). Go away and have a cup of tea then come back - it completes (eventually)! 
No idea what happens internally in that minute of silence - maybe someone with an emulator can trace?
Micro UK101 C/W/M?
MEMORY SIZE?
TERMINAL WIDTH?
31999 BYTES FREE
C O M P U K I T U K 1 0 1
Personal Computer
8K Basic Copyright1979
OK
7 DIM CL$(71,24)
8 FOR Y=0 TO 23:FOR X=0 TO 70
9 CL$(X,Y)=CHR$(27)+"["+MID$(STR$(Y),2)+":"+MID$(STR$(X),2)+"H"
10 PRINT ".";:NEXT X:PRINT:NEXT Y
RUN
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
OK
No idea what happens internally in that minute of silence - maybe someone with an emulator can trace?
Micro UK101 C/W/M?
MEMORY SIZE?
TERMINAL WIDTH?
31999 BYTES FREE
C O M P U K I T U K 1 0 1
Personal Computer
8K Basic Copyright1979
OK
7 DIM CL$(71,24)
8 FOR Y=0 TO 23:FOR X=0 TO 70
9 CL$(X,Y)=CHR$(27)+"["+MID$(STR$(Y),2)+":"+MID$(STR$(X),2)+"H"
10 PRINT ".";:NEXT X:PRINT:NEXT Y
RUN
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
OK
I haven't traced how the memory test is done - it's probably quite simple and may not pick up every error - or maybe the ROM image that was burnt is dodgy somewhere - just guesses. If your message is the same as me then the 32K is found, though. It took many minutes to complete. How long did you leave it?
Regards.
Grant.
Regards.
Grant.
Assuming EhBASIC and Applesoft use the same garbage collector, much faster garbage collectors have been written. There's one in Apple Assembly Line. ProDOS (specifically BASIC.SYSTEM) has one. I don't if it would take major or minor surgery to adapt one for EhBASIC, but I'll blindly guess there'd be a not-insignificant amount effort involved, if anyone's feeling particularly ambitious.
I never wrote or typed in or used an Applesoft program that was string-intensive enough for garbage collection to be an issue, so I don't really have any firsthand experience, but by all accounts garbage collection was just brutally slow. If memory serves, it could take 15 minutes or half an hour or so (at 1 MHz).
I never wrote or typed in or used an Applesoft program that was string-intensive enough for garbage collection to be an issue, so I don't really have any firsthand experience, but by all accounts garbage collection was just brutally slow. If memory serves, it could take 15 minutes or half an hour or so (at 1 MHz).
Hi.
I have just tried this on another computer that I knocked up, this time a 6809 running Microsoft BASIC. Again, 32K RAM ( http://searle.hostei.com/grant/6809/Simple6809.html )
The exact same program actually fails completely with the version ported by Microsoft to the 6809...
As you can see, it appears garbage collection doesn't kick in automatically (but see below) with this version. So, the 1979 6502 version in the UK101 actually performs better than the 1982 6809 version !
The version of BASIC that I used above was CoCo Color BASIC 1.2 / Extended BASIC 1.1. I also tried it on a Dragon 32 (real machine) and got exactly the same error at the same point (the Dragon is virtually a clone of the CoCo, but I wanted to make sure my ROM mods hadn't affected anything).
So, it isn't just this version that has problems - other versions may be worse.
To get the above working on the 6809 I had to reserve some space, so I typed "CLEAR 15000" before running - much better, and run to end the same way as on the UK101 - pausing occasionally then resuming.
So, there appears not to be an "error" with the UK101 BASIC, merely an inefficient way of doing the grabage collection which existed in later versions of Microsoft BASIC as well.
Grant.
I have just tried this on another computer that I knocked up, this time a 6809 running Microsoft BASIC. Again, 32K RAM ( http://searle.hostei.com/grant/6809/Simple6809.html )
The exact same program actually fails completely with the version ported by Microsoft to the 6809...
Code: Select all
7 DIM CL$(71,24)
8 FOR Y=0 TO 23:FOR X=0 TO 70
9 CL$(X,Y)=CHR$(27)+"["+MID$(STR$(Y),2)+":"+MID$(STR$(X),2)+"H"
10 PRINT ".";:NEXT X:PRINT:NEXT Y
RUN
.............................
?OS ERROR IN 9
OK
The version of BASIC that I used above was CoCo Color BASIC 1.2 / Extended BASIC 1.1. I also tried it on a Dragon 32 (real machine) and got exactly the same error at the same point (the Dragon is virtually a clone of the CoCo, but I wanted to make sure my ROM mods hadn't affected anything).
So, it isn't just this version that has problems - other versions may be worse.
To get the above working on the 6809 I had to reserve some space, so I typed "CLEAR 15000" before running - much better, and run to end the same way as on the UK101 - pausing occasionally then resuming.
So, there appears not to be an "error" with the UK101 BASIC, merely an inefficient way of doing the grabage collection which existed in later versions of Microsoft BASIC as well.
Grant.