Micro UK101 Build
micro_brain wrote:
[
Would anyone with an 8k BASIC installation care to try this out?
It should print 24 rows of dots on the screen, each 71 chars long.
Would anyone with an 8k BASIC installation care to try this out?
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
Still, I entered your code and it runs fine if I configure the emulator to run with 32KBytes of RAM on start up. However, if I tell the machine that it's an 8K RAM box then I just get to see 13 '.'s followed by an 'ERROR IN 9' message and a return to BASIC.
Code: Select all
Micro UK101 C/W/M?
MEMORY SIZE? 8192
TERMINAL WIDTH? 64
7423 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
.............
?OÍ ERROR IN 9
OK
bye
Rich
Rich
I don't suppose you could give it a spin with the OSI "fixed" ROMs as mentioned here could you?
micro_brain actually has a composite, I think, where only ROM3 is from OSI and the other ROMs are compukit.
Ed
(Edit: I notice the fixed ROM is credited to "Ed" - but that's not me!)
I don't suppose you could give it a spin with the OSI "fixed" ROMs as mentioned here could you?
micro_brain actually has a composite, I think, where only ROM3 is from OSI and the other ROMs are compukit.
Ed
(Edit: I notice the fixed ROM is credited to "Ed" - but that's not me!)
Ed, all
Just tried with the BASIC3.rom replaced from the basfix02.zip file in your link.
Again, configuring as a 8KByte RAM machine the program fails and shows just 11 '.'s - so that looks like the same number of outer loop iterations that Micro_brain was seeing in hardware. The emulator returns to BASIC ok though:
Configuring as a 32KByte RAM machine the program runs fine .
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.
The 16KByte run goes a lot slower than the 32KByte one. Both 'stutter' printing out lots of '.' and then pausing sporadically before continuing. The 16KByte one pauses a lot more often and eventually fails, so something related to garbage collection looks like a very likely culprit here.
Rich
Just tried with the BASIC3.rom replaced from the basfix02.zip file in your link.
Again, configuring as a 8KByte RAM machine the program fails and shows just 11 '.'s - so that looks like the same number of outer loop iterations that Micro_brain was seeing in hardware. The emulator returns to BASIC ok though:
Code: Select all
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
...........
?OÍ ERROR IN 9
OK
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.
The 16KByte run goes a lot slower than the 32KByte one. Both 'stutter' printing out lots of '.' and then pausing sporadically before continuing. The 16KByte one pauses a lot more often and eventually fails, so something related to garbage collection looks like a very likely culprit here.
Rich
-
micro_brain
- Posts: 85
- Joined: 31 Mar 2011
Well, I do wonder how much memory BASIC is allocating for each of the elements of CL$. Considering they only need 7 or 8 bytes each, it's likely that the DIM is a pretty greedy statement.
Being a UK101 of Grant's design, it has 32k of RAM (well, 31999 bytes to be precise). Ed's correct in his assumption that I hacked the OSI fix into the UK101 ROM that Grant supplied. Seems to work better than before, but like I said, it doesn't complete the outer loop.
Clearly all the stuttering is garbage collection going on at odd times.
I'd really love to have a C interpreter or dev environment on here, it'd give me much more control... In the meantime if anyone has an EhBasic ROM for the UK101 that'd be great. I can't quite work out how to get Lee's source working here (see my other thread in EhBASIC forum).
@Ed : Oh by the way, I scored a Beeb off ebay, but it was DOA. Power supply's chopper transformer is dead
and I paid over the odds for it 'cause the seller said it'd been carefully looked after and worked. However he was very nice and refunded most of the money, so I have here another little project to get up & running. New transistor ordered, but in the meantime I've hooked up a 5v power supply to the board and it seems to be OK. Whey hey! Bargain.... 
Being a UK101 of Grant's design, it has 32k of RAM (well, 31999 bytes to be precise). Ed's correct in his assumption that I hacked the OSI fix into the UK101 ROM that Grant supplied. Seems to work better than before, but like I said, it doesn't complete the outer loop.
Clearly all the stuttering is garbage collection going on at odd times.
I'd really love to have a C interpreter or dev environment on here, it'd give me much more control... In the meantime if anyone has an EhBasic ROM for the UK101 that'd be great. I can't quite work out how to get Lee's source working here (see my other thread in EhBASIC forum).
@Ed : Oh by the way, I scored a Beeb off ebay, but it was DOA. Power supply's chopper transformer is dead
I built one of these a couple of years back. I can pull it out and test the program.
BTW, do not know if you solved your save and load yet, but 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.
BTW, do not know if you solved your save and load yet, but 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.
Bill
Okay,
Ran This
It stops at the 13th dot of the 12th line with X=13 and Y=11.
Ran This
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
Bill
-
micro_brain
- Posts: 85
- Joined: 31 Mar 2011
BillO wrote:
I built one of these a couple of years back. I can pull it out and test the program.
BTW, do not know if you solved your save and load yet, but 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.
BTW, do not know if you solved your save and load yet, but 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.
- BigDumbDinosaur
- Posts: 9427
- Joined: 28 May 2009
- Location: Midwestern USA (JB Pritzker’s dystopia)
- Contact:
micro_brain wrote:
Hyper Terminal... isn't that for one of those quaint old PCs?
x86? We ain't got no x86. We don't NEED no stinking x86!
micro_brain wrote:
Hyper Terminal... isn't that for one of those quaint old PCs?

Bill
-
micro_brain
- Posts: 85
- Joined: 31 Mar 2011
Yep, I've a PC running XP for much the same reason. I have just installed XP on my Mac under VMWare and I was very happy to discover that the cheap Chinese EEPROM burner works with it, so I reckon I should be able to ditch all the PC hardware. All my PCs are old, bulky, obsolete, slow and noisy anyway (plus they don't have much memory).
-
micro_brain
- Posts: 85
- Joined: 31 Mar 2011
IDENTITY CHANGE
Guys, I am going to start using a new identity on 6502.org. From now on, I will be using the forum account "jonb" as it seems better than "micro_brain" (dunno why I chose that one..).
Cheers
JonB
Cheers
JonB