
c ya,
nco2k
Well the GCFortran project is pretty old but it was possible to write a bootable OS for the Nintendo GameCube with it. I don't think it could be used on embedded systems but that is mainly because my goal was to do something else. The GCFortran compiler compiled fast and small executables. I was even able to make a import game enabler with only 70 lines of code and a executable size of 15Kb making it possible to be incorporated into Mentalcube's Cobra BIOS too for the ViperGC. ^o^Vin wrote:That sounds pretty cool, Irene, but...
Consider these things when labeling a language a systems development language: Can you create a bootable OS with it alone? Can you use it for Emedded Systems? Does it produce fast, small compact code that require minimal RAM and CPU usage? I'm not saying poorly written C++ can't take up all the RAM and CPU usage available but I am talking about ability. For example, C\C++ would be used for developing embedded systems (like a car computer or a cell phone) where RAM and CPU speed is highly limited. I wouldn't label Fortran as being able to fulfill all those needs. This doesn't mean a language can't be used for directly accessing hardware. PureBasic can do this.
Aww, I forgot Fortran. But at the time C became popular Fortran 77 was still the version in use, which uses a fixed column formatting. No wonder why C became popular.Irene wrote:Sure there are. Me and some friends (mostly guys if you're curious ^o^) ported GNU Fortran to the Nintendo GameCube way back in 2002 or so.. It wasn't pretty usable but we did get a fully functional SD card manager done to be used in conjuction with an SD Gecko. O_OTrond wrote:I wouldn't call it the language of "choice" because there's really no other choices if you want to do those things...Vin wrote:C and C++ are still the languages of choice for system's applications (inc. OS development) and embedded systems.
PS: Do I sound too geeky here? I hope not ^_^
Then, you were 13 years old!!!.... Awesome!!!... and that age I onlyIrene wrote:Me and some friends (mostly guys if you're curious ^o^) ported GNU Fortran to the Nintendo GameCube way back in 2002 or so.. It wasn't pretty usable but we did get a fully functional SD card manager done to be used in conjuction with an SD Gecko. O_O
PS: Do I sound too geeky here? I hope not ^_^
Hahaha ^o^chen wrote:Then, you were 13 years old!!!.... Awesome!!!... and that age I onlyIrene wrote:Me and some friends (mostly guys if you're curious ^o^) ported GNU Fortran to the Nintendo GameCube way back in 2002 or so.. It wasn't pretty usable but we did get a fully functional SD card manager done to be used in conjuction with an SD Gecko. O_O
PS: Do I sound too geeky here? I hope not ^_^
wanted to play soccer with my friends :lol:
(page 2, excuse me...)r_hyde wrote:Wow, how'd I ever miss that? That'll sure come in handy!Trond wrote:But you don't need Peek/Poke. Just use a variable called *Pointer.LONG. *Pointer is the pointer and *Pointer\l is the value.
Code: Select all
; By Ollivier
Structure PITCH
X.L[1024]
EndStructure
Structure BUFFER
Y.PITCH[768]
EndStructure
InitSprite()
InitKeyboard()
InitMouse()
Dim _Cos(511)
Dim _Sin(511)
For i = 0 To 511
Angle.F = i * #PI / 256.0
_Cos(i) = Cos(Angle) * 200.0
_Sin(i) = Sin(Angle) * 200.0
Next
Dim *Buff(1)
OpenScreen(1024, 768, 32, "")
StartDrawing(ScreenOutput() )
*Buff(0) = DrawingBuffer()
StopDrawing()
FlipBuffers()
StartDrawing(ScreenOutput() )
*Buff(1) = DrawingBuffer()
StopDrawing()
CX = 512
CY = 384
Repeat
Delay(20)
ExamineMouse()
MDX = MouseDeltaX()
MDY = MouseDeltaY()
If MDX Or MDY Or 1
CX + MDX
CY + MDY
ClearScreen(0)
StartDrawing(ScreenOutput() )
FlipBuffer = 1 - FlipBuffer
*Buffer.BUFFER = *Buff(FlipBuffer)
For i = 0 To 255
p = i
p + n
p & 511
For j = 0 To 511 - 7 Step 8
k = j
k + m
X = CX + _Cos(p)
Y = CY + _Sin(p)
X + _Cos(k) >> 1
Y + _Sin(k) >> 1
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
X & 1023 ; Sécurity #1
If (Y <= 767) And (Y => 0) ; Security #2
*Buffer\Y[Y]\X[X] = $FFFFFF ; =Plot/Point
EndIf
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Next
Next
m + 1
m & 7
n - 1
n & 511
StopDrawing()
FlipBuffers()
EndIf
ExamineKeyboard()
Until KeyboardPushed(#PB_Key_Escape)
CloseScreen()