Entries Tagged 'nerdy' ↓

Calcolo integrale the old way

Fonte

5 REM RICHIEDE UN COMMODORE 16 O PLUS 4
10 DEF FN F(X) = 3*X + 5*X*X - SIN(X)
20 PRINT "INTEGRAZIONE CON METODO DI SIMPSON"
30 PRINT "ESTREMO A"
40 INPUT A
50 PRINT "ESTREMO B"
60 INPUT B
70 PRINT "SUDDIVISIONI"
80 INPUT N%
90 PRINT "ATTENDERE PREGO..."
100 N% = N% * 2
110 H = (B-A) / N%
120 I% = 1
130 S = FNF(A)
140 DO WHILE I% < N%
150 X = A + H * I%
160 S = S + 4 * FNF(X)
170 I% = I% + 2
180 LOOP
190 I% = 2 : N1% = N% - 1
200 DO WHILE I% < N1%
210 X = A + H * I%
220 S = S + 2 * FNF(X)
230 I% = I% + 2
240 LOOP
250 S = S + FNF(B)
260 F = H * S / 3
270 PRINT "INTEGRALE DA ";A;" A ";B;" = ";F

La notte porta consiglio, ma anche no

Se completassi questo emulatore che ho iniziato la settimana scorsa?

void Machine::init()
{
	if (m_memoryMap == 0)
		m_memoryMap = new MemoryMap();

	if (m_cpu == 0)
		m_cpu = new Cpu();

	m_name = "Kim-1";

	m_cpu->setAddressBus(&m_addressBus);
	m_cpu->setDataBus(&m_dataBus);

	reset();
}

Un Engine per domarli, un Engine per trovarli, ecc…

Stavolta ho superato me stesso…


int main(int argc, char *argv[])
{
	using namespace engine;
	using namespace engine::graphics;
	using namespace engine::platform;

	Platform * myPlatform = new Platform();
	myPlatform->init();

	Display * display = myPlatform->getGraphicsDevice()->getDisplay(0);

	FixedSprite * testSprite = new FixedSprite("data\\prova.bmp");
	testSprite->setPosition(Vec2f(30, 30));

	Renderer * myRenderer = new Renderer();

	myRenderer->setDisplay(display);

	Entity2DTree * entityTree = new Entity2DTree(testSprite);

	myRenderer->draw(entityTree);
	myRenderer->update(1.0f);

	myPlatform->getCommon()->delay(1000);

	return 0;
}

Questo codice gira senza modifiche su una decina di sistemi operativi diversi, producendo…

questo:

Sviluppo in corso

Un’immagine vale più di mille parole… enjoy!

Smanettando smanettando…

Sto testando la mia postazione MorphOS 2.7

– PowerMac 3,3
– CPU IBM 7400 G4 a 400MHz
– Ram 768 MB
– HD 40GB
– VGA Ati Radeon 9000 Pro 64MB Mac Edition

Per il test sto ricompilando Quake 3 Arena. La velocità di compilazione sembra buona.

Appena avrò sistemato l’ambiente di build (non trova -ldl) inizierò a  smanettare un po’ sul codice, per vedere come MorphOS gestisce il context di OpenGL. Credo che Gcc 2.95 gli faccia schifo… Riprovo con Gcc 4.4.

In questo modo dovrei farmi un’idea grossolana di quello che occorrerà per innestare nel mio engine il supporto a MOS.

Stay tuned…

EDIT: Ho scoperto dov’era nascosta la libdl 😀 Mr. Bigfoot ne teneva una copia sul suo server…. grazie Mark :-)