Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 17:49 22 Nov 2024 Privacy Policy
Jump to

Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.

Forum Index : Microcontroller and PC projects : Maximite test ver 2.4A - with EDITING

     Page 2 of 2    
Author Message
sparkey

Senior Member

Joined: 15/06/2011
Location: Australia
Posts: 819
Posted: 08:45pm 26 Jun 2011
Copy link to clipboard 
Print this post

tried out all those commands bu not "peek and poke" but i did try the "poke0,0,0" its alittle like a reboot ....and it also resets the time...regards...thanks
technicians do it with least resistance
 
BobDevries

Senior Member

Joined: 08/06/2011
Location: Australia
Posts: 266
Posted: 02:54am 27 Jun 2011
Copy link to clipboard 
Print this post

Hmm,

some useless trivia (yeah, I got nothin better to do :P )

It takes 5822 mSec to PEEK every location on the screen.

10 B=TIMER
20 FOR X=&HD250 to &HFFFF
30 A=PEEK(&HA000,X)
40 NEXT X
50 FOR X=0 to &H378F
60 A=PEEK(&HA001,X)
70 NEXT X
80 C=TIMER
90 PRINT "Elapsed time =";C-B;" mSec"

regards,

Bob Devries
Dalby, QLD, Australia
 
Geoffg

Guru

Joined: 06/06/2011
Location: Australia
Posts: 3194
Posted: 07:04am 27 Jun 2011
Copy link to clipboard 
Print this post

  BobDevries said   It takes 5822 mSec to PEEK every location on the screen.


We started off with PIXEL() taking a minute or more to process the video screen. Now PEEK() improves it to 6 seconds. But the message is, don't expect anything faster.

This is one of the issues of trying to do machine level work with an interpreted BASIC language. BASIC might have a heap of good features but speed is not one of them. If you want speed then you must dust off your C compiler, there is no other way to do it.

I expect that this will also be an issue when I try to implement serial, I2C, etc. An interpreted BASIC program will be hard pressed to process data transmitted at high speed and could easily lose data, even with a lot of buffering.

There is talk of an Ethernet module communicating over a serial link to MMBasic. Ethernet can receive at up to 70MB/sec, serial might be able to transfer that data at 10KB/sec but MMBasic might be only able to process the data at a fraction of that rate (depending on what is required). The result could be a lot of lost data unless the Ethernet module can do most of the work.

The moral is: Don't expect speed from interpreted BASIC, that is not what it is for.

Geoff
Geoff Graham - http://geoffg.net
 
Nick

Guru

Joined: 09/06/2011
Location: Australia
Posts: 512
Posted: 08:13am 27 Jun 2011
Copy link to clipboard 
Print this post

I know I keep harking the benefits of a Programmable Character Set, so here's a little experiment you can do to help those who don't understand what I'm saying.

Going by what Bob has shown us, it takes 5822 mSec to do a full peek of the screen. This is much better than what PSET can do (replace PEEK with POKE and throw 255 at every location for a full screen whiteout maybe?).

For this test, let's assume we are able to reprogram the "#" to be a full solid block.

The following program fills the screen with "solid white" (remember to assume # is a solid block).

10 B=TIMER
20 FOR X=1 TO 36
30 PRINT STRING$(80,"#")
40 NEXT X
50 PRINT TIMER-B

I get 353 mSec (firmware 2.4A)

As you can see, a lot faster.

But this is not a good test since LINE (0,0)-(480,432),1,BF will do it faster.

But imagine you needed to display some custom graphics (with borders, rounded corners, special characters), even filling the screen for arguments sake, the speed will not be too much slower than this.

Programmable Characters is a fast and low memory way of implementing detailed high resolution displays.

 
sparkey

Senior Member

Joined: 15/06/2011
Location: Australia
Posts: 819
Posted: 08:22am 27 Jun 2011
Copy link to clipboard 
Print this post

when i use ver i get this <2.0401> in your notes you refer to these digits representing letters...a little confused...thank you...
technicians do it with least resistance
 
VK6MRG

Guru

Joined: 08/06/2011
Location: Australia
Posts: 347
Posted: 08:35am 27 Jun 2011
Copy link to clipboard 
Print this post

Very straight forward. "The read only variable MM.VER returns the version number of the firmware in the form aa.bbcc where aa is the major version number, bb is the minor version number and cc is the revision number (normally zero but A = 01, B = 02, etc)."
(2.0401) = VER 2.4, Revision 01. = VER 2.4A
Its easier to ask forgiveness than to seek permission!

............VK6MRG.............VK3MGR............
 
rhamer
Senior Member

Joined: 06/06/2011
Location: Australia
Posts: 174
Posted: 09:02am 27 Jun 2011
Copy link to clipboard 
Print this post

  Geoffg said  
There is talk of an Ethernet module communicating over a serial link to MMBasic. Ethernet can receive at up to 70MB/sec, serial might be able to transfer that data at 10KB/sec but MMBasic might be only able to process the data at a fraction of that rate (depending on what is required). The result could be a lot of lost data unless the Ethernet module can do most of the work.Geoff


The Ethernet module (or at least my one) is specifically designed as a serial to Ethernet adaptor, and handles the throttling of data it's self. The serial port that connects to the Maximite is set to a baud rate that matches the Maximite and limits communication to that speed. It has some internal buffering, but ultimately the sending device will be limited to the same speed through the implementation of the virtual com port at the other end.

I also support hardware flow control, so it would be possible (from my perspective) for the Maximite to use another I/O pin to throttle the data.

Personally I will be happy with serial comms at almost any speed, even if it is capped at 1200bps (approx 0.12kb/s) or even lower. To me it's about remotely communicating small bursts of data over a convienient infrastructure, not pumping high speed data at it.

Regards

Rohan
Rohan Hamer
HAMFIELD Software & Hardware Solutions

Makers of the Maximite Expander.

http://www.hamfield.com.au
 
sparkey

Senior Member

Joined: 15/06/2011
Location: Australia
Posts: 819
Posted: 09:17am 27 Jun 2011
Copy link to clipboard 
Print this post

sorry if a little behind with this question ...would it be possable to connect a printer via the usb port ...or hav i just missed out on somethig that i dont know yet...thankyou..
technicians do it with least resistance
 
stuarts

Senior Member

Joined: 15/06/2011
Location: Australia
Posts: 199
Posted: 04:21pm 27 Jun 2011
Copy link to clipboard 
Print this post

Sparkey, at this point the USB is not a host port but a guest port. This means it is like a printer to the PC its connected to. I suspect that with a rewrite of the firmware it could be used as a printer port, but then you run into the problem that most printers these days are designed to be connected to a PC which sends all output to the printer using a high level printer language.
Its not like the old days when you just sent text to a printer. It would be asking way to much of the Maximite to be able to talk to any USB printer as there is very little common between them in terms of the printer language used between brands.

Stuart

Time is nature's way of keeping everything from happening all at once.
 
Gadget
Regular Member

Joined: 22/06/2011
Location: Australia
Posts: 70
Posted: 12:46pm 29 Jun 2011
Copy link to clipboard 
Print this post



"It takes 5822 mSec to PEEK every location on the screen."


i did my own peek function and shaved 200msec off this


Terry

I must be bored if this is what I'm doing
 
     Page 2 of 2    
Print this page


To reply to this topic, you need to log in.

© JAQ Software 2024