Tudtad-e, hogy...

Infó érettségin újul a programozás...

... avagy tervezett elvi változtatások az emelt szintű informatika érettségi programozás moduljában.

Az emelt szintű informatika érettségi programozás feladatához kapcsolódó változtatások vannak tervben, egyelőre hivatalos bejelentés nincs, de az információk kb. 98%-os megbízhatóságúak. A programozási nyelvek [és környezetek] fognak változni a következő módon:

Az aktuális lista:
- Turbo Pascal 7.0, FreePascal 2.0
- Delphi 6.0 Personal Edition
- Turbo Delphi 2006 Explorer
- Borland C++ Builder 6 Pro
- Turbo C++ Explorer
- Dev-C++ 5 Beta 9.2 (4.9.9.2) with Mingw/GCC 3.4.2
- MS Visual C# 2008 Express
- MS Visual Basic 6
- MS Visual Basic 2008 Express
- MS Visual Studio 2008 Professional Edition

Változtatások a közeljövőben (a 2009-2010 tanévtől, már az októberi érettségi vizsgaidőszaktól):
A Pascalból csak a FreePascal marad, az is csak egy évig, aztán teljesen kikerül. Borland Delphi 6.0 Personal Edition megszűnik, Turbo Delphi marad, azzal kell barátkozni. C++ marad, MS Visual mindenestül szintén, tervezik, hogy bekerüljön a java (és nem javascript!), a pearl és a python, és idővel [pár év múlva] a C++ környezetek mindegyikét C-re cserélnék.

innen, tőlem: , de talán megér egy külön fórumtémát...

Szoftverfejlesztési szerződés paraméterek

Sziasztok!

Őszintén szólva nem igazán tudom, hogy melyik topicba kellene ezt rakni, de offtopic-ba nem akartam, mert igazából nem az.

Az lenne a kérdésem, hogy mire kell figyelni egy szoftverfejlesztési szerződés megírásánál? (A fejlesztő szemszögéből elsősorban)

Ilyenekre gondolok, mint:

Mi számít hibának, bugnak?
Mi számít RFC-nek?
Mire vonatkozik a garancia?
stb...

Jöhetnek sztorik is, ha valaki megszívta valamivel a múltban.

Köszi a segítséget!

Hello.asm

Bocs a hosszú postért, de a téma megkívánja. Hello World Z80-ra, Assemblyben. Érdemes a kommentet elolvasni az elején :)

; This is a "Hello World" program for Z80 and TMS9918 / TMS9928 / TMS9929 /
; V9938 or V9958 VDP.
; That means that this should work on SVI, MSX, Colecovision, Memotech,
; and many other Z80 based home computers or game consoles.
;
; Because we don't know what system is used, we don't know where RAM
; is, so we can't use stack in this program.
;
; This version of Hello World was written by Timo "NYYRIKKI" Soilamaa
; 17.10.2001
;
;----------------------------------------------------------------------
; Configure this part:

DATAP: EQU #98 ; VDP Data port #98 works on all MSX models
; (TMS9918/TMS9929/V9938 or V9958)
; #80 works on SVI
; (for other platforms you have to figure this out by your self)

CMDP: EQU #99 ; VDP Command port #99 works on all MSX models
; (TMS9918/TMS9929/V9938 or V9958)
; #81 works on SVI
; (for other platforms you have to figure this out by your self)
;-----------------------------------------------------------------------
; Program starts here:

ORG 0 ; Z80 starts always from here when power is turned on
DI ; We don't know, how interrupts works in this system, so we disable them.

; Let's set VDP write address to #0000
XOR A
OUT (CMDP),A
LD A,#40
OUT (CMDP),A

; Now let's clear first 16Kb of VDP memory
LD B,0
LD HL,#3FFF
LD C,DATAP
CLEAR:
OUT (C),B
DEC HL
LD A,H
OR L
NOP ; Let's wait 8 clock cycles just in case VDP is not quick enough.
NOP
JR NZ,CLEAR

; Now it is time to set up VDP registers:
;----------------------------------------
; Register 0 to #0
;
; Set mode selection bit M3 (maybe also M4 & M5) to zero and
; disable external video & horizontal interrupt
LD C,CMDP
LD E,#80

OUT (C),A
OUT (C),E
;----------------------------------------
; Register 1 to #50
;
; Select 40 column mode, enable screen and disable vertical interrupt

LD A,#50
INC E
OUT (C),A
OUT (C),E
;----------------------------------------
; Register 2 to #0
;
; Set pattern name table to #0000

XOR A
INC E
OUT (C),A
OUT (C),E
;----------------------------------------
; Register 3 is ignored as 40 column mode does not need color table
;
INC E
;----------------------------------------
; Register 4 to #1
; Set pattern generator table to #800

INC A
INC E

OUT (C),A
OUT (C),E
;----------------------------------------
; Registers 5 (Sprite attribute) & 6 (Sprite pattern) are ignored
; as 40 column mode does not have sprites

INC E
INC E
;----------------------------------------
; Register 7 to #F0
; Set colors to white on black

LD A,#F0
INC E
OUT (C),A
OUT (C),E
;----------------------------------------

; Let's set VDP write address to #808 so, that we can write
; character set to memory
; (No need to write SPACE it is clear char already)
LD A,8
OUT (C),A
LD A,#48
OUT (C),A

; Let's copy character set
LD HL,CHARS
LD B, CHARS_END-CHARS
COPYCHARS:
LD A,(HL)
OUT (DATAP),A
INC HL
NOP ; Let's wait 8 clock cycles just in case VDP is not quick enough.
NOP
DJNZ COPYCHARS

; Let's set write address to start of name table
XOR A
OUT (C),A
LD A,#40
OUT (C),A

; Let's put characters to screen
LD HL,ORDER
LD B,ORDER_END-ORDER
COPYORDER:
LD A,(HL)
OUT (DATAP),A
INC HL

JR OVERNMI
NOP
NOP

; Here is address #66, that is entry for NMI
RETN ;Return from NMI

OVERNMI:
DJNZ COPYORDER

; The end
HALT

; Character set:
; --------------
ORDER:
DEFB 1,2,3,3,4,0,5,4,6,3,7
ORDER_END:

CHARS:

; H
DEFB %10001000
DEFB %10001000
DEFB %10001000
DEFB %11111000
DEFB %10001000
DEFB %10001000
DEFB %10001000
DEFB %00000000
; e
DEFB %00000000
DEFB %00000000
DEFB %01110000
DEFB %10001000
DEFB %11111000
DEFB %10000000
DEFB %01110000
DEFB %00000000
; l
DEFB %01100000
DEFB %00100000
DEFB %00100000
DEFB %00100000
DEFB %00100000
DEFB %00100000
DEFB %01110000
DEFB %00000000
; o
DEFB %00000000
DEFB %00000000
DEFB %01110000
DEFB %10001000
DEFB %10001000
DEFB %10001000
DEFB %01110000
DEFB %00000000
; W
DEFB %10001000
DEFB %10001000
DEFB %10001000
DEFB %10101000
DEFB %10101000
DEFB %11011000
DEFB %10001000
DEFB %00000000

; r
DEFB %00000000
DEFB %00000000
DEFB %10110000
DEFB %11001000
DEFB %10000000
DEFB %10000000
DEFB %10000000
DEFB %00000000
; d
DEFB %00001000
DEFB %00001000
DEFB %01101000
DEFB %10011000
DEFB %10001000
DEFB %10011000
DEFB %01101000
DEFB %00000000
chars_end: